CloudFormationでVPC、IAM、ECS Fargateあたりを一通り作成するコードの参考として、以下のリポジトリが良さそう。
このリポジトリが作成されたのは2年ぐらい前みたいですが、2020年12月現在もREADMEに書かれてるコマンドをそのまま実行したら問題なく動きました。
自分用に注意点を残しておきます。
- infra/api.ymlの18行目のDockerイメージURLのみ自分でプッシュしたECRリポジトリのURLに変更する必要があります。
github.com
- ブラウザで表示するには、ECSのタスクのパブリックIPにアクセスするのではなく、CloudFormationの「出力」タブに表示されているApiEndpointにアクセスする
インフラのコード化を勉強するにあたって、まずはこのリポジトリのコードをしっかり読んで理解することから始めようかな。 ぱっと見た感じロードバランサーの設定がよくわからなかったので、そもそもロードバランサーのリスナーとは何かという概念からちゃんと勉強したいと思います。
まずはこのリポジトリのコード理解して、その次に自分のアプリケーションをデプロイするようにします。
あと、以前までCloudFormationよりもAWS CDKを積極的に勉強していこうかと思ってましたが、今はCDKよりもまずCloudFormationを勉強して後々CloudFormationに慣れてコードの記述量をもっと減らしたり発展的な使い方をしたいときにCDKに手を出そうと考えてます。
CDKはかなり魅力ありそうですが、裏ではCloudFormationが動いているみたいだしまずはCloudFormationをちゃんとやってから次のことを考えたほうが効率用良さそうだなと。
まあなんの技術に手を出すかはその時々の好奇心とかモチベーションを大事にしたいので、あっち行ったりこっち行ったりすると思いますが、その都度最低限の理由とか根拠を自分の中に持ちたいと思います。