AMI ストレージ構成 - Amazon Elastic Container Service

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

AMI ストレージ構成

次に、 Amazon ECS-最適化 AMIs.

Amazon Linux 2 ストレージ構成

デフォルトでは、 Amazon Linux 2- ベース Amazon ECS-optimized AMIs(Amazon ECS-optimized Amazon Linux 2 AMI、 Amazon ECS-optimized Amazon Linux 2 (arm64) AMI, および Amazon ECS GPU-optimized AMI) は、30 GiB の単一のルートボリュームで出荷されます。30-GiB 起動時のrootボリューム サイズを使用して、 コンテナインスタンス。このストレージは、オペレーティングシステムとDockerに使用されます。 イメージとメタデータ。

のデフォルトのファイル システム Amazon ECS-optimized Amazon Linux 2 AMI はです ext4、およびDockerは の overlay2 ストレージ ドライバ。詳細については、以下を参照してください。 使用 OverlayFSストレージドライバ ドッカーのドキュメントを参照してください。

Amazon ECS-optimized Amazon Linux AMI ストレージ構成

デフォルトでは、 Amazon ECS-optimized Amazon Linux AMI は、合計 30 GiB のストレージで出荷されます。変更可能 コンテナの利用可能なストレージを増やすために、起動時にこの値を使用します。 インスタンス。このストレージは、オペレーティングシステムとDockerイメージに使用されます。 およびメタデータ。以下のセクションでは、 Amazon ECS-optimized Amazon Linux AMI、 AMI バージョン。

バージョン2015.09.d以降

Amazon ECS-optimized Amazon Linux AMIバージョン の s 2015.09.d 後から 接続されているオペレーティング・システムの8 GiBボリューム /dev/xvda ファイルのルートとしてマウントされます。 システム。追加の22-GiBボリュームは、 /dev/xvdcz Dockerが画像やメタデータに使用する ストレージ。ボリュームがLVM(論理ボリューム管理)として構成されている Dockerが devicemapper バックエンド。ボリュームがマウントされていないため、 標準ストレージ情報コマンド( df -h)を選択して、使用可能なストレージを決定します。ただし、 LVMコマンドと docker info 利用可能な 以下の手順に従って保管すること。詳細については、 LVMハウト の Linux Documentation Project。

注記

ブロックを変更することで、これらのデフォルトのボリューム サイズを増やすことができます。 起動時のインスタンスのデバイスマッピング設定 ただし、ボリュームのサイズをデフォルトより小さくすることはできません。対象: 詳細情報については、 デバイスのブロック マッピングLinux インスタンス用 Amazon EC2 ユーザーガイド.

docker-storage-setup ユーティリティが LVM を構成します。 Dockerのボリュームグループと論理ボリュームを、インスタンスの起動時に表示します。実施者 デフォルト、 docker-storage-setup ボリュームグループを作成します 呼び出す docker、追加 /dev/xvdcz を 物理ボリュームをそのグループに送信します。次に、 docker-pool 99%のストレージを ボリュームグループ。使用可能なストレージの残りの1%は、 メタデータ。

注記

以前 Amazon ECS-optimized Amazon Linux AMI バージョン(2015.09.d2016.03.a) は、 ボリュームグループで使用可能なストレージ。論理ボリュームが 60%がフルの場合、論理ボリュームのサイズは20%増加します。

Dockerの使用可能なストレージを決定するには

  • LVMコマンド、 vgs および lvs、または docker info ドッカーの使用可能なストレージを表示するコマンド。

    注記

    LVM コマンド出力は、GiB (2^30 バイト)、および docker info ストレージを表示 値(GB)(10^9バイト)。

    1. ボリューム グループで使用可能なストレージを表示できます。 と vgs コマンド。このコマンドでは、 ボリュームグループの合計サイズと使用可能な領域 論理ボリューム グループ内で、 ボリューム。以下の例は、204 MiBの22-GiBボリュームを示しています。 空きスペースが不足しています。

      [ec2-user ~]$ sudo vgs

      出力:

      VG #PV #LV #SN Attr VSize VFree docker 1 1 0 wz--n- 22.00g 204.00m
    2. 論理ボリューム内の使用可能な領域を表示できます。 と lvs コマンド。以下の例 に、21.75 GiBのサイズの論理ボリュームを示します。 7.63%が満杯です。この論理ボリュームは、 空き領域を増やします。

      [ec2-user@ ~]$ sudo lvs

      出力:

      LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert docker-pool docker twi-aot--- 21.75g 7.63 4.96
    3. docker info コマンドには、 データ容量に関する情報と、 データ容量が不足しています。ただし、利用可能なスペースは 値は、その論理ボリューム サイズに基づきます。 使用。

      注記

      なぜなら docker info ディスプレイ GiB(2^30 バイト)、ここで表示される値は、 同じストレージ容量を lvs。 ただし、値は equal (23.35 GB = 21.75 GiB)。

      [ec2-user ~]$ docker info | grep "Data Space"

      出力:

      Data Space Used: 1.782 GB Data Space Total: 23.35 GB Data Space Available: 21.57 GB

Docker論理ボリュームを拡張するには

コンテナインスタンスにストレージを追加する最も簡単な方法は、 既存のインスタンスを終了し、より大きなデータを持つ新しいインスタンスを起動する ストレージ ボリューム。ただし、これを行うことができない場合は、 Dockerが使用するボリュームグループにストレージを格納し、 ボリュームをボリュームに拡張できます。

注記

