Lapis Lazuli

technical blog for web developer

【AWS】FargateがEFSに対応

最近、Fargateに大きなアップデートがありました。
プラットフォームver1.4というものですが、この中で特に重要なのがEFSに対応したことです。

aws.amazon.com

今まではFargateはタスクやサービス間でファイル共有するときは少し面倒でした。
EC2タイプで起動するか、S3などの他のサービスを使ってやらないと出来ない仕様でした。S3使えるのならわざわざEFS対応してなくても大丈夫だと思うかもしれませんが、コンテナで動かすアプリケーションの制約を受けるので使えない可能性がありました。
これでFargateの弱点がまた1つ消えた感じですね。

使い方

あらかじめ同じVPCにEFSを作っておきます。このあたりは特に標準的な設定で大丈夫なので割愛します。
Fargateのタスク定義で変わるのは下記になります。
・File System ID
EFSファイルシステムID
・Source volume
ボリューム名
・Container path
マウント先のパス

タスク定義が終わったら、ECSサービスを立ち上げます。
ここでプラットフォームver1.4を定義します。
あとはタスクを起動するだけでマウントされた状態でコンテナが起動されていると思います。

Fargateの将来性

AWSは最近めちゃくちゃFargateを推してきています。
コンソールでECS行ってチュートリアル画面に遷移するとFargateデフォルトになっています。
EC2と違って中に入れずDebugしづらいなどの欠点がありますが、じきにこのあたりも解消していくのでしょう。
うちでも今後ECS使うときはFargateファーストで考えています。
マネージドでいけるところはトコトンマネージドでいく方針なので・・・
ということで今回はこのあたりで。