aws:createStack – AWS CloudFormation スタックを作成する - AWS Systems Manager

aws:createStack – AWS CloudFormation スタックを作成する

テンプレートから AWS CloudFormation スタックを作成します。

CloudFormation スタックの作成に関する補足情報については、AWS CloudFormation API リファレンスの「CreateStack」を参照してください。

Input (入力)

YAML
name: makeStack action: aws:createStack maxAttempts: 1 onFailure: Abort inputs: Capabilities: - CAPABILITY_IAM StackName: myStack TemplateURL: http://s3.amazonaws.com/amzn-s3-demo-bucket/myStackTemplate TimeoutInMinutes: 5 Parameters: - ParameterKey: LambdaRoleArn ParameterValue: "{{LambdaAssumeRole}}" - ParameterKey: createdResource ParameterValue: createdResource-{{automation:EXECUTION_ID}}
JSON
{ "name": "makeStack", "action": "aws:createStack", "maxAttempts": 1, "onFailure": "Abort", "inputs": { "Capabilities": [ "CAPABILITY_IAM" ], "StackName": "myStack", "TemplateURL": "http://s3.amazonaws.com/amzn-s3-demo-bucket/myStackTemplate", "TimeoutInMinutes": 5, "Parameters": [ { "ParameterKey": "LambdaRoleArn", "ParameterValue": "{{LambdaAssumeRole}}" }, { "ParameterKey": "createdResource", "ParameterValue": "createdResource-{{automation:EXECUTION_ID}}" } } }
機能

CloudFormation が特定のスタックを作成する前に指定する値のリスト。一部のスタックテンプレートには、 のアクセス許可に影響するリソースが含まれますAWS アカウント このようなスタックの場合は、このパラメータを指定して、それらの機能を明示的に認識する必要があります。

有効な値は、CAPABILITY_IAMCAPABILITY_NAMED_IAM、および CAPABILITY_AUTO_EXPAND です。

CAPABILITY_IAM および CAPABILITY_NAMED_IAM

IAM リソースがある場合、どちらの機能でも指定できます。カスタム名を持つ IAM リソースがある場合は、CAPABILITY_NAMED_IAM を指定する必要があります。このパラメータを指定しない場合、このアクションは InsufficientCapabilities エラーを返します。次のリソースでは、CAPABILITY_IAM または CAPABILITY_NAMED_IAM を指定する必要があります。

スタックテンプレートにこのリソースが含まれている場合、これらに関連付けられるすべてのアクセス許可を確認して、必要時にはそのアクセス許可を編集することが推奨されます。

詳細については、「AWS CloudFormation テンプレートの IAM リソースの承認」を参照してください。

CAPABILITY_AUTO_EXPAND

一部のテンプレートにはマクロが含まれています。マクロはテンプレート上でカスタム処理を実行します。これには検索して置換操作のような単純なアクションからテンプレート全体の広範な変換までが含まれます。このためユーザーは通常、実際にスタックを作成する前に、マクロによって発生した変更を確認できるように、処理済みのテンプレートから変更セットを作成します。スタックテンプレートに 1 つ以上のマクロが含まれており、変更セットの結果を確認せずに、処理されたテンプレートから直接スタックを作成することを選択する場合、この機能を確認する必要があります。

詳細については、「AWS CloudFormation ユーザーガイド」の「AWS CloudFormation マクロを使用したテンプレートのカスタム処理の実行」を参照してください。

型: 文字列の配列

有効な値: CAPABILITY_IAM | CAPABILITY_NAMED_IAM | CAPABILITY_AUTO_EXPAND

必須: いいえ

ClientRequestToken

この CreateStack リクエストの一意の識別子。このステップで、maxAttempts に 1 より大きい値を設定する場合、このトークンを指定します。このトークンを指定することによって、同じ名前で新しいスタックの作成を試行していないことを CloudFormation が認識します。

型: 文字列

必須: いいえ

長さの制限: 最小長は 1 です。最大長は 128 です。

パターン: [a-zA-Z0-9][-a-zA-Z0-9]*

DisableRollback

スタックの作成に失敗した場合にスタックのロールバックをオフにするために、true を設定します。

条件付き: DisableRollback パラメータ、あるいは OnFailure パラメータのどちらかを指定できますが、両方を指定することはできません。

デフォルト: false

タイプ: ブール値

必須: いいえ

NotificationARNs

スタック関連イベントを発行する Amazon Simple Notification Service (Amazon SNS) トピックの ARN。Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home) を使用して SNS トピック ARN を検索できます。

型: 文字列の配列

配列メンバー: 5 つの項目の最大数。

必須: いいえ

OnFailure

スタックの作成に失敗した場合に実行するアクションを決定します。DO_NOTHINGROLLBACK または DELETE を指定する必要があります。

条件付き: OnFailure パラメータ、あるいは DisableRollback パラメータのどちらかを指定できますが、両方を指定することはできません。

デフォルト: ROLLBACK

型: 文字列

有効な値: DO_NOTHING | ROLLBACK | DELETE

必須: いいえ

パラメータ

スタック用の入力パラメータを指定する Parameter 構造のリスト。詳細については、「パラメータ」データタイプを参照してください。

タイプ: 「パラメータ」オブジェクトの配列

必須: いいえ

ResourceTypes

