雲のメモ帳

猫とクラウドと旅行が好きなインフラエンジニアです。 日々の調べたことや興味が持ったことをこのブログにアウトプットします。

ECS on EC2でEFSをマウントする

ECS on EC2のコンテナ内でEFSを利用する際に少しハマったのでさらっと設定の備忘録。

事前準備

  • ECS on EC2 クラスターが作成されていること。
    • 検証時に利用したAMI : amzn2-ami-ecs-hvm-2.0.20200430-x86_64-ebs
  • EFSが作成されており、ECS on EC2が存在しているサブネットにNICが作成されていること。

設定

事前準備が整っていれば設定箇所は2か所です。

① ECS ‐ タスク定義 - <タスク定義名> - ボリューム

項目に沿って利用するEFS情報を入力。「名前」の項目は次の設定で利用します。 f:id:ykoomaru:20200603224600p:plain

② ECS ‐ タスク定義 - <タスク定義名> - コンテナ定義 - マウントポイント

  • ソースボリューム: ①で設定した 「名前」を選択する
  • コンテナパス: コンテナ内でのマウントポイント(今回は /mnt/)

f:id:ykoomaru:20200603224611p:plain

動作確認

EFS内に配置したファイルはこんな感じ

.
├── testfile
└── testfolder
    └── testfile2

コンテナ上で "ls -l /mnt/" で確認するとEFS内のファイルを正常に認識しているのがわかります。 f:id:ykoomaru:20200603224643p:plain

ホスト側でDFコマンドを実行するとタスク定義で設定したEFSが自動的にマウントされているのがわかります。AWS側で諸々自動で対応してくれるので楽ですね。 f:id:ykoomaru:20200603224651p:plain

参考

チュートリアル: Amazon ECS での Amazon EFS ファイルシステムの使用 - Amazon Elastic Container Service