お題:下記のVPC環境をmake2回で構築する
利用するもの
- aws-cli
- php
- shell
- Makefile
- json template
aws-cliって?
知っている人も多いと思うけれど念のため。
Amazonが公式に提供しているCLIツール。
詳しくは公式ドキュメントを見てください。
aws-cliで何ができる?
Amazon Web Serviceで提供されているサービスの操作はほとんどできる、と思います。
こちらも詳細は公式ドキュメントをry
お題に戻って、Let's create vpc environment!
今回使用するMakefile,PHP,JSONのファイルは下記のリポジトリにコミットしてあります
サンプルテンプレート内のサブネットマスク、鍵、AMI-ID、allocated_idは適時自分のものとおきかえてください。
VPC Network & Security Groupを作成
make create_base
インスタンス作成
make create_app
以上、です
これで、VPC内にセキュリティグループが設定されたインスタンスが作成されます。
すごくお手軽、特にManagement Consoleでポチポチやらなくていいのが非常に良い。
やっていることはCloudFormationはリソース情報をOutputできるので、SecurityGroupやサブネット構築時の各リソースidをOutputしておきます。
後は、構築したStackのOutputから必要な情報を抜き出し、パラメータを構築します。
これらのパラメータをインスタンス作成時に渡せば、インスタンスのTYPEとAMIを指定するだけでVPC内にセキュリティグループに属したインスタンスが構築されます。
ただし、ここまでだと外からこのインスタンスに入ることはできません。VPCはデフォルトでは外から見えない、Privateな状態が基本です。
ですので、実際にこのインスタンスを使う時は外から入れるようにEIPを付与します。
EIP付与
make assoc_eip
ということで、make2回でVPC環境を構築する方法でした。
実際はEIPの付与まで入れると3回でした。