Q: AWS CloudFormation とは何ですか?

AWS CloudFormation は、開発や本運用に必要な、互いに関連する AWS リソースのコレクションを作成しておき、そのリソースを適切な順序でプロビジョニングするためのサービスです。

Q: 以前できなかったことで、AWS CloudFormation で開発者は現在どのようなことができますか?

AWS CloudFormation を使用すれば、アプリケーションを駆動する関連リソースのグループを予測可能な方法で繰り返し作成する作業を自動化および簡素化できます。これで、アプリケーションの実行に必要なすべてのリソースの作成/相互接続が、単一の EC2 や RDS インスタンスを作成するのと同じくらい簡単になりました。

AWS を無料でお試しください

まずは無料で始める
またはコンソールにサインイン

AWS 無料利用枠には、Amazon ElastiCache の 750 時間分のマイクロキャッシュノードが含まれています。

AWS 無料利用枠の詳細はこちら »

Q: AWS CloudFormation と AWS Elastic Beanstalk はどのように異なるのですか?

これらのサービスは互いに補完するように設計されています。AWS Elastic Beanstalk は、クラウドでアプリケーションを簡単にデプロイおよび実行できる環境を提供します。これは開発者用ツールと統合されており、アプリケーションのライフサイクルを管理するための「ワンストップ」体験を提供しています。AWS CloudFormation は、広範にわたる AWS リソース用の便利なデプロイメカニズムです。これは、既存のエンタープライズアプリケーション、レガシーアプリケーション、様々な AWS リソースを使って構築されたアプリケーション、およびコンテナベースのソリューション(AWS Elastic Beanstalk を使用して構築されたものを含む)など、様々なタイプのアプリケーションのインフラストラクチャニーズをサポートします。

AWS CloudFormation は、AWS リソースタイプの1つとして Elastic Beanstalk アプリケーション環境をサポートしています。これにより、例えば、AWS Elastic Beanstalk がホストするアプリケーションを、アプリケーションデータの格納のために RDS データベースと一緒に作成/管理できます。RDS インスタンスに加えて、他のサポートされている AWS リソースをグループに追加することもできます。

Q: AWS CloudFormation では、どのような新しい概念が導入されていますか?

AWS CloudFormation では 2 つの概念を導入しています。1 つ目はテンプレートで、アプリケーションの実行のためにデプロイする必要がある AWS リソースをすべて記述した JSON フォーマットまたは YAML フォーマットのテキストベースファイルです。2 つ目はスタックで、テンプレートが AWS CloudFormation によってインスタンス化されるときに単一のユニットとして作成、管理される 1 セットの AWS リソースです。

Q: どのように AWS CloudFormation を開始すればよいのですか?

AWS CloudFormation には、AWS マネジメントコンソールから簡単にアクセスできます。このウェブベースのインターフェイスでは、ポイントアンドクリック方式でスタックのデプロイと管理を行うことができます。AWS マネジメントコンソール内で、いくつかの簡単な手順で新しいスタックを作成することができます。

  1. スタックの命名: スタックに一意の名前を指定します。
  2. テンプレートの選択: ローカルファイルシステムまたは Amazon S3 URL からテンプレートを選択します。これは、AWS CloudFormation サンプルテンプレート、お客様独自のカスタムテンプレート、ソースコントロールリポジトリで管理しているテンプレート、またはサードパーティから得たテンプレートのいずれかです。
  3. パラメータの指定: デプロイを設定できるテンプレートの場合、任意のパラメータに入力するか、または指定されたデフォルトを使用します。
  4. [作成] をクリック: デプロイを開始します。AWS マネジメントコンソールで、すべてのリソース名やスタックのイベントなど、デプロイの現在の状態を見ることができます。

Q: AWS CloudFormation は、どのようなリソースをサポートしていますか?

サポート対照の AWS リソースとその機能については、ドキュメントのリリース履歴からサポート対象の AWS サービスページを参照してください。

AWS CloudFormation カスタムリソースを使うと、追加の AWS リソースと AWS 以外のリソースを管理できます。

Q: AWS CloudFormation スタックの一部である個々の AWS リソースを管理することはできますか?

はい。AWS CloudFormation はお客様の邪魔はしません。お客様は、インフラストラクチャのすべての要素を完全にコントロールできます。すべての既存の AWS とサードパーティ製のツールをそのまま使って、AWS リソースを管理できます。

Q: AWS CloudFormation テンプレートの要素には何がありますか?

AWS CloudFormation テンプレートは、5 種類の要素で構成されている JSON フォーマットまたは YAML フォーマットのテキストファイルです。

  1. テンプレートパラメータのオプションリスト(入力値はスタック作成時に供給されます)。
  2. 出力値のオプションリスト(例えば、ウェブアプリケーションの完全な URL)。
  3. 静的な設定値を見るのに使用するデータテーブルのオプションリスト(AMI 名など)。
  4. AWS リソースとそれらの設定値のリスト。
  5. テンプレートファイルフォーマットのバージョン番号。

