2016-05-16 19 views
1

EC2インスタンスのユーザーデータを変更/更新したいとします。これは、自動拡張クラスタに接続されています。自動スケーリンググループのEC2インスタンスのユーザーデータを更新する


私は、インスタンスがuser-dataが更新される前にstoppedにする必要があることを理解しています。私が直面している問題は、インスタンスを停止して更新する場合です。user-data自動スケーラが自動的に新しいインスタンスをバックアップします。


自動スケーリンググループからEC2インスタンスを削除せずにuser-dataを更新する方法はありますか?

答えて

7

自動拡張グループのインスタンスでは、新しいユーザーデータを使用して新しいlaunch configurationを作成することによって、ユーザーデータが更新されます。

オートスケーリンググループは、既に起動設定に関連付けられている必要があります。既存のすべてのオプションを複製するAWS Webコンソールから起動設定をコピーする簡単なオプションがあります。新しい構成を保存する前に、この起動構成を見つけてコピーしてから、古いユーザーデータを置き換えてください。

enter image description here

新しい起動構成が作成されたら、あなたの自動スケーリンググループに適用します。新しいインスタンス(およびホストされているアプリケーション)が正常に動作していることを確認したら、新しい構成で新しいインスタンスを起動するグループの希望のサイズを増やし、次にdetach the old instanceをすぐに使用して開始することができます。

同様に、この方法を使用して、アプリケーションを中断させることなく、起動設定のプロパティを変更することができます。

さらに資源:

0

唯一の方法はこれを達成することができ、AWS SDKを使用して、プログラムの呼び出しを使用して、一時的に自動スケーリング無効にすることです。 自動スケーリングが無効になった後でサーバーを再起動できます。

(ノードAPI http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/AutoScaling.html#suspendProcesses-property

+3

、これはOPの当面の問題を解決することは事実であるが、これは自動スケーリンググループは、インスタンスは永続的ではないことを期待して存在していることが大きな画像をミス。 OPは、インスタンスが循環された後、再び古いユーザーデータで終了します。この方法でsuspendProcessesを使用してAutoScalingグループ内の単一のインスタンスに設定を微調整すると、インスタンスが循環しているときに問題をトラブルシューティングするのが難しくなり、一般的にトラブルが発生する可能性があります。 –

+0

合意しました。インスタンスが一時的であることに同意します。私はちょうどあなたがこれを行う方法があると言っています。 Opのケースでインスタンスが本当に捨てられるかどうかは決して分かりません。 – Shibashis

関連する問題