恐るべきツールCloudFormerとは一体何だ!?

AWS

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

CloudFormerとは何か?

CloudFormerは、自分が管理しているEC2を始めとしたAWSのほぼ全ての環境から起動や設定に関する情報を抽出して、CloudFormationのテンプレートを生成するプログラムです。CloudFormationは、生成されたテンプレートから全く同じ環境をボタン1つで生成する事ができます。テンプレート自体は、JSON形式のテキストファイルですから追記修正が可能です。

CloudFormerをセットアップする

CloudFormerそのものは、AWSのサービスとしてManagement Consoleなどから提供されるのではなく、Amazon EC2インスタンスとして提供されています。CloudFormerのインスタンス自体を立ち上げるために、以下のURLからCloudFormationのテンプレートを指定して起動します。

CloudFormerが入ったECインスタンス(t1.micro)を起動する!(東京リージョン)

今回は東京リージョンでCloudFormerのインタンスを立ち上げます。

無事に起動すると以下のような表示になります。

CloudFormerを使ってみよう!

CloudFormerを使うには、CloudFormationによって起動されたEC2インスタンスのパブリックDNS名をブラウザで開きます。

あとはウィザード形式で選択していくだけです。まずは、このテンプレートの説明を記述します。

Route 53の設定

EIP、ELB、CloudFrontの設定

Auto Scaling Group、EC2の設定

Auto Scaling起動コンフィグの設定

EBSボリューム、RDS、S3バケットの設定

EC2セキュリティグループ、RDSセキュリティグループの設定

SQS、SimpleDBの設定

Auto Scalingトリガーの設定

サマリー画面

CloudFormationテンプレートの確認

テンプレートを使う

作成されたテンプレートを使うために、CloudFormationの画面に移動してCreate Stackを選択します。先ほど作成したテンプレートはS3に保存されていますのでS3のURLを指定しましょう。

まとめ

CloudFormerいかがでしたでしょうか。既存の環境をテンプレートとして丸ごと再現できる恐るべきツールです。JSON形式のテキストファイルですから、まずは実現したい環境を実際に作ってからCloudFormerでテンプレートを作成し、これをベースとして応用版のテンプレートを作成するのが良いかもしれません。ぜひ試してみてください。

参考資料

AWS CloudFormation Sample Templates - Asia Pacific (Tokyo) region

AWS Cloud Roadshow 2017 福岡