メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

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

AWS CloudFormation には、スタックの一部として作成する Amazon EC2 インスタンスでソフトウェアをインストールしたりサービスを開始したりするために使用できる Python ヘルパースクリプトのセットが用意されています。テンプレートからヘルパースクリプトを直接呼び出すことができます。スクリプトは、同じテンプレートで定義されているリソースメタデータと組み合わされて機能します。ヘルパースクリプトは Amazon EC2 インスタンスでスタック作成プロセスの一部として実行されます。

ヘルパースクリプトは Amazon Linux AMI の最新バージョンにプレインストールされています。他の UNIX/Linux AMI で使用するために、Amazon Linux yum リポジトリから入手することもできます。

現在、AWS CloudFormation では次のヘルパーが用意されています。

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

  • cfn-signal: AWS CloudFormation CreationPolicy または WaitCondition にシグナルを送信するためのシンプルなラッパー。スタック内の他のリソースと、準備ができたアプリケーションを同期させることができます。

  • cfn-get-metadata: リソースに対して定義されたすべてのメタデータ、またはリソースメタデータの特定のキーやサブツリーへのパスを簡単に取得できるようにするラッパースクリプト。

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

これらのスクリプトはデフォルトで最新の Amazon Linux AMI の /opt/aws/bin にインストールされます。Amazon Linux AMI の以前のバージョン用は Amazon Linux AMI yum リポジトリから入手でき、他の Linux/Unix ディストリビューション用は RPM から入手できます。スクリプトは Windows 用の Python を使用して Microsoft Windows (2008 以降) にインストールすることもできます。

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

AWS CloudFormation ヘルパースクリプトは以下の場所から入手できます。

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

  • スクリプトを呼び出す前に、テンプレートの 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 の別バージョンまたは別のプラットフォームで作業する場合、独自の証明書信頼ストアを作成済みであれば、信頼ストアも常に更新しておく必要があります。