AWSでDocker composeを実験するための実験環境をCloudFormationで作る。
まずSession Managerに接続するためのInstance Profileを作っておく。これだけを分離するのは,これだけがIAMを操作するから。実行時に実行確認を求められる。
続いて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を使っていじれる環境までは悩まずに作れるようになった。次はサーバ群を構成する実験だ。