AWSを触るのは2年ぶりぐらいかな…
インフラはVPSに逃げがちでしたが、VPSで頑張ってもなんの成長にもならんので、AWSでインフラをコード化することにトライした。CloudFormationは、色々とググったYAMLを見た時にこれをちまちま書くのは無理!と思ったのでスルー。Terraformはシンプルに設定を書き連ねることができるフォーマットなので、流れが追いやすかった。
1日ちょいで、VPC作成からIGWアタッチしてサブネットとルーティング設定、ALBに証明書と独自ドメイン当てて、FargateでnginxをリバースプロキシにしてWSGIアプリを動かすところまできた。結構なタスクになるなぁ。
- VPC作成
- IGW作成→VPCアタッチ
- サブネット作成
- パブリック2つ
- プライベート2つ
- ルートテーブル作成
- ルーティング→関連付け
- セキュリティグループ作成
- HTTP(80)
- HTTPS(443)
- ALB
- ECR
- レポジトリ作成
- イメージをPUSH
- ECS
- クラスタ作成
- セキュリティグループ作成
- ECS用IAMユーザー作成
- Route53
- S3
- ALB ログバケット作成
- Cloudwatch
- CloudWatch用グループ作成
- Aurora
初めてAWS触ったの、確か2011年ぐらいだけど、10年近く前からVPCあたりのネットワークの仕組み、全然変わってない。各々のサービスを使っていい感じにやれる幅は広がっているけど。
ECSのサービス作成並びにタスク設定は、ecs-cli
でやります。docker-compose.yamlとecs-param.yamlのほうがとても直感的に設定ができる。