AWS CloudFormation を使ってみた

AWS上にサーバーを構築しようと思うのですが,
Management ConsoleからEC2やらVPCやらを個別に作成すると構成が分かりにくくなるので,
AWS CloudFormationを使ってみることにしました.

AWS CloudFormationとは?

AWSリソースをJSONもしくはYAMLのテンプレートとして構築管理できるサービスです.
AWSリソースをテンプレートとして扱えるので,EC2やVPCの構成をバージョン管理する事ができます.
一度テンプレートを作成してしまえば,簡単に環境を複製することができます.

詳しくはこちらこちらのページをお読みください.

Designerからスタックを作る

JSONやYAMLを直接記述するのは正直辛いので,Designerを使用します.
Management Consoleにログインして,サービス->管理ツール CloudFromation->スタックの作成->テンプレートのデザイン でDesignerページに遷移します.

画面左のリソースタイプのペインから配置したいリソースを画面中央のキャンバスにドラッグして,画面下のエディタで設定を書きます.

今回は簡単なWebサーバーの構成にします.
ここを参考に作りました.
完成はこんな感じ.

エラーが出て,困ったことがありました.
ルーティングテーブルのRouteリソースには他リソースに4つ(VPCPeeringConnection,Instance,NetworkInterface,InternetGateway/VPNGateway)接続ができるのですが,正しく紐付けないとエラーが出ました.(当たり前ですが!)
あと,間違ってDependsOnで接続してしまったり…
エラーが出たときは,接続を確認してみましょう.

テンプレートをローカル/S3に保存してスタックを作成すると,各リソースのページにテンプレートで配置したリソースが作成されています.
簡単ですね〜

使ってみた感想

  • GUIでポチポチできるので結構簡単です
    複雑になってもある程度対応できるのはないでしょうか(テンプレートの分離ができるようです)
  • システムの構成図としても使用できるので便利です
  • システム構成の変更も視覚的に簡単にできる
  • 設定はエディタでJSONを編集しないといけないので,マニュアルと睨めっこになります(笑)
    (インテリセンスがあるので大分 楽なんですがね)

既に動作しているものをCloudFormationに引っ越してくるのは大変かと思いますが,新しく何か作るときは是非〜

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です