AWS マネジメントコンソールから ECS クラスターを起動した場合、Amazon ECS コンテナインスタンスで使用可能なディスク容量を増やすにはどうすればよいですか?

最終更新日: 2019 年 9 月 5 日

AWS マネジメントコンソールから ECS クラスターを起動する場合、Amazon Elastic Container Service (Amazon ECS) コンテナインスタンスで総ディスク容量を増やすにはどうすればよいですか?

簡単な説明

コンテナインスタンスでストレージスペースを増やすには、置換用インスタンスを起動してから、元のインスタンスを終了する必要があります。

この方法を使用してストレージスペースを増やすには、解決セクションの手順を完了します。別の方法を使用してコンテナインスタンスを起動した場合は、この記事をスキップして、以下のいずれかの記事にある手順を完了してください。

注意: Amazon Elastic Block Store (Amazon EBS) ボリューム設定は、使用している Amazon ECS に最適化された Amazon Machine Image (AMI) によって異なります。インスタンスで使用可能なディスク容量を確認する方法の詳細とコマンドについては、AMI ストレージ設定を参照してください。

重要: 以下の手順は、Amazon ECS クラスター内の元のコンテナインスタンスを終了します。これらのインスタンスの EBS ボリュームに保存されたデータは、これらの手順を完了すると失われます。

解決方法

ストレージサイズを更新し、置換用インスタンスを起動する

  1. Amazon ECS コンソールを開き、新しいコンテナインスタンスを起動する ECS クラスターの名前を特定します。
  2. Auto Scaling グループで実行されているインスタンスを特定します。
  3. AWS CloudFormation コンソールを開き、ECS クラスターのスタックを選択します。
    注意: スタック名は次の形式になります。EC2ContainerService-yourEcsClusterName
  4. [Actions] を選択してから、[Update Stack] をクリックします。
  5. [Select Template] セクションで、[Use current template] を選択してから、[Next] を選択します。
  6. EBsVolumeSize パラメータを、インスタンスに必要な新しいサイズ (GB 単位) に設定します。
  7. AsgMaxSize パラメータを設定して Auto Scaling グループのサイズを増やし、新しい置換用インスタンスを起動します。
    注意: Amazon ECS に最適化された Amazon Linux 1 AMI の場合、オペレーティングシステムに /dev/xvda を使用し、論理ボリューム管理 (LVM) デバイスで Docker イメージとメタデータに /dev/xvdcz を使用します。Amazon ECS に最適化された Amazon Linux 2 AMI の場合、オペレーティングシステムおよび Docker イメージとメタデータに /dev/xvda を使用します。
  8. Amazon Linux バージョンの DeviceName を設定します。
  9. 各ページで [Next] を選択してから、[Update] を選択して新しい置換用インスタンスを起動します。

これで、Auto Scaling グループの起動設定が新しいストレージ設定に更新され、新しいコンテナインスタンスが起動されます。

元のインスタンスを終了する

重要: サービスを確実に使用可能にするには、コンテナインスタンスをドレインしてタスクのスケジュールを変更し、元のインスタンスをバッチで終了する必要があります。 また、インスタンスが終了したときに、このドレインワークフローを自動化することもできます。

  1. Amazon ECS コンソールを開き、Auto Scaling グループで実行されているインスタンスの最初のバッチを特定し、このバッチでインスタンスをドレインします。
    注意: Amazon ECS サービスのダウンタイムを回避するために、以前のインスタンスをバッチでドレインできます。コンテナインスタンスのサービスタスクをドレインすると、RUNNING 状態にあるコンテナインスタンスは停止され、サービスのデプロイ設定パラメータ minimumHealthyPercent および maximumPercent に従って置き換えられます。サービスに属していない PENDING または RUNNING 状態のタスクは影響を受けません。これらのタスクが終了するのを待つか、手動で停止する必要があります。
  2. コンテナインスタンスのすべてのタスクが停止したら、コンテナインスタンスを終了します。
    注意: 数分後、基盤となる Auto Scaling グループは、削除されたインスタンスを置き換えるために、ストレージを増やした置換用インスタンスを起動します。
  3. すべての元のインスタンスを新しいコンテナインスタンスに置き換えるまで、手順 1~2 を繰り返します。

これで、新しいインスタンスでタスクが実行され、使用可能なストレージが増えるはずです。


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

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


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