Auto Scaling グループを使用して Amazon ECS クラスターを手動で起動した場合、Amazon Elastic Container Service (Amazon ECS) コンテナインスタンスで使用可能なディスク容量を増やすにはどうすればよいですか?
簡単な説明
コンテナインスタンスのストレージ容量を増やすには、起動設定または起動テンプレートを更新して、Amazon Elastic Block Store (Amazon EBS) のボリュームサイズを増やす必要があります。次に、元のインスタンスを Auto Scaling グループの新しいインスタンスに置き換えます。
この方法でコンテナインスタンスのストレージ容量を増やすには、以下の手順を実行します。別の方法を使用してコンテナインスタンスを起動した場合は、この記事をスキップして、以下のいずれかの記事にある手順を完了してください。
注意: Amazon EBS ボリューム設定は、使用している Amazon ECS に最適化された Amazon マシンイメージ (AMI) によって異なります。インスタンスで使用可能なディスク容量を確認する方法の詳細とコマンドについては、AMI ストレージ設定を参照してください。
重要: 以下の手順は、Amazon ECS クラスター内の元のコンテナインスタンスを終了します。これらのインスタンスの EBS ボリュームに保存されたデータは、これらの手順を完了すると失われます。
解決方法
重要: Amazon ECS サービスのダウンタイムを回避するには、元のコンテナインスタンスをドレインする前に置換用インスタンスを起動する必要があります。元のコンテナインスタンスですべてのタスクが停止したら、置換用インスタンスのタスクが開始したことを確認してから、元のコンテナインスタンスを終了します。
まず、起動テンプレートまたは起動設定のいずれかを使用して Auto Scaling グループを作成します。
**注意:**Amazon Elastic Compute Cloud (Amazon EC2) の最新機能を使用するには、設定の代わりに起動テンプレートを使用するのがベストプラクティスです。
(オプション 1) 起動テンプレートから新しい Auto Scaling グループを作成する
1. Amazon EC2 コンソールを開きます。
2. ナビゲーションペインで、[Auto Scaling Groups] を選択します。[Launch template/configuration] 列で、ディスク容量を増やす任意の ECS コンテナインスタンスの起動テンプレートの名前を書き留めます。
3. ナビゲーションペインで、[Launch Templates] を選択します。
4. 既存の ECS コンテナインスタンスの起動テンプレートを選択し、[Actions] を選択し、[Modify template (Create new version)] を選択します。
5. [Storage (volumes)] で、EBS ボリュームの詳細を展開し、[Size (GiB)] に値を入力します。
注意: ボリュームオプションの詳細については、ブロックデバイスマッピングを参照してください。
6. [Create template version] を選択します。
7. テンプレートの [Create an Auto Scaling group] で [Create Auto Scaling group] を選択します。
8. Auto Scaling グループを作成するときは、テンプレートの新しいバージョンを使用していることを確認してください。
9. 新しいインスタンスが起動したら、Amazon ECS コンソールを開いて、[Clusters] を選択します。
10. 新しいインスタンスが表示されることを確認するには、クラスターを選択し、[ECS Instances] タブを選択します。
(オプション 2) 元の起動設定から新しい Auto Scaling グループを作成する
1. Amazon EC2 コンソールを開きます。
2. ナビゲーションペインで、[Auto Scaling Groups] を選択します。[Launch template/configuration] 列で、ディスク容量を増やす任意の ECS コンテナインスタンスの起動テンプレート/設定の名前をメモします。
3. ナビゲーションペインで、[Launch Configurations] を選択します。
4. 既存の ECS コンテナインスタンスの起動設定を選択し、[Actions]、[Copy launch configuration] の順に選択します。
5. ボリュームのサイズを増やすには、[Size(GiB)] に値を入力します。
注意: ボリュームオプションの詳細については、ブロックデバイスマッピングを参照してください。
6. [Create launch configuration] を選択します。
7. 新しく作成した起動設定を選択し、[Actions] を選択します。次に [Create Auto Scaling group] を選択します。
8. 新しいインスタンスが起動したら、Amazon ECS コンソールを開いて、[Clusters] を選択します。
9. 新しいインスタンスが表示されることを確認するには、クラスターを選択し、[ECS Instances] タブを選択します。
元の ECS コンテナインスタンスをドレインし、コンテナを新しいインスタンスに移行する
1. Amazon ECS コンソールを開きます。
2. [ECS Instances] タブを選択し、元のコンテナインスタンスを選択します。
3. [Actions]、[Drain Instances] の順に選択します。
注意: Amazon ECS サービスのダウンタイムを回避するために、以前のインスタンスをバッチでドレインできます。コンテナインスタンスのサービスタスクをドレインすると、RUNNING 状態のコンテナインスタンスは停止され、サービスのデプロイ設定パラメータ minimumHealthyPercent および maximumPercent に従って置き換えられます。サービスに属していない PENDING または RUNNING 状態のタスクは影響を受けません。これらのタスクが終了するのを待つか、手動で停止する必要があります。
4. DRAINING インスタンスで実行中のタスクが 0 になったら、元のすべてのコンテナインスタンスが DRAINING ステータスになるまで、手順 2 と 3 を繰り返します。
5. 元の Auto Scaling グループを削除して、元のインスタンスを終了します。
6. これで、新しいインスタンスでタスクが実行され、使用可能なストレージが増えます。
関連情報
コンテナインスタンスのドレイン
タスクでのデータボリュームの使用