AWS CloudFormation
ユーザーガイド (API バージョン 2010-05-15)

CloudFormer (ベータ) を使用して既存の AWS リソースから AWS CloudFormation テンプレートを作成する

CloudFormer は、アカウントに既に存在する AWS リソースから AWS CloudFormation テンプレートを作成するテンプレート作成用のベータツールです。アカウントで実行中のサポートされている AWS リソースを選択すると、CloudFormer は Amazon S3 バケットにテンプレートを作成します。

CloudFormer を使用して、開始点として使用するテンプレートを作成します。必ずしもすべての AWS リソースまたはリソースプロパティがサポートされているとは限りません。

重要

CloudFormer は現在ベータ版です。重要な環境や本番環境では使用しないことをお勧めします。

次のリストでは、CloudFormer を使用するための基本的な手順を概説します。

  1. 既存のプロセスとツールを使用して必要なリソースをプロビジョニングし、設定します。

  2. CloudFormer スタックを作成して起動します。

    CloudFormer は AWS CloudFormation スタックです。そのスタックを AWS 環境から起動することによって CloudFormer を実行します。CloudFormer は t2.medium Amazon EC2 インスタンスで実行されるため、それ以外のリソースは必要ありません。

  3. CloudFormer を使用して、既存の AWS リソースでテンプレートを作成し、そのテンプレートを Amazon S3 バケットに保存します。

  4. CloudFormer スタックを削除します。

    通常はこれ以降、CloudFormer は不要です。そのため、スタックを削除することで、不要なコストを抑えることができます。

  5. テンプレートを使用し、必要に応じて新しいスタックを起動します。

以下のトピックでは、複数リソースから成るテンプレートの作成という基本的なシナリオ (Amazon EC2 インスタンス上の単純なウェブサイト) に沿って、CloudFormer の使用方法を説明します。ただし、この例は、数あるシナリオの 1 つにすぎません。CloudFormer では、サポートされている AWS リソースを自由に組み合わせてテンプレートを作成することができます。

ステップ 1: CloudFormer をスタックを作成する

CloudFormer はそれ自体が AWS CloudFormation スタックであるため、AWS CloudFormation コンソールからそのスタックを作成して起動することが最初のステップとなります。