作成したこのスタックアクションで動作するアクセス許可があるテンプレートリソースの種類。たとえば、AWS::EC2::InstanceAWS::EC2::*、または Custom::MyCustomInstance などです。次の構文を使用して、テンプレートリソースの種類を記述します。

  • すべての AWS リソース用:

    AWS::*
  • すべてのカスタムリソース用:

    Custom::*
  • 特定のカスタムリソース用:

    Custom::logical_ID
  • 特定の AWS サービスのすべてのリソース用:

    AWS::service_name::*
  • 特定の AWS リソース用:

    AWS::service_name::resource_logical_ID

リソースの種類のリストに作成しているリソースが含まれていない場合、スタックの作成は失敗します。デフォルトでは、CloudFormation によりすべてのリソースタイプにアクセス許可が付与されます。IAM は、IAM ポリシーで CloudFormation 固有の条件キーにこのパラメータを使用します。詳細については、「AWS Identity and Access Management を使用したユーザーアクセスの制御」を参照してください。

型: 文字列の配列

長さの制限: 最小長は 1 です。最大長は 256 です。

必須: いいえ

RoleARN

CloudFormation がスタックを作成するために引き受ける IAM ロールの Amazon リソースネーム (ARN)。CloudFormation は、ユーザーに代わって呼び出しを行うために、このロールの認証情報を使用します。CloudFormation は、このスタックにおけるこれからのすべてのオペレーションにこのロールを常に使用します。ユーザーにこのスタックで操作できるアクセス許可がある限り、ユーザーに渡す許可がない場合でも、CloudFormation はこのロールを使用します。ロールに最小限の特権が付与されていることを確認してください。

値を指定しない場合、CloudFormation は以前にこのスタックに関連付けられたロールを使用します。利用できるロールがない場合、CloudFormation はユーザー認証情報から生成される一時セッションを使用します。

型: 文字列

長さの制限: 最小長は 20 です。最大長は 2048 です。

必須: いいえ

StackName

スタックに関連付けられた名前。この名前は、作成しているスタックのリージョン内で一意であることが必要です。

注記

スタック名には、英数字 (大文字と小文字が区別されます) とハイフンのみを使用できます。先頭の文字はアルファベット文字である必要があります。また、128 文字より長くすることはできません。

型: 文字列

必須: はい

StackPolicyBody

スタックポリシー本文を含む構造。詳細については、「スタックのリソースが更新されないようにする」を参照してください。

条件付き: StackPolicyBody パラメータ、あるいは StackPolicyURL パラメータのどちらかを指定できますが、両方を指定することはできません。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 16384 です。

必須: いいえ

StackPolicyURL

スタックポリシーを含むファイルの場所。URL は、スタックと同じリージョンにある S3 バケット内のポリシーを指定する必要があります。スタックポリシーに許可される最大のファイルサイズは 16 KB になります。

条件付き: StackPolicyBody パラメータ、あるいは StackPolicyURL パラメータのどちらかを指定できますが、両方を指定することはできません。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 1350 です。

必須: いいえ

タグ

このスタックに関連付るキー値のペア。また、CloudFormation はスタックで作成されたリソースにこれらのタグを伝達します。最大で 10 個のタグを指定できます。

タイプ: 「タグ」オブジェクトの配列

必須: いいえ

TemplateBody

最少長が 1 バイトで最大長が 51,200 バイトのテンプレート本文がある構造。詳細については、「テンプレートの分析」を参照してください。

条件付き: TemplateBody パラメータ、あるいは TemplateURL パラメータのどちらかを指定できますが、両方を指定することはできません。

型: 文字列

長さの制限: 最小長は 1 です。

必須: いいえ

TemplateURL

テンプレート本文を含むファイルの場所。URL は、S3 バケット内にあるテンプレートを指定する必要があります。テンプレートに許可される最大サイズは 460,800 バイトです。詳細については、「テンプレートの分析」を参照してください。

条件付き: TemplateBody パラメータ、あるいは TemplateURL パラメータのどちらかを指定できますが、両方を指定することはできません。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 1,024 です。

必須: いいえ

TimeoutInMinutes

スタックステータスが CREATE_FAILED になるまでに経過できる時間数。DisableRollback が設定されない、あるいは false に設定されている場合、スタックはロールバックされます。

タイプ: 整数

有効な範囲: 最小値 は 1 です。

必須:いいえ

出力

StackId

スタックの一意の識別子です。

型: 文字列

StackStatus

スタックの現在のステータス。

型: 文字列

有効な値: CREATE_IN_PROGRESS | CREATE_FAILED | CREATE_COMPLETE | ROLLBACK_IN_PROGRESS | ROLLBACK_FAILED | ROLLBACK_COMPLETE | DELETE_IN_PROGRESS | DELETE_FAILED | DELETE_COMPLETE | UPDATE_IN_PROGRESS | UPDATE_COMPLETE_CLEANUP_IN_PROGRESS | UPDATE_COMPLETE | UPDATE_ROLLBACK_IN_PROGRESS | UPDATE_ROLLBACK_FAILED | UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS | UPDATE_ROLLBACK_COMPLETE | REVIEW_IN_PROGRESS

必須: はい

StackStatusReason

スタックステータスに関連付けられる成功あるいは失敗のメッセージ。

型: 文字列

必須: いいえ

詳細については、「CreateStack」を参照してください

セキュリティに関する考慮事項

aws:createStack アクションを使用できる前に、IAM オートメーションが継承するロールに次のポリシーを割り当てる必要があります。継承ロールの詳細については、「タスク 1: 自動化のサービスロールを作成する」を参照してください。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "sqs:*", "cloudformation:CreateStack", "cloudformation:DescribeStacks" ], "Resource":"*" } ] }