CloudFormation ヘルパースクリプトリファレンス
AWS CloudFormation は、スタックの一部として作成する Amazon EC2 インスタンスでソフトウェアをインストールしたり、サービスを開始したりすることに使用できる次の Python ヘルパースクリプトを提供します。
-
cfn-init: リソースメタデータの取得と解釈、パッケージのインストール、ファイルの作成、およびサービスの開始で使用します。
-
cfn-signal: CreationPolicy または WaitCondition でシグナルを送信するために使用し、前提となるリソースやアプリケーションの準備ができたときに、スタックの他のリソースを同期できるようにします。
-
cfn-get-metadata: 特定のキーへのリソースまたはパスのメタデータを取得するために使用します。
-
cfn-hup: メタデータへの更新を確認し、変更が検出されたときにカスタムフックを実行するために使用します。
テンプレートからスクリプトを直接呼び出します。スクリプトは、同じテンプレートで定義されているリソースメタデータと組み合わされて機能します。スクリプトは Amazon EC2 インスタンスでスタック作成プロセス中に実行されます。
注記
スクリプトはデフォルトでは実行されません。特定のヘルパースクリプトを実行するには、テンプレートに呼び出しを含める必要があります。
Amazon Linux AMI イメージ
CloudFormation ヘルパースクリプトは、ブートストラップスクリプトがインストールされた Amazon Linux AMI イメージにプレインストールされています。
-
Amazon Linux AMI の最新バージョンでは、スクリプトは
/opt/aws/bin
にプレインストールされています。 -
以前の Amazon Linux AMI バージョンでは、スクリプトを含む aws-cfn-bootstrap パッケージは、Yum リポジトリにあります。
注記
ヘルパースクリプトは、Amazon Linux AMI の最新バージョンにプリインストールされており、Amazon Linux をベースとして使用する ECS に最適化されたイメージなど、最適化された AMI は対象外です。
その他のプラットフォーム用パッケージのダウンロード
Amazon Linux AMI イメージと Microsoft Windows (2008 以降) を除く Linux/Unix ディストリビューション用に、aws-cfn-bootstrap パッケージをダウンロードできます。
注記
ヘルパースクリプトのバージョン 2.0–1 以上は、Python 3.4 以上をサポートしています。以前のバージョンの Python をサポートするヘルパースクリプトが必要な場合は、「CloudFormation ヘルパースクリプト 1.4 のリリース履歴」を参照してください。
File format (ファイル形式) | URL のダウンロード |
---|---|
TAR.GZ |
Python の Pip を使用して tar.gz をインストールします。Ubuntu 用のインストールを完了するには、シンボリックリンクを作成する必要があります。
|
ZIP |
https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.zip |
EXE |
32 ビット Windows: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.exe 64 ビット Windows: https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-win64-latest.exe |
ヘルパースクリプトのアクセス許可
デフォルトでは、ヘルパースクリプトは認証情報を必要としないので、--access-key
、--secret-key
、--role
、または --credential-file
オプションを使う必要がありません。ただし、認証情報が指定されていない場合、CloudFormation はスタックのメンバーシップを確認し、そのインスタンスが属するスタックの呼び出し範囲を制限します。
オプションを指定するように選択する場合、次のいずれかのみを指定することをお勧めします。
-
--role
-
--credential-file
-
--access-key
と共に--secret-key
オプションを指定する場合は、さまざまなヘルパースクリプトが必要とするアクセス権限に注意してください。
-
cfn-signal
にはcloudformation:SignalResource
が必要です -
他のすべてのヘルパースクリプトは
cloudformation:DescribeStackResource
が必要です
IAM ポリシーで CloudFormation に特定されるアクションと条件コンテキストキーの使用方法の詳細については、「AWS Identity and Access Management で CloudFormation アクセスを制御する」をご参照ください。
最新バージョンの使用
ヘルパースクリプトは定期的に更新されます。ヘルパースクリプトを使用する場合は、必ずスクリプトの最新バージョンを使用してインスタンスを起動してください。
-
スクリプトを呼び出す前に、テンプレートの
UserData
プロパティに次のコマンドを含めます。このコマンドで、確実に最新バージョンを取得できます。yum install -y aws-cfn-bootstrap
-
yum install
コマンドを含めずに、cfn-init
、cfn-signal
、またはcfn-get-metadata
スクリプトを使用する場合、次のコマンドを使用して各 Amazon EC2 Linux インスタンスのスクリプトを手動で更新する必要があります。sudo yum install -y aws-cfn-bootstrap
注記
sudo yum install -y aws-cfn-bootstrap
を実行すると、yum
リポジトリからヘルパースクリプトがインストールされます。 -
yum install
コマンドを含めずに、cfn-hup
スクリプトを使用する場合、次のコマンドを使用して各 Amazon EC2 Linux インスタンスのスクリプトを手動で更新する必要があります。sudo yum install -y aws-cfn-bootstrap
sudo /sbin/service cfn-hup restart
注記
sudo yum install -y aws-cfn-bootstrap
を実行すると、yum
リポジトリからヘルパースクリプトがインストールされます。 -
スクリプトのソースコードを使用して Linux の別バージョンまたは別のプラットフォームで作業する場合、独自の証明書信頼ストアを作成済みであれば、信頼ストアも常に更新しておく必要があります。
aws-cfn-bootstrap パッケージのバージョン履歴については、「AWS CloudFormation ヘルパースクリプトのリリース履歴」を参照してください。