パラメータを使用すると、スタックを作成する際に、実行時のテンプレートの側面をカスタマイズできます。例えば、Amazon RDS データベースのサイズ、Amazon EC2 インスタンスタイプ、データベース、およびウェブサーバーのポート番号は、スタック作成時に AWS CloudFormation にわたすことができます。各パラメータにはデフォルト値と説明を入れることができ、「NoEcho」としてマークすることで、画面上と AWS CloudFormation イベントログにおいて入力した実際の値を非表示にすることができます。AWS CloudFormation スタックの作成時に、AWS Management Console により自動的に統合され、ポップアップダイアログのフォームが表示されるので、そこでパラメータ値を編集することができます。

出力値は、AWS マネジメントコンソールまたはコマンドラインツールを介して、ユーザーにスタックの主要リソース(Elastic Load Balancing ロードバランサーや Amazon RDS データベースのアドレスなど)を提示できる非常に便利な方法です。単純な機能を使用して、AWS リソースに関連付けられた文字列リテラルと属性値を連結できます。

Q: AWS CloudFormation は、どのように実際のリソース名を選択するのですか?

テンプレートで AWS リソースに論理名を割り当てることができます。スタックが作成されるときに、AWS CloudFormation は対応する実際の AWS リソース名に論理名をバインドします。実際のリソース名は、スタックと論理リソース名の組み合わせです。これにより、AWS リソース間での名前の衝突を心配せずに、テンプレートから複数のスタックを作成することができます。

Q: すべてのリソースに名前を付けられないのはなぜですか?

AWS CloudFormation のリソースの一部には名前を付けられますが(Amazon S3 バケットなど)、すべてのリソースに名前を付けられるわけではありません。リソースに名前を付けると、テンプレートの再利用が制限され、更新のためリソースの入れ替えが必要になったときに名前の競合が発生します。このような問題を最小限にするため、CloudFormation でリソース名を付けることがサポートされるかどうかは、ケースバイケースになります。

Q: AWS CloudFormation を使用してスタックの作成時にソフトウェアをインストールできますか?

はい。AWS CloudFormation は、アプリケーションのブートストラップスクリプト一式を提供するので、CloudFormation テンプレートにそれらを記述するだけで、EC2 インスタンスにパッケージ、ファイル、およびサービスをインストールできます。詳細と操作手順については、AWS CloudFormation を介したアプリケーションのブートストラップをご覧ください。

Q: Chef と AWS CloudFormation は一緒に使用することができますか?

はい。AWS CloudFormation は、EC2 インスタンス上の Chef Server と Chef Client ソフトウェアの両方をブートストラップするのに使用することができます。詳細と操作手順については、AWS CloudFormation を Chef と統合をご覧ください。

Q: Puppet と AWS CloudFormation は一緒に使用することができますか?

はい。AWS CloudFormation は、EC2 インスタンス上の Puppet Master と Puppet Client ソフトウェアの両方をブートストラップするのに使用することができます。詳細と操作手順については、AWS CloudFormation を Puppet と統合をご覧ください。

Q: AWS CloudFormation は Amazon EC2 のタグ付けをサポートしていますか?

はい。タグ付け機能をサポートする Amazon EC2 リソースは、AWS テンプレートでもタグ付けを行うことができます。タグ値は、テンプレートのパラメータ、その他のリソース名、リソースの属性値(アドレスなど)、またはシンプルな機能(文字列のリストを連結など)で計算された値を指すことができます。

AWS CloudFormation は、一部である AWS CloudFormation スタック名で自動的に Amazon EBS ボリュームおよび Amazon EC2 インスタンスをタグ付けします。

Q: Amazon EC2 インスタンスまたは Auto Scaling の起動設定ユーザーデータフィールドにアクセスできますか?

はい。シンプルな機能を使用して、文字列リテラルと AWS リソースの属性値を連結して、テンプレート内のユーザーデータフィールドにそれらを渡すことができます。簡単使用の機能の詳細については、当社のサンプルテンプレートをご参照ください。

Q: スタックのリソースの 1 つが正常に作成できない場合はどうなりますか?

デフォルトでは、「エラー時の自動ロールバック」機能が有効になっています。これにより、エラーが発生するまでに AWS CloudFormation がスタックに正常に作成したすべての AWS リソースは削除されます。これは、例えば、お客様が誤って Elastic IP アドレスのデフォルト制限を超えた時、または実行しようとしている EC2 AMI へアクセスできない際などに便利です。この機能により、スタックが完全に作成されているのか、全く作成されていないのかという事実の信頼性が確実になり、システム管理と AWS CloudFormation に構築されているレイヤー化されたソリューションが簡素化されます。

Q: アプリケーションが起動するまでスタック作成を待つことはできますか?

