K's Atelier

個人的な学習記録

AWS CloudFormation templates for Docker compose

AWSでDocker composeを実験するための実験環境をCloudFormationで作る。

 

まずSession Managerに接続するためのInstance Profileを作っておく。これだけを分離するのは,これだけがIAMを操作するから。実行時に実行確認を求められる。

AWS CloudFormation template that create an IAM Role and an InstanceProfile for Session Manager · GitHub

 

続いてVPC。Public subnetとPrivate subnetを作っておく。NAT Gatewayも作っているので課金に注意。

AWS CloudFormation template that create a VPC with a public subnet and a private subnet. · GitHub

 

ここからは実験したいアプリによって変わってくる。まずSecurity Group。実際には使いたいアプリによってSecurity Groupの設定が必要。EC2 instanceにattachする必要があるので,EC2 instanceより先に作る。

AWS CloudFormation template that create a Security Group. · GitHub

 

最後にEC2 instance。user dataでdocker,docker-composeをインストールするようにしてある。特にdocker-composeのversionが決め打ちになっているので,versionを変えたいときは適宜変更する。

AWS CloudFormation template that launch EC2 instance with Docker. · GitHub

 

これでdocker-composeを使っていじれる環境までは悩まずに作れるようになった。次はサーバ群を構成する実験だ。