コンテナインスタンスのストレージがすぐにいっぱいになりすぎる場合、 削減するために実行できるアクションがいくつかあります。 効果:

  • (Amazon ECS 容器剤1.8.0以降)減量 停止または退出したコンテナが コンテナインスタンス。は ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION エージェント コンフィグレーション変数は、待機する期間を設定します。 Dockerコンテナが取り外されるまでタスクが停止した場合 (デフォルトでは、この値は3時間です)。これにより、Dockerが削除されます。 コンテナデータ。この値が低すぎると、 停止したコンテナを検査したり、ログを表示したりできます。 削除する前に 詳細については、以下を参照してください。 Amazon ECS コンテナエージェントの設定.

  • 実行していないコンテナと未使用のイメージを コンテナインスタンス。次の例を使用できます。 停止したコンテナと未使用のコンテナを手動で削除するコマンド 画像。削除されたコンテナは後で検査できない 削除した画像は、新しい画像を開始する前に、 コンテナから。

    実行していないコンテナを削除するには、以下を実行します。 コンテナインスタンスのコマンド:

    $ docker rm $(docker ps -aq)

    未使用のイメージを削除するには、次のコマンドを実行します。 コンテナインスタンス:

    $ docker rmi $(docker images -q)
  • コンテナ内の未使用のデータブロックを削除します。以下を使用できます。 次のコマンドを実行して、 fstrim に 実行中のコンテナをすべて破棄し、 コンテナファイルシステムによって使用されません。

    $ sudo sh -c "docker ps -q | xargs docker inspect --format='{{ .State.Pid }}' | xargs -IZ fstrim /proc/Z/root/"
  1. 新しい Amazon EBS ボリュームは、 コンテナインスタンス。詳細については、以下を参照してください。 Amazon の作成 EBS量Linux インスタンス用 Amazon EC2 ユーザーガイド.

  2. ボリュームをコンテナインスタンスに接続します。デフォルトの場所 Dockerデータボリュームは /dev/xvdcz。 対象: 整合性、追加のボリュームを逆アルファベット順に添付する (たとえば、 /dev/xvdcy)。詳細については、以下を参照してください。 の装着 Amazon EBSのボリュームからインスタンスへLinux インスタンス用 Amazon EC2 ユーザーガイド.

  3. SSHを使用してコンテナインスタンスに接続します。詳細はこちら 情報、参照 コンテナインスタンスに接続.

  4. サイズのチェック docker-pool 論理ボリューム。次の例は、409.19 GiB の論理ボリュームを示しています。

    [ec2-user ~]$ sudo lvs

    出力:

    LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert docker-pool docker twi-aot--- 409.19g 0.16 0.08
  5. ボリューム グループの現在の空き領域を確認します。は 下に示す例は、 VFree 列。

    [ec2-user ~]$ sudo vgs

    出力:

    VG #PV #LV #SN Attr VSize VFree docker 1 1 0 wz--n- 1024.00g 612.75g
  6. 新しいボリュームを docker ボリュームグループ、 新しいボリュームを接続したデバイス名を置き換えます。この例では、1 TiB ボリュームが以前に追加され、 /dev/xvdcy.

    [ec2-user ~]$ sudo vgextend docker /dev/xvdcy Physical volume "/dev/sdcy" successfully created Volume group "docker" successfully extended
  7. ボリュームグループサイズが vgs コマンド。は VFree 列 は、増加したストレージ サイズを示します。以下の例では、 1.6 TiB ( VFree 1 TiB が 以前からあった。あなたの VFree 列は合計でなければなりません 元の VFree ボリュームの値とサイズ 添付しました。

    [ec2-user ~]$ sudo vgs

    出力:

    VG #PV #LV #SN Attr VSize VFree docker 2 1 0 wz--n- 2.00t 1.60t
  8. docker-pool 論理ボリュームとサイズ 前の方で追加したボリュームの 次のコマンドを実行すると、1024 GiBが 論理ボリューム。 1024G.

    [ec2-user ~]$ sudo lvextend -L+1024G /dev/docker/docker-pool

    出力:

    Size of logical volume docker/docker-pool_tdata changed from 409.19 GiB (104752 extents) to 1.40 TiB (366896 extents). Logical volume docker-pool successfully resized
  9. 論理ボリュームのサイズが増えていることを確認します。

    [ec2-user ~]$ sudo lvs

    出力:

    LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert docker-pool docker twi-aot--- 1.40t 0.04 0.12
  10. (オプション) docker info また、 は、追加されたストレージ領域を認識します。

    注記

    なぜなら docker info ストレージ値を表示します GB (10^9 バイト)、GiB (2^30 バイト) ではなく、 同じ容量のストレージでは、ここに表示されるのは大きいように見えます。 表示 lvs。 ただし、値は 等しい(1.539 TB = 1.40 TiB)。

    [ec2-user ~]$ docker info | grep "Data Space"

    出力:

    Data Space Used: 109.6 MB Data Space Total: 1.539 TB Data Space Available: 1.539 TB

バージョン2015.09.c以前

Amazon ECS-optimized Amazon Linux AMIバージョン の s 2015.09.c 早期の発売で 30 GiBの単一ボリュームで、 /dev/xvda および ファイル システムのルートとしてマウントされます。このボリュームは、 システムとすべてのDockerイメージおよびメタデータ。利用可能な 標準ストレージ情報を持つコンテナインスタンス上のストレージ コマンド(例: df -h)。

Dockerが使用できるストレージを、 これらのインスタンスから起動されたインスタンス AMI停止せずに を 停止できます。もしそれが コンテナインスタンスには、デフォルトの30 GiBより多くのストレージが必要です。 各インスタンスを終了する必要があります。次に、 最新 Amazon ECS-optimized Amazon Linux AMI 十分なデータ・ストレージ・ボリュームがあります。