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

cfn-init

説明

cfn-init ヘルパースクリプトは、AWS::CloudFormation::Init キーからテンプレートメタデータを読み取り、それに応じて次のような操作を行います。

  • CloudFormation のメタデータの取得と解析

  • パッケージのインストール

  • ディスクへのファイルの書き込み

  • サービスの有効化/無効化と開始/停止

注記

cfn-init を使用して既存のファイルを更新すると、同じディレクトリに元のファイルのバックアップコピーが作成され、.bak という拡張子が付けられます。たとえば、/path/to/file_name を更新すると、2 つのファイルが生成されます。/path/to/file_name.bak には元のファイルの内容が含まれ、/path/to/file_name には更新された内容が含まれます。

テンプレートメタデータについては、「AWS::CloudFormation::Init」を参照してください。

注記

cfn-init は認証情報を必要としないので、--access-key--secret-key--role、または --credential-file オプションを使用する必要はありません。

構文

Copy
cfn-init --stack|-s stack.name.or.id \ --resource|-r logical.resource.id \ --region region --access-key access.key \ --secret-key secret.key \ --role rolename\ --credential-file|-f credential.file \ --configsets|-c config.sets \ --url|-u service.url \ --http-proxy HTTP.proxy \ --https-proxy HTTPS.proxy \ --verbose|-v

オプション

名前 説明 必須

-s, --stack

スタックの名前です。

Type: String

デフォルト: なし

: -s { "Ref" : "AWS::StackName" },

はい

-r, --resource

メタデータを含むリソースの論理リソース ID です。

Type: String

: -r WebServerHost

はい

--region

使用する AWS CloudFormation リージョンのエンドポイントです。

Type: String

デフォルト: us-east-1

: --region ", { "Ref" : "AWS::Region" },

いいえ

--access-key

CloudFormation の DescribeStackResource を呼び出すアクセス許可を持つアカウントの AWS アクセスキーです。認証情報ファイルパラメーターは、このパラメーターより優先されます。

Type: String

いいえ

--secret-key

指定した AWS アクセスキーに対応する AWS シークレットアクセスキーです。

Type: String

いいえ

--role

インスタンスに関連付けられた IAM ロールの名前です。

Type: String

条件: 認証情報ファイルパラメーターは、このパラメーターより優先されます。

いいえ

-f, --credential-file

シークレットアクセスキーとアクセスキーの両方を含むファイルです。認証情報ファイルパラメーターは、--role、--access-key、および --secret-key パラメーターよりも優先されます。

Type: String

いいえ

-c, --configsets

実行する configset のカンマ区切りリスト (実行順)。

Type: String

デフォルト: default

いいえ

-u, --url

使用する AWS CloudFormation エンドポイントです。

Type: String

いいえ

--http-proxy

HTTP プロキシ (非 SSL)。次の形式を使用します。http://user:password@host:port

Type: String

いいえ

--https-proxy

HTTPS プロキシ。次の形式を使用します。https://user:password@host:port

Type: String

いいえ

-v

詳細を出力します。cfn-init が初期化に失敗した場合のデバッグに役立ちます。

注記

初期化イベントをデバッグするには、DisableRollback を有効にする必要があります。そのためには CloudFormation コンソールを使用し、[Show Advanced Options] を選択して [Rollback on failure] を [No] に設定します。次に、コンソールに SSH し、/var/log/cfn-init.log のログを読みます。

いいえ

Amazon Linux の例

次のスニペットは、WebServerInstance リソースに関連付けられた InstallAndRun configset を実行する EC2 インスタンスの UserData プロパティを示しています。

完全なサンプルテンプレートについては、「AWS CloudFormation による Amazon EC2 へのアプリケーションのデプロイ」を参照してください。

JSON

Copy
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [ "#!/bin/bash -xe\n", "# Install the files and packages from the metadata\n", "/opt/aws/bin/cfn-init -v ", " --stack ", { "Ref" : "AWS::StackName" }, " --resource WebServerInstance ", " --configsets InstallAndRun ", " --region ", { "Ref" : "AWS::Region" }, "\n" ]]} }

YAML

Copy
UserData: "Fn::Base64": !Sub | #!/bin/bash -xe /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource LaunchConfig --configsets wordpress_install --region ${AWS::Region}

このページの内容: