AWS マネジメントコンソールから起動した Amazon Elastic Container Service (Amazon ECS) コンテナインスタンスで利用可能なディスク容量を増やしたいです。
簡単な説明
コンテナインスタンスのストレージ容量を増やすには、まず代替インスタンスを起動します。次に、元のインスタンスを終了します。
別の方法でインスタンスを起動した場合は、ユースケースに基づいて次の記事のうち、いずれかのステップを実行してください。
注: Amazon Elastic Block Store (Amazon EBS) ボリューム設定は、使用する Amazon ECS に最適化された Amazon マシンイメージ (AMI) に左右される場合があります。詳細については、「AMI ストレージ設定」を参照してください。
解決策
重要: 次のステップでは、Amazon ECS クラスター内の元のコンテナインスタンスを終了します。これらのインスタンスの EBS ボリュームに保存されているデータは、次の手順を完了すると失われます。
ストレージサイズを更新して代替インスタンスを起動する
- Amazon ECS コンソールを開き、新しいコンテナインスタンスを起動する ECS クラスターを選択します。
- Auto Scaling グループで実行されているインスタンスを書き留めておきます。
- AWS CloudFormation コンソールを開き、ECS クラスターのスタックを選択します。
注: スタック名は次の形式です。 EC2ContainerService-yourEcsClusterName
- [アクション] を選択し、[スタックの更新] を選択します。
- [テンプレートの選択] セクションで、[現在のテンプレートを使用] を選択し、[次へ] を選択します。
- EBSVolumeSize パラメータを、インスタンスに必要な新しいサイズ (GB 単位) に設定します。
- AsgMaxSize パラメーターを設定して Auto Scaling グループのサイズを増やし、新しい代替インスタンスを起動します。
注: Amazon ECS に最適化された Amazon Linux 1 AMI の場合は、オペレーティングシステムに /dev/xvda を使用してください。論理ボリューム管理 (LVM) デバイスを持つ Docker イメージとメタデータの場合は、/dev/xvdcz も使用してください。Amazon ECS に最適化された Amazon Linux 2 AMI の場合は、オペレーティングシステムおよび、Docker イメージとメタデータに /dev/xvda を使用してください。
- Amazon Linux バージョンの DeviceName を設定します。
- セットアップウィザードを完了します。次に、[更新] を選択して新しい代替インスタンスを起動します。
これを行うと、Auto Scaling グループの起動設定が新しいストレージ設定に更新されます。このストレージを拡張する設定は、Auto Scaling グループによって起動されるすべての新しいインスタンスに適用されます。
元のインスタンスを終了する
重要: サービスを引き続き利用できるようにするには、まずコンテナインスタンスをドレインしてタスクを再スケジュールします。次に、元のインスタンスをバッチで終了します。インスタンスの終了時に、このドレインワークフローを自動化することもできます。
- Amazon ECS コンソールを開きます。
- Auto Scaling グループで実行されているインスタンスの最初のバッチを選択し、そのインスタンスのバッチをドレインします。
注: Amazon ECS サービスのダウンタイムを回避するには、以前のインスタンスをバッチでドレインします。コンテナインスタンスのサービスタスクをドレインすると、RUNNING 状態のコンテナインスタンスは停止します。次に、コンテナインスタンスは、サービスのデプロイ設定パラメーターである minimumHealthyPercent と maximumPercent に従って置き換えられます。サービスに属さない PENDING または RUNNING 状態のタスクは影響を受けません。これらのタスクが完了するまで待つか、手動で停止する必要があります。
- コンテナインスタンスのすべてのタスクが停止したら、コンテナインスタンスを終了します。
注: 数分後、基盤となる Auto Scaling グループが、終了したインスタンスを置き換えるために、より大きいストレージを持つ代替インスタンスを起動します。
- 元のインスタンスがすべて新しいコンテナインスタンスに置き換わるまで、前のステップを繰り返します。
関連情報
Amazon ECS タスク用のストレージオプション