AWS CloudFormationを使ってEC2インスタンスを作成する

Pocket

はじめに

こんにちは、えびです。
今回はえびが積極的に使っているAWSのサービス「AWS CloudFormation」を紹介しようと思います。

CloudFormationとは?

jsonまたはyamlで作成されたテンプレートをもとに、自動的にEC2やRDSなどのAWSインフラのリソースを作成してくれるサービスです。
CloudFormation自体の利用料金は無料で、作成されたリソースのみ課金が発生します。

AWS CloudFormation – AWS公式ページ

CloudFormationの利点

主に下記のような利点が挙げられますが、一番の利点はバージョン管理ができることだと思います。
また似たような構成のテンプレートは他のプロジェクトでも利用することができます。

  • 利用料金無料。(作成されたリソースのみ課金が発生)
  • アプリケーションと同様に、インフラをバージョン管理できる。
  • よくある構成をテンプレート化することにより、構築工数を削減できる。

テンプレート

新規作成したVPCにEC2インスタンスを作成するサンプルテンプレートを作成してみました。
テンプレートがyamlに対応してからコメントも記述できるようになって良いですね。
TestSecurityGroupのCidrIpは適宜変更してください。

CloudFormationの設定

テンプレートの選択

マネジメントコンソールから「新しいスタックの作成」をクリックし、
S3にアップロードするテンプレートを選択します。

詳細の設定

作成するスタックの名前と、インスタンスに接続するためのキーペアを選択します。
スタックとはテンプレートから作成されるリソースの集合のことを言います。

オプション

今回は特に設定する必要がないので「次へ」をクリックします。

CloudFormationの実行

確認画面で「実行」をクリックすると、CloudFormationが実行され、
CloudFormationがAWSインフラを作成していきます。

ステータスが「CREATE_IN_PROGRESS」から「CREATE_COMPLETE」から変わると、
実行が完了です。

作成されたEC2インスタンスが一覧から確認できます。
スタックを削除すると作成されたリソースの一括削除が可能です。

最後に

いかがでしょうか。
インフラをテンプレート化することにより流用が可能となり、作業効率が大幅にアップします。
非常に良いサービスなので、是非使ってみてください。

Pocket

The following two tabs change content below.
えび
2013年入社。情シス所属の何でも屋さん。戦闘民族。本体はメガネ。好き:肉、日本酒