Amazon Elastic Container Service (Amazon ECS) コンテナインスタンスで使用可能なディスク容量を増やしたいと考えています。Auto Scaling グループを使用して Amazon ECS クラスターを手動で起動しました。
簡単な説明
重要: 次の手順では、Amazon ECS クラスターの元のコンテナインスタンスを終了します。これらの手順を完了すると、Amazon Elastic Block Store (Amazon EBS) ボリュームに保存されている当該インスタンスのデータはすべて失われます。
コンテナインスタンスのストレージ容量を増やすには、起動設定または起動テンプレートを更新して、Amazon EBS のボリュームサイズを増やします。次に、元のインスタンスを Auto Scaling グループからの新しいインスタンスに置き換えます。
別の方法を使用してコンテナインスタンスを起動した場合は、次のいずれかの記事の手順を実行してください。
注: Amazon EBS ボリュームの設定は、使用する Amazon ECS に最適化された Amazon マシンイメージ (AMI) によって異なります。詳細については、「ストレージの設定」を参照してください。
解決策
重要: Amazon ECS サービスのダウンタイムを回避するには、元のコンテナインスタンスをドレインする前に代替インスタンスを起動します。元のコンテナインスタンスですべてのタスクが停止したら、代替インスタンスでタスクが開始されることを確認します。その後、元のコンテナインスタンスを終了します。
起動テンプレートを使用して Auto Scaling グループを作成します。次に、元の ECS コンテナインスタンスをドレインし、コンテナを新しいインスタンスに移行します。
注: Amazon Elastic Compute Cloud (Amazon EC2) の最新の機能を使用するには、設定ではなく起動テンプレートを使用することがベストプラクティスです。
起動テンプレートから新しい Auto Scaling グループを作成する
- Amazon EC2 コンソールを開きます。
- ナビゲーションペインで、[Auto Scaling グループ] を選択します。[起動テンプレート/設定] 列で、ディスク容量を増やす任意の ECS コンテナインスタンスの起動テンプレートの名前を書き留めます。
- ナビゲーションペインで、[起動テンプレート] を選択します。
- 既存の ECS コンテナインスタンスの起動テンプレートを選択し、[アクション] を選択し、[テンプレートを変更 (新しいバージョンを作成)] を選択します。
- [ストレージ (ボリューム)] で EBS ボリュームの詳細を展開し、[サイズ (GiB)] に値を入力します。
注: ボリュームオプションの詳細については、「ブロックデバイスマッピング」を参照してください。
- [テンプレートのバージョンを作成] を選択します。
- テンプレートの [Auto Scaling グループを作成する] で、[Auto Scaling グループを作成] を選択します。
注: Auto Scaling グループを作成する際には、新しいバージョンのテンプレートを使用してください。
- 新しいインスタンスが起動したら、Amazon ECS コンソールを開き、[クラスター] を選択します。
- 新しいインスタンスが表示されることを確認するには、クラスターを選択し、[ECS インスタンス] タブを選択します。
元の ECS コンテナインスタンスをドレインし、コンテナを新しいインスタンスに移行します
- Amazon ECS コンソールを開きます。
- コンテナインスタンスがグループ化されているクラスターを選択します。
- [インフラストラクチャ] を選択し、前に書き留めたインスタンス ID で元のコンテナインスタンスを選択します。
- [アクション] を選択し、[インスタンスのドレイニング] を選択します。
注: Amazon ECS サービスのダウンタイムを回避するために、前のインスタンスをバッチでドレインできます。コンテナインスタンスのサービスタスクをドレインすると、[実行中] 状態のコンテナインスタンスは停止して置き換えられます。コンテナインスタンスは、サービスのデプロイ設定パラメータ minimumHealthyPercent と maximumPercent に基づいて置き換えられます。サービスに属していない、[保留中] または [実行中] のタスクは影響を受けません。これらのタスクが完了するまで待つか、タスクを手動で停止する必要があります。
- [ドレイン中] のインスタンスで実行中のタスクが 0 になったら、元のすべてのコンテナインスタンスのステータスが [ドレイン中] になるまで、手順 2~3 を繰り返します。
- 元の Auto Scaling グループを削除して、元のインスタンスを終了します。
関連情報
コンテナインスタンスのドレイン
Amazon ECS タスクのストレージオプション