スタックの作成 - AWS CloudFormation

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

スタックの作成

スタックを作成するには、aws cloudformation create-stack コマンドを実行します。スタック名、有効なテンプレートの場所、入力パラメーターが必要です。

パラメーターは、空白で区切られ、キー名は大文字と小文字が区別されます。aws cloudformation create-stack を実行するときにパラメータ名の入力を間違えると、AWS CloudFormation はスタックを作成せず、テンプレートにそのパラメータが含まれていないことをレポートします。

注記

手動でテンプレートを Amazon S3 または AWS Systems Manager にアップロードすることで、独自のバケットを使用してアクセス権限を管理できます。その場合は、スタックを作成または更新するたびに、テンプレートファイルの Amazon S3 または AWS Systems Manager を指定します。

デフォルトでは、aws cloudformation describe-stacks からパラメーターの値が返されます。パスワードなど、機密を要するパラメータ値が返されないようにするには、AWS CloudFormation テンプレートで、NoEcho プロパティを TRUE に設定します。

重要

NoEcho 属性を使用しても、以下に保存されている情報はマスクされません。

  • Metadata テンプレートセクション。CloudFormation は、Metadata セクションに含める情報の変換、変更、または編集を行いません。詳細については、「メタデータ」を参照してください。

  • Outputs テンプレートセクション。詳細については、「出力」を参照してください。

  • リソース定義の Metadata 属性。詳細については、「メタデータ属性」を参照してください。

パスワードやシークレットなどの機密情報を含めるには、これらのメカニズムを使用しないことを強くお勧めします。

重要

機密情報は、AWS CloudFormation テンプレートに直接埋め込まずに、スタックテンプレートの動的パラメータを使用して CloudFormation の外部 (AWS Systems Manager のパラメータストアや AWS Secrets Manager など) に保存して管理し、これを参照することをお勧めします。

詳細については、「テンプレートに認証情報を埋め込まない」のベストプラクティスを参照してください。

次の例は、Amazon S3 バケットの myteststack スタックを作成します。

PROMPT> aws cloudformation create-stack \ --stack-name myteststack \ --template-body file://home/testuser/mytemplate.json \ --parameters ParameterKey=Parm1, ParameterValue=test1 ParameterKey=Parm2, ParameterValue=test2 \ { "StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/myteststack/330b0120-1771-11e4-af37-50ba1b98bea6" }

次の例では、AWS Systems Manager ドキュメント内に myteststack スタックを作成します。

PROMPT> aws cloudformation create-stack \ --stack-name myteststack \ --template-url "ssm-doc://arn:aws:ssm:us-east-1:12345678912:document/documentName"