AWS CloudFormation Tools for を使用した の例 PowerShell - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

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

AWS CloudFormation Tools for を使用した の例 PowerShell

次のコード例は、 AWS Tools for PowerShell で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています AWS CloudFormation。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、関連するシナリオやサービス間の例ではアクションのコンテキストが確認できます。

「シナリオ」は、同じサービス内で複数の関数を呼び出して、特定のタスクを実行する方法を示すコード例です。

各例には、 へのリンクが含まれています。このリンクには GitHub、コンテキスト内でコードをセットアップして実行する方法の手順が記載されています。

トピック

アクション

次の例は、Get-CFNStack を使用する方法を説明しています。

のツール PowerShell

例 1: ユーザーのスタックのすべてを記述するスタックインスタンスのコレクションを返します。

Get-CFNStack

例 2: 指定されたスタックを記述するスタックインスタンスを返します。

Get-CFNStack -StackName "myStack"

例 3: 手動ページングを使用して、ユーザーのスタックのすべてを記述するスタックインスタンスのコレクションを返します。次のページの開始トークンは、呼び出しごとに取得されます。$null は、取得する詳細情報が残っていないことを示します。

$nextToken = $null do { Get-CFNStack -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
  • API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンスDescribeStacks」の「」を参照してください。

次の例は、Get-CFNStackEvent を使用する方法を説明しています。

のツール PowerShell

例 1: 指定されたスタックに関するすべてのスタック関連イベントを返します。

Get-CFNStackEvent -StackName "myStack"

例 2: 指定されたトークンから始まる手動ページングを使用して、指定されたスタックに関するすべてのスタック関連イベントを返します。次のページの開始トークンは、呼び出しごとに取得されます。$null は、取得するイベントが残っていないことを示します。

$nextToken = $null do { Get-CFNStack -StackName "myStack" -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
  • API の詳細については、「 コマンドレットリファレンスDescribeStackEvents」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Get-CFNStackResource を使用する方法を説明しています。

のツール PowerShell

例 1: 論理 ID「MyDBInstance」を使用して、指定されたスタックに関連付けられているテンプレートで識別されたリソースの説明を返します。

Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
  • API の詳細については、「 コマンドレットリファレンスDescribeStackResource」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Get-CFNStackResourceList を使用する方法を説明しています。

のツール PowerShell

例 1: 指定されたスタックに関連付けられた最大 100 個の AWS リソースのリソースの説明を返します。スタックに関連付けられているすべてのリソースの詳細を取得するにはStackResourceSummary、Get-CFN を使用します。これは、結果の手動ページングもサポートしています。

Get-CFNStackResourceList -StackName "myStack"

例 2: 論理 ID「Ec2Instance」を使用して、指定されたスタックに関連付けられているテンプレートで識別された Amazon EC2 インスタンスの説明を返します。

Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"

例 3: インスタンス ID「i-123456」で識別される Amazon EC2 インスタンスが含まれるスタックに関連付けられた、最大 100 個のリソースの説明を返します。スタックに関連付けられているすべてのリソースの詳細を取得するにはStackResourceSummary、Get-CFN を使用します。これは、結果の手動ページングもサポートしています。

Get-CFNStackResourceList -PhysicalResourceId "i-123456"

例 4: スタックのテンプレートで論理 ID「Ec2Instance」によって識別される Amazon EC2 インスタンスの説明を返します。スタックは、スタックに含まれるリソースの物理リソース ID を使用して識別され、この場合はインスタンス ID が「i-123456」の Amazon EC2 インスタンスも含まれます。テンプレートのコンテンツによっては、スタックの識別に異なる物理リソース (Amazon S3 バケットなど) を使用することもできます。

Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
  • API の詳細については、「 コマンドレットリファレンスDescribeStackResources」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Get-CFNStackResourceSummary を使用する方法を説明しています。

のツール PowerShell

例 1: 指定されたスタックに関連付けられているすべてのリソースの説明を返します。

Get-CFNStackResourceSummary -StackName "myStack"

例 2: 結果の手動ページングを使用して、指定されたスタックに関連付けられているすべてのリソースの説明を返します。次のページの開始トークンは、呼び出しごとに取得されます。$null は、取得する詳細情報が残っていないことを示します。

$nextToken = $null do { Get-CFNStackResourceSummary -StackName "myStack" -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
  • API の詳細については、「 コマンドレットリファレンスListStackResources」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Get-CFNStackSummary を使用する方法を説明しています。

のツール PowerShell

例 1: すべてのスタックの概要情報を返します。

Get-CFNStackSummary

例 2: 現在作成中のすべてのスタックの概要情報を返します。

Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"

例 3: 現在作成中または更新中のすべてのスタックの概要情報を返します。

Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")

例 4: 結果の手動ページングを使用して、現在作成中または更新中のすべてのスタックの概要情報を返します。次のページの開始トークンは、呼び出しごとに取得されます。$null は、取得する詳細情報が残っていないことを示します。

$nextToken = $null do { Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS") -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
  • API の詳細については、「 コマンドレットリファレンスListStacks」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Get-CFNTemplate を使用する方法を説明しています。

のツール PowerShell

例 1: 指定されたスタックに関連付けられているテンプレートを返します。

Get-CFNTemplate -StackName "myStack"
  • API の詳細については、「 コマンドレットリファレンスGetTemplate」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Measure-CFNTemplateCost を使用する方法を説明しています。

のツール PowerShell

例 1: テンプレートの実行に必要なリソースを記述したクエリ文字列を含む AWS 簡易見積りツール URL を返します。テンプレートは指定された Amazon S3 URL から取得され、単一のカスタマイゼーションパラメータが適用されます。パラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。

Measure-CFNTemplateCost -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Region us-west-1 ` -Parameter @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" }

例 2: テンプレートの実行に必要なリソースを記述したクエリ文字列を含む AWS 簡易見積りツール URL を返します。テンプレートは、指定されたコンテンツと適用されたカスタマイズパラメータから解析されます (この例では、テンプレートコンテンツがKeyName「」と「」の 2 つのパラメータを宣言することを前提としていますInstanceType)。カスタマイズパラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。

Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" },` @{ ParameterKey="InstanceType"; ParameterValue="m1.large" })

例 3: New-Object を使用してテンプレートパラメータのセットを構築し、テンプレートの実行に必要なリソースを説明するクエリ文字列を含む AWS 簡易見積りツール URL を返します。テンプレートは指定されたコンテンツから解析され、カスタマイズパラメータが使用されます (この例では、テンプレートコンテンツがKeyName「」と「」の 2 つのパラメータを宣言することを前提としていますInstanceType)。

$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "KeyName" $p1.ParameterValue = "myKeyPairName" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "InstanceType" $p2.ParameterValue = "m1.large" Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" -Parameter @( $p1, $p2 )
  • API の詳細については、「 コマンドレットリファレンスEstimateTemplateCost」の「」を参照してください。 AWS Tools for PowerShell

次の例は、New-CFNStack を使用する方法を説明しています。

のツール PowerShell

例 1: 指定された名前を使用して新しいスタックを作成します。テンプレートは、カスタマイゼーションパラメータを使用して、提供されたコンテンツから解析されます (「PK1」と「PK2」はテンプレートコンテンツで宣言されたパラメータの名前を表し、「PV1」と「PV2」はこれらのパラメータの値を表します)。カスタマイズパラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。スタックの作成に失敗しても、スタックはロールバックされません。

New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $true

例 2: 指定された名前を使用して新しいスタックを作成します。テンプレートは、カスタマイゼーションパラメータを使用して、提供されたコンテンツから解析されます (「PK1」と「PK2」はテンプレートコンテンツで宣言されたパラメータの名前を表し、「PV1」と「PV2」はこれらのパラメータの値を表します)。カスタマイズパラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。スタックの作成に失敗すると、スタックがロールバックされます。

$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "PK1" $p1.ParameterValue = "PV1" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "PK2" $p2.ParameterValue = "PV2" New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( $p1, $p2 ) ` -OnFailure "ROLLBACK"

例 3: 指定された名前を使用して新しいスタックを作成します。テンプレートは、Amazon S3カスタマイズパラメータ (「PK1」はテンプレートコンテンツで宣言されたパラメータの名前を表し、「PV1」はパラメータの値を表します。 カスタマイズパラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。 スタックの作成に失敗すると、ロールバックされます (-DisableRollback $false の指定と同じです)。

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

例 4: 指定された名前を使用して新しいスタックを作成します。テンプレートは、Amazon S3カスタマイズパラメータ (「PK1」はテンプレートコンテンツで宣言されたパラメータの名前を表し、「PV1」はパラメータの値を表します。 カスタマイズパラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。 スタックの作成に失敗すると、ロールバックされます (-DisableRollback $false の指定と同じです)。指定された通知 AEN は、公開されたスタック関連のイベントを受け取ります。

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )
  • API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンスCreateStack」の「」を参照してください。

次の例は、Remove-CFNStack を使用する方法を説明しています。

のツール PowerShell

例 1: 指定されたスタックを削除します。

Remove-CFNStack -StackName "myStack"
  • API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンスDeleteStack」の「」を参照してください。

次の例は、Resume-CFNUpdateRollback を使用する方法を説明しています。

のツール PowerShell

例 1: 指定されたスタックのロールバックを続行します。このスタックの状態は「UPDATE_ROLLBACK_FAILED」になっている必要があります。続行されたロールバックが成功すると、スタックの状態が「UPDATE_ROLLBACK_COMPLETE」になります。

Resume-CFNUpdateRollback -StackName "myStack"
  • API の詳細については、「 コマンドレットリファレンスContinueUpdateRollback」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Stop-CFNUpdateStack を使用する方法を説明しています。

のツール PowerShell

例 1: 指定されたスタックで行われている更新をキャンセルします。

Stop-CFNUpdateStack -StackName "myStack"
  • API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンスCancelUpdateStack」の「」を参照してください。

次の例は、Test-CFNTemplate を使用する方法を説明しています。

のツール PowerShell

例 1: 指定されたテンプレートコンテンツを検証します。出力は、テンプレートの機能、説明、パラメータを詳しく説明します。

Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"

例 2: Amazon S3 URL 経由でアクセスされる、指定されたテンプレートを検証します。出力は、テンプレートの機能、説明、パラメータを詳しく説明します。

Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template
  • API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンスValidateTemplate」の「」を参照してください。

次の例は、Update-CFNStack を使用する方法を説明しています。

のツール PowerShell

例 1: 指定されたテンプレートとカスタマイゼーションパラメータでスタック「MyStack」を更新します。「PK1」はテンプレートで宣言されているパラメータの名前を表し、「PV1」はその値を表します。カスタマイズパラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。

Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

例 2: 指定されたテンプレートとカスタマイゼーションパラメータでスタック「MyStack」を更新します。「PK1」と「PK2」はテンプレートで宣言されているパラメータの名前を表し、「PV1」と「PV2」はそれらの要求された値を表します。カスタマイズパラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。

Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )

例 3: 指定されたテンプレートとカスタマイゼーションパラメータでスタック「MyStack」を更新します。「PK1」はテンプレートで宣言されているパラメータの名前を表し、「PV2」はその値を表します。カスタマイズパラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。

Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }

例 4: 指定されたテンプレート (Amazon S3 から取得されたもの) とカスタマイゼーションパラメータでスタック「MyStack」を更新します。「PK1」と「PK2」はテンプレートで宣言されているパラメータの名前を表し、「PV1」と「PV2」はそれらの要求された値を表します。カスタマイズパラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。

Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )

例 5: 指定されたテンプレート (Amazon S3 から取得されたもの) とカスタマイゼーションパラメータでスタック「MyStack」(この例では IAM リソースが含まれていることを想定) を更新します。「PK1」と「PK2」はテンプレートで宣言されているパラメータの名前を表し、「PV1」と「PV2」はそれらの要求された値を表します。カスタマイズパラメータは、「Key」と「Value」の代わりに「Key」と「ValueParameterKeyParameterValue」を使用して指定することもできます。IAM リソースを含むスタックでは、-Capabilities「CAPABILITY_IAM」パラメータを指定する必要があります。指定しないと、InsufficientCapabilities「」エラーで更新が失敗します。

Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) ` -Capabilities "CAPABILITY_IAM"
  • API の詳細については、「 コマンドレットリファレンスUpdateStack」の「」を参照してください。 AWS Tools for PowerShell