0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CDKでFargateにEFSをマウントする

Last updated at Posted at 2021-05-18

2020/12に書こうと思って温めていたけど、生ぬるくなってしまった・・・が、せっかくなので書いておく。

概要

お仕事でFargate上で動かすアプリを開発中に、一時的にローカルに巨大なファイルを置く必要が生じました。
デフォルトのタスクストレージは20GBで、これでは不足します。
この時点(2020/11下旬)で既にFargateではEFSを利用可能となっていました。

さっさとやっつけてしまえそう。

CDKでは・・・

アプリはCDKで構成しており、当然EFSマウントもCDKで実施したいのですが、どうやら雲行きが怪しく。

CDK及びCloudformationではまだ、インフラコードからFargateとEFSの連携ができないため、手で作成する必要があります。

ええぇ。手動はイヤや。

この記事でもCDKの"正規の"機能として対応されていないから、ということで、カスタムリソースでカスタムタスク定義を登録するようになっています。

上記ブログ著者のGist

カスタムリソースもやりたくない。

CDKは開発が活発なので、ちょっと待てば対応されるだろうと期待し、一旦このタスクは保留とし、時々CDKの更新情報を眺めることにしました。
#待ってないでコントリビュートしろ!

解決

2日おきぐらいに更新情報をチェックしていたのですが、バージョンは上がっていくけど、該当しそうな更新は見当たらない。
これは、やはりカスタムリソースしか残されてないのだろうか・・・

ところが、ある日APIリファレンスを眺めていた時(2020/12中旬)に、ふと気づいてしまいました。

「あ、これやん」

CDK v1.76の時点で、[前掲のGist]だとcustomTaskDefinitionJsonとして用意しているカスタムタスク定義を、普通にecs.FargateTaskDefinitionで作成できました。

const taskDefinition = new ecs.FargateTaskDefinition(this, 'TaskDefinition', {
  cpu: 2048,
  family: fargateService.taskDefinition.family,
  memory: 8192,
  volumes: [volumeConfig]
})

多分、volumesefsVolumeConfigurationがあることに気づいていなかっただけ、もしくは、更新を見逃していたか、ってとこだと思われ。
#前者が濃厚

デプロイして無事にマウントを確認できたので、オッケーです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?