5.2.2 スタックの作成
機能
この部品は,AWS CloudFormation環境で,Amazon S3バケットに保存されているテンプレートファイルからスタックを作成します。スタックを作成すると,テンプレートファイルに記述されているAWSリソースがAWS CloudFormationによって作成されます。
作成されたAWSリソースのリソースIDは,AWS.resourceIdプロパティに格納されます。複数のリソースが作成された場合には,コンマ区切りで出力されます。
ただし,リソースIDの長さの合計が1024文字を超える場合,1025文字目以降を含むリソースIDは切り捨てられます。
この部品が前提とするサーバを次に示します。
・AWS操作サーバ(実行対象サーバ)
AWS Tools for Windows PowerShell(以降,「AWS Tools」と呼ぶ)がインストールされているサーバです。本製品によってこのサーバに部品が転送され,実行されます。
この部品内のスクリプトでは,次に示すAWS Toolsのコマンドレットを実行します。
・New-CFNStack -StackName "スタック名(AWS.stackNameプロパティ)の値"
-OnFailure "スタック作成失敗時の動作(AWS.actionStackCreationFailプロパティ)の値"
-TemplateURL "Amazon S3バケットに保存されているテンプレートファイルのURL" ※1
[-Parameter "テンプレートファイルのパラメーターに設定する値"] ※2
-Capability "CAPABILITY_IAM"
-Force
※1 バケット名(AWS.bucketNameプロパティ)とキー名(AWS.keyNameプロパティ)を組み合わせた値。
※2 テンプレートパラメーターキー(AWS.templateParameterKeyプロパティ)とテンプレートパラメーター値(AWS.templateParameterValueプロパティ)を組み合わせた値。20組まで設定可能。
上記コマンドレットを実行したあと,作成したスタックの状態が"CREATE_COMPLETE"になることを確認します。
AWS Toolsのコマンドレットの詳細については,AWSドキュメントの「AWS Tools for Windows PowerShell Cmdlet Reference」を参照してください。
利用場面
この部品は,AWS CloudFormation環境でテンプレートファイルからAWSリソースを作成する時に使用できます。
前提条件
【実行対象サーバ内前提製品】/【実行対象サーバ内前提製品の稼働OS】の最新のサポート状況については,リリースノートを参照してください。
また、OSおよび製品について略称を用いています。対象とするOSおよび製品については「はじめに」を参照してください。
【実行対象サーバ内前提製品】
・AWS Tools for Windows PowerShell
・Microsoft .Net Framework 3.5以降
【実行対象サーバ内前提製品の稼働OS】
・Windows Server
【実行対象システムの使用条件】
(1) スタックに関する条件
・スタックの作成に使用するテンプレートファイルがAmazon S3バケットに保存されていること。
注意事項
(1) この部品のプロパティには「"」(ダブルクォーテーション)および「'」(シングルクォーテーション)を含む文字列は指定しないでください。
(2) スタック名(AWS.stackNameプロパティ)には,作成済みのスタック名を指定しないでください。指定した場合,タスクが異常終了します。
(3) その他の注意事項については,AWSドキュメントの「AWS Tools for Windows PowerShell Cmdlet Reference」の注意事項を参照してください。
実行権限
(1) AWSにログインするIAMユーザーが,次に示すアクションを行えるようにポリシー設定されている必要があります。
・スタックの作成および情報取得
・Amazon S3アップロートファイルの操作
・AWSリソースの作成
バージョン
02.01.00
部品のタグ
Add VM,AWS
タスクログに表示される部品の名称
awsCreateStack
戻り値
戻り値 |
説明 |
---|---|
0 |
正常 |
12 |
異常(ユーザーミス) プロパティ不正 |
23 |
異常(環境不正) 前提環境不正 |
27 |
異常(エラー内容はタスクログで確認) |
41 |
異常(部品内でエラーを検知) プロパティ未入力(部品スクリプトでエラーを検知) |
プロパティ一覧
プロパティ一覧を次の表に示します。
プロパティキー |
プロパティ名 |
説明 |
デフォルト値 |
入出力種別 |
必須区分 |
---|---|---|---|---|---|
plugin.destinationHost |
実行対象サーバのホスト名 |
この部品を実行するサーバのホスト名またはIPアドレスを指定します。IPv6アドレスには対応していません。 |
− |
入力 |
○ |
AWS.accessKeyId |
アクセスキーID |
AWSに接続するためのアクセスキーIDを指定します。 |
− |
入力 |
○ |
AWS.secretAccessKey |
シークレットアクセスキー |
AWSに接続するためのシークレットアクセスキーを指定します。 |
− |
入力 |
○ |
AWS.region |
リージョン |
接続先となるAWSのリージョンを指定します。 |
− |
入力 |
○ |
AWS.bucketName |
バケット名 |
テンプレートファイルをアップロードしたバケット名を指定します。 |
− |
入力 |
○ |
AWS.keyName |
キー名 |
アップロードしたテンプレートファイルに設定したキー名を指定します。 |
− |
入力 |
○ |
AWS.stackName |
スタック名 |
スタックの名称を指定します。 |
− |
入力 |
○ |
AWS.actionStackCreationFail |
スタック作成失敗時の動作 |
スタックの作成に失敗した時の動作を指定します。指定可能な値は"DO_NOTHING","ROLLBACK","DELETE"のどれかです。 |
− |
入力 |
○ |
AWS.checkStackCreationCount |
スタックの作成完了の確認回数 |
スタックの作成が完了したか確認する際の確認回数を指定します。スタックの作成完了の確認間隔と組み合わせて最大待ち時間となります。 |
− |
入力 |
○ |
AWS.checkStackCreationInterval |
スタックの作成完了の確認間隔 |
スタックの作成が完了したか確認する際の確認間隔を秒単位で指定します。 |
− |
入力 |
○ |
AWS.templateParameterKey1 |
テンプレートパラメーターキー1 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue1 |
テンプレートパラメーター値1 |
テンプレートパラメーターキー1に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey2 |
テンプレートパラメーターキー2 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue2 |
テンプレートパラメーター値2 |
テンプレートパラメーターキー2に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey3 |
テンプレートパラメーターキー3 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue3 |
テンプレートパラメーター値3 |
テンプレートパラメーターキー3に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey4 |
テンプレートパラメーターキー4 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue4 |
テンプレートパラメーター値4 |
テンプレートパラメーターキー4に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey5 |
テンプレートパラメーターキー5 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue5 |
テンプレートパラメーター値5 |
テンプレートパラメーターキー5に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey6 |
テンプレートパラメーターキー6 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue6 |
テンプレートパラメーター値6 |
テンプレートパラメーターキー6に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey7 |
テンプレートパラメーターキー7 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue7 |
テンプレートパラメーター値7 |
テンプレートパラメーターキー7に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey8 |
テンプレートパラメーターキー8 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue8 |
テンプレートパラメーター値8 |
テンプレートパラメーターキー8に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey9 |
テンプレートパラメーターキー9 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue9 |
テンプレートパラメーター値9 |
テンプレートパラメーターキー9に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey10 |
テンプレートパラメーターキー10 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue10 |
テンプレートパラメーター値10 |
テンプレートパラメーターキー10に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey11 |
テンプレートパラメーターキー11 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue11 |
テンプレートパラメーター値11 |
テンプレートパラメーターキー11に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey12 |
テンプレートパラメーターキー12 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue12 |
テンプレートパラメーター値12 |
テンプレートパラメーターキー12に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey13 |
テンプレートパラメーターキー13 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue13 |
テンプレートパラメーター値13 |
テンプレートパラメーターキー13に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey14 |
テンプレートパラメーターキー14 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue14 |
テンプレートパラメーター値14 |
テンプレートパラメーターキー14に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey15 |
テンプレートパラメーターキー15 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue15 |
テンプレートパラメーター値15 |
テンプレートパラメーターキー15に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey16 |
テンプレートパラメーターキー16 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue16 |
テンプレートパラメーター値16 |
テンプレートパラメーターキー16に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey17 |
テンプレートパラメーターキー17 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue17 |
テンプレートパラメーター値17 |
テンプレートパラメーターキー17に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey18 |
テンプレートパラメーターキー18 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue18 |
テンプレートパラメーター値18 |
テンプレートパラメーターキー18に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey19 |
テンプレートパラメーターキー19 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue19 |
テンプレートパラメーター値19 |
テンプレートパラメーターキー19に対応する値を指定します。 |
− |
入力 |
△ |
AWS.templateParameterKey20 |
テンプレートパラメーターキー20 |
テンプレートファイルに定義されているパラメーターのキー名称を指定します。 |
− |
入力 |
△ |
AWS.templateParameterValue20 |
テンプレートパラメーター値20 |
テンプレートパラメーターキー20に対応する値を指定します。 |
− |
入力 |
△ |
AWS.resourceId |
リソースID |
作成されたリソースのIDが格納されます。複数のリソースが作成された場合には,コンマ区切りで出力されます。 |
− |
出力 |
△ |
common.returnValue |
部品の戻り値 |
この部品の戻り値が格納されます。 |
− |
出力 |
△ |