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

CloudFormation ヘルパースクリプトリファレンス

AWS CloudFormation には、スタックの一部として作成する Amazon EC2 インスタンスでソフトウェアをインストールしたりサービスを開始したりするために使用できる、次の Python ヘルパースクリプトが用意されています。

  • cfn-init: リソースメタデータの取得と解釈、パッケージのインストール、ファイルの作成、およびサービスの開始で使用します。

  • cfn-signal: CreationPolicy または WaitCondition でシグナルを送信するために使用し、前提となるリソースやアプリケーションの準備ができたときに、スタックの他のリソースを同期できるようにします。

  • cfn-get-metadata: 特定のキーへのリソースまたはパスのメタデータを取得するために使用します。

  • cfn-hup: メタデータへの更新を確認し、変更が検出されたときにカスタムフックを実行するために使用します。

テンプレートからスクリプトを直接呼び出します。スクリプトは、同じテンプレートで定義されているリソースメタデータと組み合わされて機能します。スクリプトは Amazon EC2 インスタンスでスタック作成プロセス中に実行されます。

注記

スクリプトはデフォルトでは実行されません。特定のヘルパースクリプトを実行するには、テンプレートに呼び出しを含める必要があります。

Amazon Linux AMI イメージ

AWS CloudFormation ヘルパースクリプトは Amazon Linux AMI イメージにプレインストールされています。

  • Amazon Linux AMI の最新バージョンでは、スクリプトは /opt/aws/bin にプレインストールされています。

  • 以前の Amazon Linux AMI バージョンでは、スクリプトを含む aws-cfn-bootstrap パッケージは、Yum リポジトリにあります。

その他のプラットフォーム用パッケージのダウンロード

Amazon Linux AMI イメージと Microsoft Windows (2008 以降) を除く Linux/Unix ディストリビューション用に、aws-cfn-bootstrap パッケージをダウンロードできます。

ファイル形式 URL のダウンロード

RPM

https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.amzn1.noarch.rpm

ソースファイル: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.src.rpm

TAR.GZ

https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz

Python の簡易インストールツールを使用します。Ubuntu 用のインストールを完了するには、シンボリックリンクを作成する必要があります。

ln -s /root/aws-cfn-bootstrap-latest/init/ubuntu/cfn-hup /etc/init.d/cfn-hup

ZIP

https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.zip

MSI

32 ビット Windows: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.msi

64 ビット Windows: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-win64-latest.msi

ヘルパースクリプトのアクセス許可

デフォルトでは、ヘルパースクリプトは認証情報を必要としないので、--access-key--secret-key--role、または --credential-file オプションを使う必要がありません。ただし、認証情報が指定されていない場合、AWS CloudFormation はスタックのメンバーシップを確認し、そのインスタンスが属するスタックの呼び出し範囲を制限します。

オプションを指定するように選択する場合、次のいずれかのみを指定することをお勧めします。

  • --role

  • --credential-file

  • --access-key と共に --secret-key

オプションを指定する場合は、さまざまなヘルパースクリプトが必要とするアクセス権限に注意してください。

IAM ポリシーで AWS CloudFormation に特定されるアクションと条件コンテキストキーの使用方法の詳細については、「AWS Identity and Access Management によるアクセスの制御」を参照してください。

最新バージョンの使用

ヘルパースクリプトは定期的に更新されます。ヘルパースクリプトを使用する場合は、必ずスクリプトの最新バージョンを使用してインスタンスを起動してください。

  • スクリプトを呼び出す前に、テンプレートの UserData プロパティに次のコマンドを含めます。このコマンドで、確実に最新バージョンを取得できます。

    yum install -y aws-cfn-bootstrap

  • yum install コマンドを含めずに、cfn-initcfn-signal、または cfn-get-metadata スクリプトを使用する場合、次のコマンドを使用して各 Amazon EC2 Linux インスタンスのスクリプトを手動で更新する必要があります。

    sudo yum install -y aws-cfn-bootstrap

  • yum install コマンドを含めずに、cfn-hup スクリプトを使用する場合、次のコマンドを使用して各 Amazon EC2 Linux インスタンスのスクリプトを手動で更新する必要があります。

    sudo yum install -y aws-cfn-bootstrap

    sudo /sbin/service cfn-hup restart

  • スクリプトのソースコードを使用して Linux の別バージョンまたは別のプラットフォームで作業する場合、独自の証明書信頼ストアを作成済みであれば、信頼ストアも常に更新しておく必要があります。

aws-cfn-bootstrap パッケージのバージョン履歴については、「AWS CloudFormation ヘルパースクリプトのリリース履歴」を参照してください。