AWS CloudFormation は、関連する AWS リソースを収集し、整った予測可能な方法でそれらをプロビジョニングする簡単な方法を開発者やシステム管理者に提供します。以下のアーティクルとドキュメントには、テンプレートを構築し、様々な AWS CloudFormation 機能を使用して AWS リソースをプロビジョニングするためのガイダンスが含まれています。
AWS CloudFormation Designer は、ドラッグアンドドロップインターフェイスを使用して CloudFormation テンプレートを作成、変更できる視覚ツールです。リソースの追加、変更、削除を簡単に行うことができ、基本となる JSON は状況に応じて変更されます。実行中のスタックと関連付けられているテンプレートを変更する場合、テンプレートに適合するようにスタックを更新できます。
AWS CloudFormation により、Amazon EC2 インスタンス、Amazon RDS データベースインスタンス、および Elastic Load Balancing などの、アプリケーションを実行するために必要なリソースセットの作成が容易になります。テンプレートは、必要なリソース、および AWS CloudFormation が整った予測可能な方法でリソースをプロビジョニングする方法、障害または問題に対処してそれらから復旧する方法を説明します。AWS CloudFormation がすべてのリソースのプロビジョニングに対処するとは言っても、お客様のアプリケーションソフトウェアがどのように Amazon EC2 インスタンス上でデプロイされ、構成され、実行されるのかという疑問が残っていることでしょう。それには多くのオプションがありますが、ソフトウェアの新しいバージョンをデプロイするという点において、どれほど迅速にアプリケーションを準備するか、どれほど柔軟である必要があるかなどに、それがそれぞれ密接に関係します。
AWS CloudFormation は、アプリケーションを設定/インストールする際に役立ちます。また、お客様の環境で既にお使いのデプロイ/管理ツールをブートストラップするのに有用です。Chef は、Ruby で書かれた Opscode のオープンソースのインフラストラクチャオートメーションソリューションで、これによりお客様のシステムとその上にあるアプリケーションの構成をオートメーションできます。AWS CloudFormation と Chef は一緒に使用することができ、AWS リソースからアプリケーションのアーティファクトまで、デプロイと管理プロセス全体を自動化することができます。
AWS CloudFormation は、アプリケーションを設定/インストールする際に役立ちます。また、お客様の環境で既にお使いのデプロイ/管理ツールをブートストラップするのに有用です。Puppet は、アプリケーションおよびオペレーティングシステムのコンポーネントをプロビジョニング、構成、パッチ適用するためのオープンソースのプラットフォームです。AWS CloudFormation と Puppet は一緒に使用することができ、AWS リソースからアプリケーションのアーティファクトまで、デプロイと管理プロセス全体を自動化することができます。
これまでに、クッキングモードとして考えられるようなかたちで多くの人々が AWS を使用しています。いくつかのインスタンスを起動し、いくつかの Elastic IP アドレスを割り当て、いくつかのメッセージキューを作成するなどです。時にはこれがスクリプトやテンプレートを使用した半自動であったり、そして時には手動プロセスであったりします。システム全体の複雑性が増すにつれ、AMI の適切な組み合わせを起動し、それらを役割に割り当て、エラーに対処し、すべての可動部分を適切な位置に配置することがますます困難となってきています。しかし今、料理する皆さんは全員パン職人になれるのです!
このアーティクルには、Amazon Linux AMI を AWS CloudFormation と一緒に使用して、起動時にダイナミックにアプリケーションを起動し設定する方法が示されています。例では、AWS CloudFormation でサポートされている新しい WaitCondition リソースを使用し、スタックが正常に作成されていると見なされる前に、Ruby on Rails アプリケーションが構成されて起動するのを待ちます。またこの例では、Canonical が構築したオープンソースのアプリケーション、Cloud-init を Amazon Linux AMI がサポートしていることを活用しています。Cloud-init により、Amazon Elastic Compute Cloud (Amazon EC2) UserData パラメータを使用して、起動時にインスタンス上で実行するアクションを指定することができます。
この短いスライドプレゼンテーションでは、クラウドのプロビジョニングを編成して自動化する必要性を解説します。