Versi 5 (V5) Alat AWS untuk PowerShell telah dirilis!
Untuk informasi tentang mengubah perubahan dan memigrasikan aplikasi Anda, lihat topik https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html migrasi.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CloudFormation contoh menggunakan Tools for PowerShell V5
Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan Alat AWS untuk PowerShell V5 dengan CloudFormation.
Tindakan merupakan 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.
Topik
Tindakan
Contoh kode berikut menunjukkan cara menggunakanGet-CFNStack.
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan kumpulan instance Stack yang menjelaskan semua tumpukan pengguna.
Get-CFNStackContoh 2: Mengembalikan instance Stack yang menjelaskan tumpukan yang ditentukan
Get-CFNStack -StackName "myStack"-
Untuk detail API, lihat DescribeStacks di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanGet-CFNStackEvent.
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan semua peristiwa terkait tumpukan untuk tumpukan yang ditentukan.
Get-CFNStackEvent -StackName "myStack"-
Untuk detail API, lihat DescribeStackEvents di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanGet-CFNStackResource.
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan deskripsi sumber daya yang diidentifikasi dalam template yang terkait dengan tumpukan yang ditentukan oleh ID logis “myDbInstance”.
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"-
Untuk detail API, lihat DescribeStackResource di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanGet-CFNStackResourceList.
- Alat untuk PowerShell V5
-
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 Get-CFNStackResourceSummary gunakan, yang juga mendukung paging manual hasil.
Get-CFNStackResourceList -StackName "myStack"Contoh 2: Mengembalikan deskripsi instans Amazon EC2 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 instans Amazon EC2 yang diidentifikasi oleh ID instans “i-123456". Untuk mendapatkan rincian semua sumber daya yang terkait dengan tumpukan Get-CFNStackResourceSummary gunakan, yang juga mendukung paging manual hasil.
Get-CFNStackResourceList -PhysicalResourceId "i-123456"Contoh 4: Mengembalikan deskripsi instans Amazon EC2 yang diidentifikasi oleh ID logis “Ec2Instance” dalam template untuk tumpukan. Tumpukan diidentifikasi menggunakan ID sumber daya fisik sumber daya yang dikandungnya, dalam hal ini juga instans Amazon EC2 dengan ID 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"-
Untuk detail API, lihat DescribeStackResources di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanGet-CFNStackResourceSummary.
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan deskripsi semua sumber daya yang terkait dengan tumpukan yang ditentukan.
Get-CFNStackResourceSummary -StackName "myStack"-
Untuk detail API, lihat ListStackResources di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanGet-CFNStackSummary.
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan informasi ringkasan untuk semua tumpukan.
Get-CFNStackSummaryContoh 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 detail API, lihat ListStacks di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanGet-CFNTemplate.
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan template yang terkait dengan tumpukan yang ditentukan.
Get-CFNTemplate -StackName "myStack"-
Untuk detail API, lihat GetTemplate di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanMeasure-CFNTemplateCost.
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan AWS URL Kalkulator Bulanan Sederhana dengan string kueri yang menjelaskan sumber daya yang diperlukan untuk menjalankan template. Template diperoleh dari URL Amazon S3 yang ditentukan dan parameter penyesuaian tunggal diterapkan. Parameter juga dapat ditentukan menggunakan 'Key' dan 'Value' alih-alih '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 AWS URL Kalkulator Bulanan Sederhana dengan string kueri yang menjelaskan sumber daya yang diperlukan untuk menjalankan template. Template diurai dari konten yang disediakan dan parameter penyesuaian diterapkan (contoh ini mengasumsikan konten template akan mendeklarasikan dua parameter, 'KeyName' dan '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: Digunakan New-Object untuk membangun kumpulan parameter template dan mengembalikan URL Kalkulator Bulanan Sederhana dengan string kueri yang menjelaskan sumber daya yang diperlukan untuk menjalankan template. AWS Template diurai dari konten yang disediakan, dengan parameter penyesuaian (contoh ini mengasumsikan konten template akan mendeklarasikan dua parameter, 'KeyName' dan '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 )-
Untuk detail API, lihat EstimateTemplateCost di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanNew-CFNStack.
- Alat untuk PowerShell V5
-
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 dinyatakan 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 diputar kembali.
New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $trueContoh 2: Membuat tumpukan baru dengan nama yang ditentukan. Template diurai dari konten yang disediakan dengan parameter kustomisasi ('PK1' dan 'PK2' mewakili nama parameter yang dinyatakan 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 diputar 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 URL Amazon S3 dengan parameter penyesuaian ('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 diputar 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 URL Amazon S3 dengan parameter penyesuaian ('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 diputar kembali (sama seperti menentukan - DisableRollback $false). AEN notifikasi yang ditentukan akan menerima peristiwa 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 detail API, lihat CreateStack di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanRemove-CFNStack.
- Alat untuk PowerShell V5
-
Contoh 1: Menghapus tumpukan yang ditentukan.
Remove-CFNStack -StackName "myStack"-
Untuk detail API, lihat DeleteStack di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanResume-CFNUpdateRollback.
- Alat untuk PowerShell V5
-
Contoh 1: Melanjutkan rollback dari tumpukan bernama, yang seharusnya berada dalam status 'UPDATE_ROLLBACK_FAILED'. Jika rollback lanjutan berhasil, tumpukan akan masuk ke status 'UPDATE_ROLLBACK_COMPLETE'.
Resume-CFNUpdateRollback -StackName "myStack"-
Untuk detail API, lihat ContinueUpdateRollback di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanStop-CFNUpdateStack.
- Alat untuk PowerShell V5
-
Contoh 1: Membatalkan pembaruan pada tumpukan yang ditentukan.
Stop-CFNUpdateStack -StackName "myStack"-
Untuk detail API, lihat CancelUpdateStack di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanTest-CFNStack.
- Alat untuk PowerShell V5
-
Contoh 1: Menguji apakah tumpukan telah mencapai salah satu status UPDATE_ROLLBACK_COMPLETE, CREATE_COMPLETE, ROLLBACK_COMPLETE atau UPDATE_COMPLETE.
Test-CFNStack -StackName MyStackOutput:
FalseContoh 2: Menguji apakah tumpukan telah mencapai status UPDATE_COMPLETE atau UPDATE_ROLLBACK_COMPLETE.
Test-CFNStack -StackName MyStack -Status UPDATE_COMPLETE,UPDATE_ROLLBACK_COMPLETEOutput:
True-
Untuk detail API, lihat Test-CFNStack di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanTest-CFNTemplate.
- Alat untuk PowerShell V5
-
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 URL Amazon S3. Output merinci kemampuan, deskripsi, dan parameter template.
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template-
Untuk detail API, lihat ValidateTemplate di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanUpdate-CFNStack.
- Alat untuk PowerShell V5
-
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 template, '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 template yang ditentukan, diperoleh dari Amazon S3, dan parameter penyesuaian. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam template, '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 sumber daya IAM, dengan template yang ditentukan, diperoleh dari Amazon S3, dan parameter penyesuaian. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam template, 'PV1' dan 'PV2' mewakili nilai yang diminta. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih ParameterKey '' dan ParameterValue '”. Tumpukan yang berisi sumber daya IAM mengharuskan Anda untuk menentukan parameter -Capabilities “CAPABILITY_IAM” 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 detail API, lihat UpdateStack di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-
Contoh kode berikut menunjukkan cara menggunakanWait-CFNStack.
- Alat untuk PowerShell V5
-
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 itu dikembalikan ke pipeline.
$stack = Wait-CFNStack -StackName MyStackContoh 2: Contoh ini menunggu total 5 menit (300 detik) agar 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_COMPLETEOutput:
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 : 0Contoh 3: Contoh ini menunjukkan output 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_COMPLETEOutput:
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-
Untuk detail API, lihat Wait-CFNStack di Referensi Alat AWS untuk PowerShell Cmdlet (V5).
-