2012年12月10日月曜日

CDP Templates !

スズキです。

CDP Advent Calendar 2012」12/10(月)分です!

一年前のこの時期、CDPは最終的にはCloudFormationのテンプレートにしたい!
と誰かが言っていたような気がしたりしなかったり...、とりあえず挑戦してみました。

まあ時代はVPCっぽいので、まずはVPC(器)の構築です。


テンプレートはこちらです。
SUZ-LAB Formation VPC Basic (suz-lab_vpc-basic.json)
実行すると下記のようにVPC(サブネット/ルーテチング/Network ACL)が構築されます。


詳しくは、こちらの記事で...
CloudFormationでVPCの構築

次はCDPのテンプレートです。


結構、拡大解釈してますが、「Operational Firewallパターン」です。
テンプレートはこちらです。
SUZ-LAB Formation Operational Firewall (suz-lab_operational-firewall.json)
実行すると下記のようにセキュリティグループが作成されます。


詳しくは、こちらの記事で...
"Operational Firewallパターン"をオレオレ解釈してCloudFormationの
テンプレートにしてみた
機能要件的なセキュリティグループは「Functional Firewallパターン」で別途定義します。

次もCDPのテンプレートです。


VPCなら切っても切れないNATインスタンス「OnDemand NATパターン」です。
テンプレートはこちらです。
SUZ-LAB Formation OnDemand NAT (suz-lab_ondemand-nat.json)
実行すると下記のようにNATインスタンスとルーティングが作成されます。



NATインスタンスには、当然、上記のセキュリティグループ(op-nat, op-ec2)をつけます。


詳しくは、こちらの記事で...
"OnDemand NATパターン"をCloudFormation化

ついでに踏み台サーバ(step)のテンプレートも用意しました。


テンプレートはこちらです。
SUZ-LAB Formation STEP (suz-lab_step.json)
実行すると下記のように踏み台サーバ(step)が作成されます。




踏み台サーバ(step)には、当然、上記のセキュリティグループ(op-step, op-ec2)をつけます。

最後に、上記を一気に重ねて作成してみます。


テンプレートはこちらです。
SUZ-LAB Formation ALL (suz-lab_all.json)
実行すると下記のようにVPC(サブネット、ルーティング、NetworkACL)、
セキュリティグループ、NATインスタンス、踏み台サーバ(step)が一気に作成されます。
(全部書くと大変なことになるので、かなりデフォルメしています)


ということで、この辺、GitHubに置いておきました。



来週は、「AWS Advent Calendar 2012」!
--------
http://www.suz-lab.com

0 コメント: