AWS CloudFormation contoh menggunakan Alat untuk PowerShell - AWS SDKContoh Kode

Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS CloudFormation contoh menggunakan Alat untuk PowerShell

Contoh kode berikut menunjukkan cara melakukan tindakan dan mengimplementasikan skenario umum dengan menggunakan AWS Tools for PowerShell with AWS CloudFormation.

Tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakanGet-CFNStack.

Alat untuk PowerShell

Contoh 1: Mengembalikan koleksi instance Stack yang menjelaskan semua tumpukan pengguna.

Get-CFNStack

Contoh 2: Mengembalikan instance Stack yang menjelaskan tumpukan tertentu

Get-CFNStack -StackName "myStack"
  • Untuk API detailnya, lihat DescribeStacksdi AWS Tools for PowerShell Referensi Cmdlet.

Contoh kode berikut menunjukkan cara menggunakanGet-CFNStackEvent.

Alat untuk PowerShell

Contoh 1: Mengembalikan semua peristiwa terkait tumpukan untuk tumpukan tertentu.

Get-CFNStackEvent -StackName "myStack"

Contoh kode berikut menunjukkan cara menggunakanGet-CFNStackResource.

Alat untuk PowerShell

Contoh 1: Mengembalikan deskripsi sumber daya yang diidentifikasi dalam template yang terkait dengan tumpukan yang ditentukan oleh ID logis yDBInstance “M”.

Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"

Contoh kode berikut menunjukkan cara menggunakanGet-CFNStackResourceList.

Alat untuk PowerShell

Contoh 1: Mengembalikan deskripsi AWS sumber daya hingga 100 sumber daya yang terkait dengan tumpukan yang ditentukan. Untuk mendapatkan rincian semua sumber daya yang terkait dengan tumpukan gunakan Get-CFNStackResourceSummary, yang juga mendukung paging manual hasil.

Get-CFNStackResourceList -StackName "myStack"

Contoh 2: Mengembalikan deskripsi EC2 instance Amazon yang diidentifikasi dalam template yang terkait dengan tumpukan yang ditentukan oleh ID logis “Ec2Instance”.

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

Contoh 3: Mengembalikan deskripsi hingga 100 sumber daya yang terkait dengan tumpukan yang berisi instance Amazon yang diidentifikasi oleh ID EC2 instance “i-123456". Untuk mendapatkan rincian semua sumber daya yang terkait dengan tumpukan gunakan Get-CFNStackResourceSummary, yang juga mendukung paging manual hasil.

Get-CFNStackResourceList -PhysicalResourceId "i-123456"

Contoh 4: Mengembalikan deskripsi EC2 instance Amazon yang diidentifikasi oleh ID logis “Ec2Instance” dalam template untuk tumpukan. Tumpukan diidentifikasi menggunakan ID sumber daya fisik dari sumber daya yang dikandungnya, dalam hal ini juga instance Amazon dengan ID EC2 instance “i-123456". Sumber daya fisik yang berbeda juga dapat digunakan untuk mengidentifikasi tumpukan tergantung pada konten template, misalnya bucket Amazon S3.

Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"

Contoh kode berikut menunjukkan cara menggunakanGet-CFNStackResourceSummary.

Alat untuk PowerShell

Contoh 1: Mengembalikan deskripsi dari semua sumber daya yang terkait dengan tumpukan tertentu.

Get-CFNStackResourceSummary -StackName "myStack"
  • Untuk API detailnya, lihat ListStackResourcesdi AWS Tools for PowerShell Referensi Cmdlet.

Contoh kode berikut menunjukkan cara menggunakanGet-CFNStackSummary.

Alat untuk PowerShell

Contoh 1: Mengembalikan informasi ringkasan untuk semua tumpukan.

Get-CFNStackSummary

Contoh 2: Mengembalikan informasi ringkasan untuk semua tumpukan yang sedang dibuat.

Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"

Contoh 3: Mengembalikan informasi ringkasan untuk semua tumpukan yang sedang dibuat atau diperbarui.

Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
  • Untuk API detailnya, lihat ListStacksdi AWS Tools for PowerShell Referensi Cmdlet.

Contoh kode berikut menunjukkan cara menggunakanGet-CFNTemplate.

Alat untuk PowerShell

Contoh 1: Mengembalikan template yang terkait dengan tumpukan tertentu.

Get-CFNTemplate -StackName "myStack"
  • Untuk API detailnya, lihat GetTemplatedi AWS Tools for PowerShell Referensi Cmdlet.

Contoh kode berikut menunjukkan cara menggunakanMeasure-CFNTemplateCost.

Alat untuk PowerShell

Contoh 1: Mengembalikan Kalkulator Bulanan AWS Sederhana URL dengan string kueri yang menjelaskan sumber daya yang diperlukan untuk menjalankan template. Template diperoleh dari Amazon S3 yang ditentukan URL dan parameter penyesuaian tunggal diterapkan. Parameter juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' bukan 'ParameterKey' dan 'ParameterValue'.

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

