Open10
ECS Cats and Dogs
背景
ECSをメトリクスに応じていい感じにスケールするApplication Auto Scalingという機能を業務で使う必要があり、良い感じのワークショップを探していたところ、掲題のワークショップを見つけた。詰まったところ、気づきなどをメモしながらやってみんとす。
- ワークショップが終わると得られるもの
- Amazon Elastic Container Service (ECS)
- Amazon Elastic Container Registry (ECR)
- AWS Fargate
- AWS FireLens
- Amazon CloudWatch
- ECS AutoScaling
- Amazon Elastic Load Balancer (ELB)
AWS FireLensってなんだっけ?
ECS on Fargateのログ出力先をカスタマイズできる機能らしい。

https://dev.classmethod.jp/articles/fargate-fiirelens-fluentbit/ より。
全体像

Fargate ... 昔はFargateを動かす際にサーバーガチャがあるので品質を担保するためにこれはNGって言われた記憶がある。今はどうなんだろう?
ワークショップ実施前の準備段階で、なんか先行きがすでに怪しい。
- AWSアカウントにAdmin権限のIAM Userを用意する
- CloudFormationのテンプレートファイルをDLしてAWS Consoleでデプロイする
ChatGPTにテンプレートファイルの内容を解説してもらった。
- ネットワーキングリソース:
- VPC (Virtual Private Cloud) を設定し、隔離されたネットワーク環境を作成します。
- 複数のサブネット (公開および非公開) を含む、適切に区分されたネットワークアーキテクチャを構築します。
- インターネットゲートウェイとNATゲートウェイを配置して、インターネット接続と内部リソースの保護を可能にします。
- セキュリティ設定:
- 複数のセキュリティグループを定義し、インバウンドとアウトバウンドの通信ルールを制御します。
- IAMロールとポリシーを利用して、リソースへのアクセス権限を適切に管理します。
- 開発環境(AWS Cloud9):
- AWS Cloud9 IDEインスタンスをセットアップし、ブラウザベースの統合開発環境でコードを書き、実行し、デバッグすることができます。
- 開発環境は、プリセットされたパブリックサブネットに配置され、環境の管理とセキュリティを容易にします。
- カスタマイズと自動化:
- AWS Lambda関数を使用して、Cloud9環境の初期設定やその他の自動化タスクを実行します。
- AWS Systems Manager (SSM) ドキュメントを使用して、インスタンスの起動時にソフトウェアのインストールや環境設定を自動的に行います。
- ストレージとアクセス管理:
- Amazon S3バケットを作成し、CloudFormationスタックと関連するLambda関数からアクセス可能なセキュアなストレージソリューションを提供します。
上記のアーキテクチャ図にS3は出てこないけど、必要なのだろう。多分。
テンプレートファイルで ownerArn って何を入れればいいの?と思ったら、
下記のサイトに答えが書いてあった。
This format finally worked for me: arn:aws:iam::ACCOUNTID:user/ADMINUSER
https://ronamosa.io/docs/engineer/AWS/AWS-ECS-Cats-n-Dogs/
つまり、IAMのユーザー(admin権限付き)らしい。
Cloud9 IDE open! ... はやかった。待つべし