AWS CloudFormation コンソールを使用して CloudFormer スタックを作成するには

  1. AWS CloudFormation コンソールにログインし、[新しいスタックの作成] をクリックしてスタック作成ウィザードを起動します。ログイン手順については、「AWS CloudFormation コンソールへのログイン」を参照してください。

  2. [テンプレートの選択] セクションで、[サンプルテンプレートの選択] を選択し、ドロップダウンリストから [CloudFormer] を選択します。

  3. [次へ] をクリックしてスタック名と入力パラメータを指定します。

  4. [名前] フィールドに CloudFormer スタックの名前を指定します。

  5. [パラメータ] セクションで、CloudFormer へのログインに使用するパスワードとユーザー名を入力し、[次へ] をクリックします。

    重要

    パスワードを空白にすることはできません。また、パスワードに特殊文字 (; & ! " £ $ % ^ ( ) / \ など) を使用することはできません。

  6. [Next] をクリックします。

    CloudFormer の場合、追加オプションを指定する必要はありません。

  7. スタックに関する情報を確認し、[I acknowledge that this template may create IAM resources (このテンプレートが IAM リソースを作成する可能性を認識しています)] を選択します。

  8. スタック情報を確認した後、[作成] をクリックして CloudFormer スタックの作成を開始します。

    CloudFormer は AWS CloudFormation スタックであるため、通常のスタック作成プロセスを行う必要があります。この作業には数分かかります。

ステップ 2: CloudFormer をスタックを起動する

CloudFormer スタックのステータスが [CREATE_COMPLETE] に変化したら、スタックを起動することができます。

CloudFormer スタックを起動するには

  1. AWS CloudFormation コンソールで CloudFormer スタックのエントリをクリックし、スタック情報ペインの [出力] タブを選択します。

  2. [] 列で URL をクリックすると、CloudFormer ツールが起動されます。

  3. CloudFormer をスタックを作成したときに指定したユーザー名とパスワードを入力します。

CloudFormer にログインすると、ツールの先頭ページがブラウザに表示されます。次のセクションでは、このページを使用してテンプレート作成を開始する方法を説明します。


               CloudFormer ツール

注記

CloudFormer スタックによって t2.medium Amazon EC2 インスタンスが起動されます。このスタックは、テンプレート作成後、ウォークスルーの最後に削除します。

作成した CloudFormer スタックは、アカウントの一連のスタックに追加されます。以後、テンプレートを作成するときは、この CloudFormer スタックを起動してください。同じ手順を再度行う必要はありません。

ステップ 3: CloudFormer を使用してテンプレートを作成する

CloudFormer を使ったテンプレートの作成を始める前にまず、テンプレートに追加するすべての AWS リソース が自分のアカウントに存在することを確認しておく必要があります。このウォークスルーは、アカウントに以下のものが存在することを前提としています。

  • Amazon EC2 インスタンス (AWS::EC2::Instance)。

  • Amazon EC2 セキュリティグループ (AWS::EC2::SecurityGroup)。このセキュリティグループをインスタンスに関連付ける必要があります。

  • Elastic IP アドレス (AWS::EC2::EIP).このアドレスをインスタンスに関連付ける必要があります。

CloudFormer を使用して AWS リソースからテンプレートを作成するには

  1. [Select the AWS Region (AWSリージョンを選択)] で、リストからテンプレートのリージョンを選択し、[Create Template (テンプレートを作成)] をクリックします。最初にアカウントが分析されるため、[Intro (はじめに)] ページが表示されるまでに数分かかる場合があります。

  2. [Intro (はじめに)] ページに、テンプレートの説明を入力します。

    このページでは、フィルタを使って特定のリソースを選択したり、アカウント内のすべてのリソースを選択したりすることができます。ただし、このウォークスルーでは、リソースを手動で指定します。[Resource Name Filter (リソース名フィルタ)] フィールドは空欄のままにし、[Select all resources in your account (アカウント内のすべてのリソースを選択)] チェックボックスはオフにして、[Continue (続行)] をクリックしてください。

  3. 以下のページで想定されているリソースは、このウォークスルーでは使用しません。今後の参考までに、それぞれのページをざっと確認し、[Continue (続行)] をクリックしてください。以下、それらのページを順に示します。

    1. [DNS Names (DNS 名)] では Route 53 レコードを追加できます。

    2. [Virtual Private Clouds] では、Amazon VPC を追加できます。

    3. [Virtual Private Cloud Network Topologies (Virtual Private Cloud ネットワークトポロジ)] では、Amazon VPC のサブネット、ゲートウェイ、DHCP 設定、VPN 接続を追加できます。

    4. [Virtual Private Cloud Security Configuration (Virtual Private Cloud セキュリティ設定)] では、ネットワーク ACL とルートテーブルを追加できます。

  4. [Network Resources (ネットワークリソース)] では、Elastic Load Balancing ロードバランサー、Elastic IP アドレス、CloudFront ディストリビューション、Amazon EC2 ネットワークインターフェイスを追加できます。テンプレートに追加する Elastic IP アドレスを選択し、[続行] をクリックします。

  5. [Compute Resources (コンピューティングリソース)] ページでは、Auto Scaling グループと Amazon EC2 インスタンスを追加できます。テンプレートの作成を開始する前に、Amazon EC2 インスタンスに Elastic IP アドレスを関連付けて、依存するリソースを作成しました。依存するインスタンスについては、[Compute Resources (コンピューティングリソース)] に進んだ時点で自動的に選択されるので、必要なインスタンスが選択されていることの確認だけで構いません。確認したら [Continue (続行)] をクリックします。

    注記

    必要に応じて他のインスタンスを手動で追加することもできます。自動的に選択されたインスタンスを追加しない場合は、単にそのチェックボックスをオフにします。

  6. 以下のページで想定されているリソースは、このウォークスルーでは使用しません。今後の参考までに、それぞれのページをざっと確認し、[Continue (続行)] をクリックしてください。以下、それらのページを順に示します。

    1. [Storage (ストレージ)] では、Amazon EBS ボリューム、Amazon RDS インスタンス、DynamoDB テーブル、Amazon S3 バケットを追加できます。

    2. [Application Services (アプリケーションサービス)] では、ElastiCache クラスター、Amazon SQS キュー、Amazon SimpleDB ドメイン、Amazon SNS トピックを追加できます。

      [System Configuration (システム構成)] では、Auto Scaling 起動設定、Amazon RDS サブネットグループ、ElastiCache パラメータグループ、Amazon RDS パラメータグループを追加できます。

  7. [Security Groups (セキュリティグループ)] ページでは、セキュリティグループを追加できます。テンプレートの作成を始める前に、Amazon EC2 のセキュリティグループを Amazon EC2 インスタンスに関連付けて、依存するリソースを作成しました。依存するセキュリティグループについては、[Security Groups (セキュリティグループ)] に進んだ時点で自動的に選択されるため、必要なグループが選択されていることの確認だけで構いません。確認したら [Continue (続行)] をクリックします。

    注記

    Amazon EC2 のセキュリティグループ、Amazon RDS のセキュリティグループなど、必要に応じて他のセキュリティグループを手動で追加することもできます。自動的に選択されたセキュリティ グループを追加しない場合は、単にそのチェックボックスをオフにします。

  8. [Operational Resources (運用リソース)] ページでは、Auto Scaling ポリシーと CloudWatch アラームを追加できます。このウォークスルーでは、どちらも使用しません。[Continue (続行)] をクリックしてください。

  9. [Summary (概要)] ページでは、次のことができます。

    • テンプレートに追加したリソースを確認できます。

      リソースを変更するには、[Back (戻る)] をクリックして適切なページに戻り、選択内容を適宜修正します。

    • リソースに割り当てられている自動的に生成された論理名を変更できます。

      論理名を変更するには、[Modify (変更)] をクリックし、[Logical Name (論理名)] フィールドに名前を入力します。

    • サイトの IP アドレスや URL など、必要な情報を提供する出力内容を指定できます。

      出力内容を変更するには、[Modify (変更)] をクリックし、適切な出力をリストから選択します。

    選択したリソースを確認し、必要な変更を行います。Elastic IP アドレス、Amazon EC2 インスタンス、Amazon EC2 セキュリティグループがそれぞれ 1 つ存在する必要があります。問題がなければ、[Continue (続行)] をクリックしてテンプレートを生成します。

  10. 生成されたテンプレートが [AWS CloudFormation Template (AWS CloudFormation テンプレート)] ページに表示されます。そのテンプレートを AWS CloudFormation で使用し、リソースをひとまとめにしてデプロイしたり、ベーステンプレートとして適宜変更を加えて使用することもできます。

    注記

    テンプレートには、明示的に指定したリソースに加え、Amazon EC2 インスタンスのアベイラビリティーゾーンなど、それらのリソースに関連付けられている値が含まれています。

    [S3 Bucket (S3 バケット)] リストから Amazon S3 バケットを選択し、[Save Template (テンプレートを保存)] をクリックしてテンプレートをバケットに保存します。それをアカウントの一連のスタックに追加してください。

    [Save Template (テンプレートを保存)] には、次の 2 つのオプションがあります。

    • [Launch Stack (スタックを起動)] を選択すると、指定した Amazon S3 バケットにテンプレートが保存された後すぐに、そのスタックが起動します。

    • [Create Template (テンプレートを作成)] を選択した場合は、指定した Amazon S3 バケットにテンプレートが保存されるだけです。

      たとえば、AWS CloudFormation コンソールを使用して、他のテンプレートとまったく同じように、あとからスタックを起動することができます。

ステップ 4: CloudFormer スタックの削除

テンプレートの作成はこれで完了です。以降、CloudFormer スタックは必要ありません。アカウントに対して不要な課金が行われないようにするには、AWS CloudFormation コンソールでスタックを選択し、[アクション] > [スタックの削除] の順に選択します。