Contoh 2: Mengembalikan Kalkulator Bulanan AWS Sederhana URL dengan string kueri yang menjelaskan sumber daya yang diperlukan untuk menjalankan template. Template diurai dari konten yang disediakan dan parameter kustomisasi diterapkan (contoh ini mengasumsikan konten template akan mendeklarasikan dua parameter, '' dan KeyName 'InstanceType'). Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.

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

Contoh 3: Menggunakan New-Object untuk membangun set parameter template dan mengembalikan Kalkulator Bulanan AWS Sederhana URL dengan string kueri yang menjelaskan sumber daya yang diperlukan untuk menjalankan template. Template diurai dari konten yang disediakan, dengan parameter kustomisasi (contoh ini mengasumsikan konten template akan mendeklarasikan dua parameter, '' dan KeyName '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 )

Contoh kode berikut menunjukkan cara menggunakanNew-CFNStack.

Alat untuk PowerShell

Contoh 1: Membuat tumpukan baru dengan nama yang ditentukan. Template diurai dari konten yang disediakan dengan parameter kustomisasi ('PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' dan 'PV2' mewakili nilai untuk parameter tersebut. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu tidak akan digulung kembali.

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

Contoh 2: Membuat tumpukan baru dengan nama yang ditentukan. Template diurai dari konten yang disediakan dengan parameter kustomisasi ('PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' dan 'PV2' mewakili nilai untuk parameter tersebut. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu akan digulung kembali.

$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"

Contoh 3: Membuat tumpukan baru dengan nama yang ditentukan. Template diperoleh dari Amazon S3 URL dengan parameter kustomisasi ('PK1' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' mewakili nilai untuk parameter. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu akan digulung kembali (sama seperti menentukan - DisableRollback $false).

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

Contoh 4: Membuat tumpukan baru dengan nama yang ditentukan. Template diperoleh dari Amazon S3 URL dengan parameter kustomisasi ('PK1' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' mewakili nilai untuk parameter. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu akan digulung kembali (sama seperti menentukan - DisableRollback $false). Pemberitahuan yang ditentukan AENs akan menerima acara terkait tumpukan yang dipublikasikan.

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )
  • Untuk API detailnya, lihat CreateStackdi AWS Tools for PowerShell Referensi Cmdlet.

Contoh kode berikut menunjukkan cara menggunakanRemove-CFNStack.

Alat untuk PowerShell

Contoh 1: Menghapus tumpukan yang ditentukan.

Remove-CFNStack -StackName "myStack"
  • Untuk API detailnya, lihat DeleteStackdi AWS Tools for PowerShell Referensi Cmdlet.

Contoh kode berikut menunjukkan cara menggunakanResume-CFNUpdateRollback.

Alat untuk PowerShell

Contoh 1: Melanjutkan rollback dari tumpukan bernama, yang seharusnya dalam status 'UPDATE_ ROLLBACK _FAILED'. Jika rollback lanjutan berhasil, tumpukan akan memasuki status 'UPDATE_ ROLLBACK _COMPLETE'.

Resume-CFNUpdateRollback -StackName "myStack"

Contoh kode berikut menunjukkan cara menggunakanStop-CFNUpdateStack.

Alat untuk PowerShell

Contoh 1: Membatalkan pembaruan pada tumpukan yang ditentukan.

Stop-CFNUpdateStack -StackName "myStack"
  • Untuk API detailnya, lihat CancelUpdateStackdi AWS Tools for PowerShell Referensi Cmdlet.

Contoh kode berikut menunjukkan cara menggunakanTest-CFNStack.

Alat untuk PowerShell

Contoh 1: Menguji apakah tumpukan telah mencapai salah satu status UPDATE _ ROLLBACK _COMPLETE, CREATE _COMPLETE, ROLLBACK _ COMPLETE atau UPDATE _COMPLETE.

Test-CFNStack -StackName MyStack

Output:

False

Contoh 2: Menguji apakah tumpukan telah mencapai status UPDATE _ COMPLETE atau UPDATE _ ROLLBACK _COMPLETE.

Test-CFNStack -StackName MyStack -Status UPDATE_COMPLETE,UPDATE_ROLLBACK_COMPLETE

Output:

True

Contoh kode berikut menunjukkan cara menggunakanTest-CFNTemplate.

Alat untuk PowerShell

Contoh 1: Memvalidasi konten template yang ditentukan. Output merinci kemampuan, deskripsi, dan parameter template.

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

Contoh 2: Memvalidasi template tertentu yang diakses melalui Amazon URL S3. Output merinci kemampuan, deskripsi, dan parameter template.

Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
  • Untuk API detailnya, lihat ValidateTemplatedi AWS Tools for PowerShell Referensi Cmdlet.

Contoh kode berikut menunjukkan cara menggunakanUpdate-CFNStack.

Alat untuk PowerShell

Contoh 1: Memperbarui tumpukan 'myStack' dengan template dan parameter kustomisasi yang ditentukan. 'PK1' mewakili nama parameter yang dideklarasikan dalam template dan 'PV1' mewakili nilainya. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.

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

Contoh 2: Memperbarui tumpukan 'myStack' dengan template dan parameter kustomisasi yang ditentukan. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam templat, 'PV1' dan 'PV2' mewakili nilai yang diminta. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.

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

Contoh 3: Memperbarui tumpukan 'myStack' dengan template dan parameter kustomisasi yang ditentukan. 'PK1' mewakili nama parameter yang dideklarasikan dalam template dan 'PV2' mewakili nilainya. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.

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

Contoh 4: Memperbarui tumpukan 'myStack' dengan templat yang ditentukan, diperoleh dari Amazon S3, dan parameter penyesuaian. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam templat, 'PV1' dan 'PV2' mewakili nilai yang diminta. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.

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

Contoh 5: Memperbarui tumpukan myStack '', yang diasumsikan dalam contoh ini berisi IAM sumber daya, dengan templat yang ditentukan, diperoleh dari Amazon S3, dan parameter penyesuaian. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam templat, 'PV1' dan 'PV2' mewakili nilai yang diminta. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Tumpukan yang berisi IAM sumber daya mengharuskan Anda untuk menentukan parameter -Capabilities IAM "CAPABILITY_" jika tidak pembaruan akan gagal dengan kesalahan InsufficientCapabilities ''.

Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) ` -Capabilities "CAPABILITY_IAM"
  • Untuk API detailnya, lihat UpdateStackdi AWS Tools for PowerShell Referensi Cmdlet.

Contoh kode berikut menunjukkan cara menggunakanWait-CFNStack.

Alat untuk PowerShell

Contoh 1: Menguji apakah tumpukan telah mencapai salah satu status UPDATE _ ROLLBACK _COMPLETE, CREATE _COMPLETE, ROLLBACK _ COMPLETE atau UPDATE _COMPLETE. Jika tumpukan tidak berada di salah satu status, perintah tidur selama dua detik sebelum menguji status lagi. Ini diulang sampai tumpukan mencapai salah satu status yang diminta atau periode batas waktu default 60 detik berlalu. Jika periode batas waktu terlampaui, pengecualian dilemparkan. Jika tumpukan mencapai salah satu status yang diminta dalam periode batas waktu, tumpukan tersebut dikembalikan ke pipeline.

$stack = Wait-CFNStack -StackName MyStack

Contoh 2: Contoh ini menunggu total 5 menit (300 detik) hingga tumpukan mencapai salah satu status yang ditentukan. Dalam contoh ini status tercapai sebelum batas waktu dan oleh karena itu objek tumpukan dikembalikan ke pipeline.

Wait-CFNStack -StackName MyStack -Timeout 300 -Status CREATE_COMPLETE,ROLLBACK_COMPLETE

Output:

Capabilities : {CAPABILITY_IAM} ChangeSetId : CreationTime : 6/1/2017 9:29:33 AM Description : AWS CloudFormation Sample Template ec2_instance_with_instance_profile: Create an EC2 instance with an associated instance profile. **WARNING** This template creates one or more Amazon EC2 instances and an Amazon SQS queue. You will be billed for the AWS resources used if you create a stack from this template. DisableRollback : False LastUpdatedTime : 1/1/0001 12:00:00 AM NotificationARNs : {} Outputs : {} Parameters : {} RoleARN : StackId : arn:aws:cloudformation:us-west-2:123456789012:stack/MyStack/7ea87b50-46e7-11e7-9c9b-503a90a9c4d1 StackName : MyStack StackStatus : CREATE_COMPLETE StackStatusReason : Tags : {} TimeoutInMinutes : 0

Contoh 3: Contoh ini menunjukkan keluaran kesalahan ketika tumpukan tidak mencapai salah satu status yang diminta dalam periode batas waktu (dalam hal ini periode default 60 detik).

Wait-CFNStack -StackName MyStack -Status CREATE_COMPLETE,ROLLBACK_COMPLETE

Output:

Wait-CFNStack : Timed out after 60 seconds waiting for CloudFormation stack MyStack in region us-west-2 to reach one of state(s): UPDATE_ROLLBACK_COMPLETE,CREATE_COMPLETE,ROLLBACK_COMPLETE,UPDATE_COMPLETE At line:1 char:1 + Wait-CFNStack -StackName MyStack -State CREATE_COMPLETE,ROLLBACK_COMPLETE + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (Amazon.PowerShe...tCFNStackCmdlet:WaitCFNStackCmdlet) [Wait-CFNStack], InvalidOperationException + FullyQualifiedErrorId : InvalidOperationException,Amazon.PowerShell.Cmdlets.CFN.WaitCFNStackCmdlet