Amazon ECS でコンテナインスタンスタイプを変更する方法を教えてください。

最終更新日: 2019 年 7 月 23 日

Amazon Elastic Container Service (Amazon ECS) クラスターのコンテナインスタンスタイプを変更する方法を教えてください。

簡単な説明

コンテナインスタンスタイプを変更するには、次のいずれかのセクションの手順を実行します。

  • AWS CloudFormation スタックを介して ECS クラスターで起動したコンテナインスタンスを更新する
  • ECS クラスターで手動で起動したコンテナインスタンスを更新する

解決方法

AWS CloudFormation スタックを介して ECS クラスターで起動したコンテナインスタンスを更新する

重要: 以下の手順は、基盤となる AWS CloudFormation スタックを内部的に作成するリソースを使用して作成された ECS クラスターにのみ適用されます。スタック名は次の形式になります。EC2ContainerService-yourClusterName。これらの手順は、空の ECS クラスターや、コンテナインスタンスをプロビジョニングするためのカスタマイズされたアプローチには適用されません。

次のように、AWS CloudFormation スタックの EcsInstanceType パラメータの値を更新します。

  1. [AWS CloudFormation コンソール] を開きます。
  2. ECS クラスターを含むスタックを選択します。
    注: クラスター名はスタック名の最後に追加されます (たとえば、EC2ContainerService-yourClusterName)。
  3. [アクション] を選択してから [スタックの更新] をクリックします。
  4. [現在のテンプレートを使用] を選択してから、[次へ] をクリックします。
  5. [インスタンスタイプ] には、コンテナインスタンスの [インスタンスタイプ] に適切な値を設定し、[次へ] を選択します。
  6. [オプション] セクションをスキップし、[次へ] を選択してから [更新] をクリックします。

クラスター内の古いコンテナインスタンスを置き換えます。

  1. AWS CloudFormation スタックを更新するには、前のセクションの手順 1〜4 を実行します。
  2. [AsgMaxSize] には、現在のサイズの 2 倍のパラメータ値を入力してください。
    注: たとえば、現在の値が 2 の場合は、新しい値を 4 に設定します。これにより、インスタンスタイプを変更したときのダウンタイムを防ぐことができます。
  3. [Amazon ECS コンソール] を開きます。
  4. ナビゲーションペインで [クラスター] を選択してから、使用するクラスターを選択します。
  5. [ECS インスタンス] タブを選択してから、置き換える古いコンテナインスタンスのコンテナインスタンス ID を選択します。
    注: DeploymentConfiguration で置換タスクをコンテナインスタンスに配置できる場合、Amazon ECS は自動的に置換タスクを配置します。
  6. [アクション] メニューを選択してから、[インスタンスのドレイン] をクリックしてインスタンスをドレインします。
  7. [ECS インスタンス] タブで、古いコンテナインスタンスの実行中のタスク数0 であることを確認します。
  8. ナビゲーションペインで、[クラスター] をクリックしてから、クラスターを選択します。
  9. [ECS インスタンス] タブを選択し、古いコンテナインスタンスのコンテナインスタンス ID を選択してから、[登録解除] を選択します。
    注: インスタンスの登録を解除すると、そのインスタンスは Amazon ECS から削除されます。
  10. AWS CloudFormation テンプレートで、AsgMaxSize の値を元の値に設定して、古いコンテナインスタンスを終了します。
    重要: この手順では、Auto Scaling グループにデフォルトの終了ポリシーがあると仮定しています。

ECS クラスターで手動で起動したコンテナインスタンスを更新する

  1. Auto Scaling グループの起動設定をコピーしてから、新しい起動設定に名前を付けます。
  2. インスタンスタイプを変更します
  3. Amazon EC2 コンソールのナビゲーションペインの [Auto Scaling] セクションで、[Auto Scaling グループ] を選択します。次に、コンテナインスタンスの Auto Scaling グループを選択します。
  4. [アクション] を選択してから、[編集] をクリックします。
  5. ポップアップウィンドウの [起動設定] では、このセクションの手順 1 で作成した起動設定を選択します。
  6. [希望するキャパシティー] には、現在の値の 2 倍のサイズの値を入力し、必要に応じて最大の値を更新します。
    注: 希望するキャパシティーは、最小グループサイズと最大グループサイズの間でなければなりません。
  7. Amazon ECS コンソールのナビゲーションペインで、[クラスター] を選択してからクラスターを選択します。
  8. [ECS インスタンス] タブを選択して、置き換える古いコンテナインスタンスのコンテナインスタンス ID を選択します。
  9. [アクション] メニューを選択してから、[インスタンスのドレイン] をクリックしてインスタンスをドレインします。
  10. 古いコンテナインスタンスの [ECS インスタンス] タブで、実行中のタスク数0 であることを確認します。
  11. [ECS インスタンス] タブを選択し、古いコンテナインスタンスのコンテナインスタンス ID を選択してから、[登録解除] をクリックします。
    注: インスタンスの登録を解除すると、そのインスタンスは Amazon ECS から削除されます。
  12. Amazon EC2 コンソールのナビゲーションペインの [Auto Scaling] セクションで、[Auto Scaling グループ] を選択します。
  13. [アクション] を選択してから、[編集] をクリックします。
  14. Auto Scaling グループの設定で、希望するキャパシティーおよび最大を元の値に設定してから、変更内容を保存します。
    注: これにより、ECS クラスター内の古いコンテナインスタンスが終了します。 

この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合