はい。AWS CloudFormation では、バリアとして機能する WaitCondition リソースを提供しており、これはアプリケーションや管理システムなどの外部ソースから完了信号を受信するまで、他のリソースの作成をブロックします。

Q: スタックが削除された際に、自分のデータを保存することはできますか?

はい。AWS CloudFormation では、テンプレート内のリソースの削除ポリシーを定義することができます。それらが削除される前に、Amazon EBS ボリュームや Amazon RDS データベースインスタンスにスナップショットを作成することを指定することができます。また、スタックが削除された際にも、リソースを保持して削除しないように指定できます。これは、スタックが削除される際に、Amazon S3 バケットを保持するのに便利です。

Q: スタックが作成された後にそれを更新できますか?

はい。AWS CloudFormation を使用して、制御された予測可能な方法で、既存のスタックのリソースを変更して更新できます。テンプレートを使用してスタックの変更を管理することで、AWS インフラストラクチャで動作するソフトウェアの場合と同様に、AWS インフラストラクチャにバージョンコントロールを適用できます。

Q: スタックを Virtual Private Cloud(VPC)の中に作成できますか?

はい。CloudFormation でサポートされるものには、VPC、サブネット、ゲートウェイ、ルートテーブル、およびネットワーク ACL の作成に加えて、各種リソースの作成があります。例えば、Elastic IP、Amazon EC2 インスタンス、EC2 セキュリティグループ、Auto Scaling group、Elastic Load Balancing、Amazon RDS データベースインスタンスおよび Amazon RDS セキュリティグループを VPC の中で作成することができます。



Q: AWS CloudFormation にはどのようにサインアップすればよいのですか?

AWS CloudFormation にサインアップするには、AWS CloudFormation の詳細ページで [今すぐ無料でお試し] をクリックします。サインアップ後、AWS CloudFormation 文書を参照してください。ここには当社の入門ガイドが含まれています。

Q: AWS CloudFormation にサインアップする際、私の電話番号を検証するよう求められるのはなぜですか?

AWS CloudFormation の登録には、有効な電話番号とEメールアドレスを AWS に提出することが必要です。これはお客様に連絡する必要が生じた場合のためです。電話番号の検証に要するのは数分のみです。ここでは登録プロセス中に電話を受信し、電話のキーパッドを使用して PIN 番号を入力します。

Q: サインアップした後、どのように開始するのですか?

AWS CloudFormation を始める方法として最良なのは、当社の技術文書が含まれている入門ガイドの手順に従うことです。Tracks や WordPress などのアプリケーションを実行するために必要なインフラストラクチャを作成する方法を示すサンプルテンプレートのいずれかを使用すると、数分以内に、デプロイすることができるでしょう。

Q: AWS CloudFormation を試してみるのに使用できるサンプルのテンプレートはありますか?

はい。AWS CloudFormation には、製品をテストし、その機能を確認できるサンプルテンプレートが含まれています。当社のサンプルテンプレートは、複数のアベイラビリティーゾーンの冗長性、スケールアウト、アラームのためのベストプラクティスにしたがい、複数の AWS リソースを相互接続して合わせて使用する方法を示しています。開始するには、AWS マネジメントコンソールにアクセスし、[スタックを作成] をクリックし、手順にしたがってサンプルのいずれかを選択し起動するだけです。スタックが作成されたら、コンソール内で目的のスタックを選択し、[テンプレート] タブと [パラメータ] タブを調べて、各スタックの作成に使用されたテンプレートファイルの詳細を確認します。

Q: AWS CloudFormation にはどのくらいの費用がかかりますか?

AWS CloudFormation に対する追加料金はありません。作成された AWS リソース(Amazon EC2 インスタンス、Elastic Load Balancing ロードバランサーなど)に対してのみお支払いいただきます。

Q: スタック作成に失敗した際にロールバックされたリソースに対しても課金されますか?

はい。全体としてスタックが正常に作成されたかどうかに関係なく、テンプレートのインスタンス化時に作成された AWS リソースへの料金が適用されます。

Q: テンプレートまたはスタック数に制限はありますか?

テンプレート数に制限はありません。各 AWS CloudFormation アカウントに対して、スタックの最大数は 200 に制限されています。制限値の変更については、こちらから申請してください。2 営業日以内に返答いたします。

Q: 説明フィールドの文字数に制限はありますか?

テンプレート、パラメータ、出力、およびリソースの説明用のフィールドは、4,096 文字に制限されています。

Q: テンプレートのパラメータまたは出力の数に制限はありますか?

テンプレートには 60 のパラメータおよび 60 の出力を含めることができます。

Q: 各リージョンの AWS CloudFormation サービスのアクセスポイントは何ですか?

各リージョンのエンドポイントについては、技術ドキュメントに記載されています。

Q: 現在、AWS CloudFormation が利用可能な AWS リージョンを教えてください。

CloudFormation のリージョン別の可用性の詳細については、製品およびサービス一覧 (リージョン別) を参照してください。