Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh perintah operasi CloudFormation tumpukan untuk AWS CLI dan PowerShell
Contoh baris perintah berikut menunjukkan bagaimana melakukan CloudFormation tindakan individu dengan AWS CLI dan PowerShell. Contoh-contoh ini hanya mencakup tindakan yang paling umum digunakan. Untuk daftar lengkap, lihat cloudformationdi AWS CLI Command Reference.
Contoh dalam panduan ini menggunakan konvensi garis miring terbalik (\) untuk menunjukkan bahwa baris perintah panjang berlanjut pada baris berikutnya.
Batalkan pembaruan tumpukan
Gunakan perintah cancel-update-stackperintah untuk membatalkan pembaruan tumpukan. Untuk informasi selengkapnya, lihat Batalkan pembaruan tumpukan.
- CLI
-
- AWS CLI
-
Untuk membatalkan pembaruan tumpukan yang sedang berlangsung
cancel-update-stackPerintah berikut membatalkan pembaruan tumpukan pada myteststack tumpukan:
aws cloudformation cancel-update-stack --stack-name myteststack
- PowerShell
-
- Alat untuk PowerShell V4
-
Contoh 1: Membatalkan pembaruan pada tumpukan yang ditentukan.
Stop-CFNUpdateStack -StackName "myStack"
- Alat untuk PowerShell V5
-
Contoh 1: Membatalkan pembaruan pada tumpukan yang ditentukan.
Stop-CFNUpdateStack -StackName "myStack"
Terus mengembalikan pembaruan
Gunakan continue-update-rollbackperintah untuk melanjutkan memutar kembali pembaruan. Untuk informasi selengkapnya, lihat Terus mengembalikan pembaruan.
- CLI
-
- AWS CLI
-
Untuk mencoba kembali rollback pembaruan
continue-update-rollbackContoh berikut melanjutkan operasi rollback dari pembaruan tumpukan yang sebelumnya gagal.
aws cloudformation continue-update-rollback \
--stack-name my-stack
Perintah ini tidak menghasilkan output.
- PowerShell
-
- Alat untuk PowerShell V4
-
Contoh 1: Melanjutkan rollback dari tumpukan bernama, yang seharusnya dalam status 'UPDATE_ROLLBACK_FAILED'. Jika rollback lanjutan berhasil, tumpukan akan memasukkan status 'UPDATE_ROLLBACK_COMPLETE'.
Resume-CFNUpdateRollback -StackName "myStack"
- Alat untuk PowerShell V5
-
Contoh 1: Melanjutkan rollback dari tumpukan bernama, yang seharusnya dalam status 'UPDATE_ROLLBACK_FAILED'. Jika rollback lanjutan berhasil, tumpukan akan memasukkan status 'UPDATE_ROLLBACK_COMPLETE'.
Resume-CFNUpdateRollback -StackName "myStack"
Buat tumpukan
Gunakan create-stackperintah untuk membuat tumpukan. Anda harus memberikan nama tumpukan, lokasi templat yang valid, dan parameter masukan apa pun. Nama kunci parameter peka huruf besar/kecil. Jika Anda salah mengetik nama kunci parameter, CloudFormation tidak membuat tumpukan dan melaporkan bahwa template tidak berisi parameter itu.
Contoh berikut menunjukkan cara membuat tumpukan baru dengan nama, template, dan parameter input yang ditentukan.
- CLI
-
- AWS CLI
-
Untuk membuat AWS CloudFormation tumpukan
create-stacksPerintah berikut membuat tumpukan dengan nama myteststack menggunakan sampletemplate.json template:
aws cloudformation create-stack --stack-name myteststack --template-body file://sampletemplate.json --parameters ParameterKey=KeyPairName,ParameterValue=TestKey ParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2
Output:
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
Untuk informasi selengkapnya, lihat Tumpukan di Panduan AWS CloudFormation Pengguna.
- PowerShell
-
- Alat untuk PowerShell V4
-
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 URL Amazon S3 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 URL Amazon S3 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). AEN notifikasi yang ditentukan 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" )
- 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 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 URL Amazon S3 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 URL Amazon S3 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). AEN notifikasi yang ditentukan 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" )
Anda dapat menggunakan AWS CLI --template-url opsi untuk menentukan lokasi file template di Amazon S3 atau. AWS Systems Manager
Untuk Amazon S3, URL harus dimulai dengan. https:// URL situs web statis S3 tidak didukung.
--template-url https://s3.region-code.amazonaws.com/bucket-name/template-name
Untuk AWS Systems Manager, gunakan format berikut:
--template-url "ssm-doc://arn:aws:ssm:region-code:account-id:document/document-name"
Mode ekspres
Untuk membuat tumpukan menggunakan mode ekspres, tambahkan --deployment-config parameter. Mode ekspres menyelesaikan operasi tumpukan segera setelah CloudFormation menerapkan konfigurasi sumber daya. Untuk informasi selengkapnya, lihat Mode ekspres.
aws cloudformation create-stack --stack-name myteststack \
--template-body file://sampletemplate.json \
--deployment-config '{"mode": "EXPRESS"}'
Buat tumpukan yang mencakup transformasi
Gunakan deployperintah untuk membuat tumpukan yang mencakup transformasi. Saat Anda membuat tumpukan dari template yang menyertakan transformasi, Anda harus menggunakan set perubahan. deployPerintah menggabungkan dua langkah (membuat set perubahan dan menjalankannya) menjadi satu perintah.
- AWS CLI
-
deployPerintah berikut membuat tumpukan dengan nama, template, dan parameter input yang ditentukan.
aws cloudformation deploy --stack-name myteststack \
--template /path_to_template/my-template.json \
--parameter-overrides Key1=Value1 Key2=Value2
Hapus tumpukan
Gunakan delete-stackperintah untuk menghapus tumpukan. Untuk informasi selengkapnya, lihat Hapus tumpukan.
- CLI
-
- AWS CLI
-
Untuk menghapus tumpukan
delete-stackContoh berikut menghapus tumpukan yang ditentukan.
aws cloudformation delete-stack \
--stack-name my-stack
Perintah ini tidak menghasilkan output.
- PowerShell
-
- Alat untuk PowerShell V4
-
Contoh 1: Menghapus tumpukan yang ditentukan.
Remove-CFNStack -StackName "myStack"
- Alat untuk PowerShell V5
-
Contoh 1: Menghapus tumpukan yang ditentukan.
Remove-CFNStack -StackName "myStack"
Jika penghapusan gagal dan mengembalikan DELETE_FAILED status, Anda dapat memilih untuk menghapus tumpukan dengan paksa menggunakan opsi. --deletion-mode Ini adalah nilai-nilai berikut yang dapat digunakan dengandeletion-mode:
- AWS CLI
-
delete-stackCommand force berikut menghapus myteststack tumpukan menggunakan FORCE_DELETE_STACK nilai dengan deletion-mode parameter:
aws cloudformation delete-stack --stack-name myteststack \
--deletion-mode FORCE_DELETE_STACK
Perintah ini tidak menghasilkan output.
Setelah menggunakanFORCE_DELETE_STACK, Anda dapat menggunakan list-stack-resources perintah untuk membuat daftar sumber daya yang dilewati selama proses penghapusan tumpukan. Sumber daya yang disimpan akan menampilkan status DELETE_SKIPPED. Untuk informasi selengkapnya, lihat Daftar sumber daya tumpukan.
Mode ekspres
Untuk menghapus tumpukan menggunakan mode ekspres, tambahkan --deployment-config parameter:
aws cloudformation delete-stack --stack-name myteststack \
--deployment-config '{"mode": "EXPRESS"}'
Untuk informasi selengkapnya, lihat Mode ekspres.
Jelaskan peristiwa tumpukan
Gunakan describe-stack-eventsperintah untuk menggambarkan peristiwa tumpukan. Untuk informasi selengkapnya, lihat Pantau kemajuan tumpukan.
- CLI
-
- AWS CLI
-
Untuk menggambarkan peristiwa tumpukan
describe-stack-eventsContoh berikut menampilkan 2 peristiwa terbaru untuk tumpukan tertentu.
aws cloudformation describe-stack-events \
--stack-name my-stack \
--max-items 2
{
"StackEvents": [
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
"EventId": "4e1516d0-e4d6-xmpl-b94f-0a51958a168c",
"StackName": "my-stack",
"LogicalResourceId": "my-stack",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": "2019-10-02T05:34:29.556Z",
"ResourceStatus": "UPDATE_COMPLETE"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
"EventId": "4dd3c810-e4d6-xmpl-bade-0aaf8b31ab7a",
"StackName": "my-stack",
"LogicalResourceId": "my-stack",
"PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": "2019-10-02T05:34:29.127Z",
"ResourceStatus": "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
}
],
"NextToken": "eyJOZXh0VG9XMPLiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ=="
}
- PowerShell
-
- Alat untuk PowerShell V4
-
Contoh 1: Mengembalikan semua peristiwa terkait tumpukan untuk tumpukan tertentu.
Get-CFNStackEvent -StackName "myStack"
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan semua peristiwa terkait tumpukan untuk tumpukan tertentu.
Get-CFNStackEvent -StackName "myStack"
Jelaskan sumber daya tumpukan
- CLI
-
- AWS CLI
-
Untuk mendapatkan informasi tentang sumber daya tumpukan
describe-stack-resourceContoh berikut menampilkan rincian untuk sumber daya yang dinamai MyFunction dalam tumpukan tertentu.
aws cloudformation describe-stack-resource \
--stack-name MyStack \
--logical-resource-id MyFunction
Output:
{
"StackResourceDetail": {
"StackName": "MyStack",
"StackId": "arn:aws:cloudformation:us-east-2:123456789012:stack/MyStack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
"LogicalResourceId": "MyFunction",
"PhysicalResourceId": "my-function-SEZV4XMPL4S5",
"ResourceType": "AWS::Lambda::Function",
"LastUpdatedTimestamp": "2019-10-02T05:34:27.989Z",
"ResourceStatus": "UPDATE_COMPLETE",
"Metadata": "{}",
"DriftInformation": {
"StackResourceDriftStatus": "IN_SYNC"
}
}
}
- PowerShell
-
- Alat untuk PowerShell V4
-
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"
- 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"
Jelaskan sumber daya tumpukan
- CLI
-
- AWS CLI
-
Untuk mendapatkan informasi tentang sumber daya tumpukan
describe-stack-resourcesContoh berikut menampilkan rincian untuk sumber daya dalam tumpukan tertentu.
aws cloudformation describe-stack-resources \
--stack-name my-stack
Output:
{
"StackResources": [
{
"StackName": "my-stack",
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
"LogicalResourceId": "bucket",
"PhysicalResourceId": "my-stack-bucket-1vc62xmplgguf",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": "2019-10-02T04:34:11.345Z",
"ResourceStatus": "CREATE_COMPLETE",
"DriftInformation": {
"StackResourceDriftStatus": "IN_SYNC"
}
},
{
"StackName": "my-stack",
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
"LogicalResourceId": "function",
"PhysicalResourceId": "my-function-SEZV4XMPL4S5",
"ResourceType": "AWS::Lambda::Function",
"Timestamp": "2019-10-02T05:34:27.989Z",
"ResourceStatus": "UPDATE_COMPLETE",
"DriftInformation": {
"StackResourceDriftStatus": "IN_SYNC"
}
},
{
"StackName": "my-stack",
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
"LogicalResourceId": "functionRole",
"PhysicalResourceId": "my-functionRole-HIZXMPLEOM9E",
"ResourceType": "AWS::IAM::Role",
"Timestamp": "2019-10-02T04:34:06.350Z",
"ResourceStatus": "CREATE_COMPLETE",
"DriftInformation": {
"StackResourceDriftStatus": "IN_SYNC"
}
}
]
}
- PowerShell
-
- Alat untuk PowerShell V4
-
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 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, gunakan Get-CFNStackResourceSummary, 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 dari sumber daya yang dikandungnya, dalam hal ini juga instance Amazon EC2 dengan ID instans “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"
- 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, gunakan Get-CFNStackResourceSummary, 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, gunakan Get-CFNStackResourceSummary, 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 dari sumber daya yang dikandungnya, dalam hal ini juga instance Amazon EC2 dengan ID instans “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"
Jelaskan tumpukan
- CLI
-
- AWS CLI
-
Untuk menggambarkan AWS CloudFormation tumpukan
describe-stacksPerintah berikut menunjukkan informasi ringkasan untuk myteststack tumpukan:
aws cloudformation describe-stacks --stack-name myteststack
Output:
{
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.",
"Tags": [],
"Outputs": [
{
"Description": "Name of S3 bucket to hold website content",
"OutputKey": "BucketName",
"OutputValue": "myteststack-s3bucket-jssofi1zie2w"
}
],
"StackStatusReason": null,
"CreationTime": "2013-08-23T01:02:15.422Z",
"Capabilities": [],
"StackName": "myteststack",
"StackStatus": "CREATE_COMPLETE",
"DisableRollback": false
}
]
}
Untuk informasi selengkapnya, lihat Tumpukan di Panduan AWS CloudFormation Pengguna.
- Go
-
- SDK untuk Go V2
-
Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.
import (
"context"
"log"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/cloudformation"
)
// StackOutputs defines a map of outputs from a specific stack.
type StackOutputs map[string]string
type CloudFormationActions struct {
CfnClient *cloudformation.Client
}
// GetOutputs gets the outputs from a CloudFormation stack and puts them into a structured format.
func (actor CloudFormationActions) GetOutputs(ctx context.Context, stackName string) StackOutputs {
output, err := actor.CfnClient.DescribeStacks(ctx, &cloudformation.DescribeStacksInput{
StackName: aws.String(stackName),
})
if err != nil || len(output.Stacks) == 0 {
log.Panicf("Couldn't find a CloudFormation stack named %v. Here's why: %v\n", stackName, err)
}
stackOutputs := StackOutputs{}
for _, out := range output.Stacks[0].Outputs {
stackOutputs[*out.OutputKey] = *out.OutputValue
}
return stackOutputs
}
- PowerShell
-
- Alat untuk PowerShell V4
-
Contoh 1: Mengembalikan koleksi instance Stack yang menjelaskan semua tumpukan pengguna.
Get-CFNStack
Contoh 2: Mengembalikan instance Stack yang menjelaskan tumpukan yang ditentukan
Get-CFNStack -StackName "myStack"
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan koleksi instance Stack yang menjelaskan semua tumpukan pengguna.
Get-CFNStack
Contoh 2: Mengembalikan instance Stack yang menjelaskan tumpukan yang ditentukan
Get-CFNStack -StackName "myStack"
Secara default, describe-stacks perintah mengembalikan nilai parameter. Untuk mencegah nilai parameter sensitif seperti kata sandi dikembalikan, sertakan NoEcho properti yang disetel ke TRUE dalam CloudFormation templat Anda.
Menggunakan NoEcho atribut tidak menutupi informasi apa pun yang disimpan sebagai berikut:
-
Bagian Metadata template. CloudFormation tidak mengubah, memodifikasi, atau menyunting informasi apa pun yang Anda sertakan di Metadata bagian ini. Untuk informasi selengkapnya, lihat Metadata.
-
Bagian Outputs template. Untuk informasi selengkapnya, lihat Output.
-
MetadataAtribut definisi sumber daya. Untuk informasi lebih lanjut, lihat Atribut Metadata.
Kami sangat menyarankan Anda untuk tidak menggunakan mekanisme ini untuk memasukkan informasi sensitif, seperti kata sandi atau rahasia.
Daripada menyematkan informasi sensitif secara langsung di CloudFormation template Anda, kami sarankan Anda menggunakan parameter dinamis dalam template tumpukan untuk mereferensikan informasi sensitif yang disimpan dan dikelola di luar CloudFormation, seperti di AWS Systems Manager Parameter Store atau AWS Secrets Manager.
Untuk informasi selengkapnya, lihat Do not embed credentials dalam praktik terbaik template Anda.
Dapatkan template
- CLI
-
- AWS CLI
-
Untuk melihat badan template untuk AWS CloudFormation tumpukan
get-templatePerintah berikut menunjukkan template untuk myteststack tumpukan:
aws cloudformation get-template --stack-name myteststack
Output:
{
"TemplateBody": {
"AWSTemplateFormatVersion": "2010-09-09",
"Outputs": {
"BucketName": {
"Description": "Name of S3 bucket to hold website content",
"Value": {
"Ref": "S3Bucket"
}
}
},
"Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.",
"Resources": {
"S3Bucket": {
"Type": "AWS::S3::Bucket",
"Properties": {
"AccessControl": "PublicRead"
}
}
}
}
}
- PowerShell
-
- Alat untuk PowerShell V4
-
Contoh 1: Mengembalikan template yang terkait dengan tumpukan tertentu.
Get-CFNTemplate -StackName "myStack"
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan template yang terkait dengan tumpukan tertentu.
Get-CFNTemplate -StackName "myStack"
Daftar sumber daya tumpukan
- CLI
-
- AWS CLI
-
Untuk membuat daftar sumber daya dalam tumpukan
Perintah berikut menampilkan daftar sumber daya dalam tumpukan yang ditentukan.
aws cloudformation list-stack-resources \
--stack-name my-stack
Output:
{
"StackResourceSummaries": [
{
"LogicalResourceId": "bucket",
"PhysicalResourceId": "my-stack-bucket-1vc62xmplgguf",
"ResourceType": "AWS::S3::Bucket",
"LastUpdatedTimestamp": "2019-10-02T04:34:11.345Z",
"ResourceStatus": "CREATE_COMPLETE",
"DriftInformation": {
"StackResourceDriftStatus": "IN_SYNC"
}
},
{
"LogicalResourceId": "function",
"PhysicalResourceId": "my-function-SEZV4XMPL4S5",
"ResourceType": "AWS::Lambda::Function",
"LastUpdatedTimestamp": "2019-10-02T05:34:27.989Z",
"ResourceStatus": "UPDATE_COMPLETE",
"DriftInformation": {
"StackResourceDriftStatus": "IN_SYNC"
}
},
{
"LogicalResourceId": "functionRole",
"PhysicalResourceId": "my-functionRole-HIZXMPLEOM9E",
"ResourceType": "AWS::IAM::Role",
"LastUpdatedTimestamp": "2019-10-02T04:34:06.350Z",
"ResourceStatus": "CREATE_COMPLETE",
"DriftInformation": {
"StackResourceDriftStatus": "IN_SYNC"
}
}
]
}
- PowerShell
-
- Alat untuk PowerShell V4
-
Contoh 1: Mengembalikan deskripsi dari semua sumber daya yang terkait dengan tumpukan tertentu.
Get-CFNStackResourceSummary -StackName "myStack"
- Alat untuk PowerShell V5
-
Contoh 1: Mengembalikan deskripsi dari semua sumber daya yang terkait dengan tumpukan tertentu.
Get-CFNStackResourceSummary -StackName "myStack"
Daftar tumpukan
Gunakan list-stacksperintah untuk membuat daftar tumpukan. Untuk daftar hanya tumpukan dengan kode status yang ditentukan, sertakan --stack-status-filter opsi. Anda dapat menentukan satu atau lebih kode status tumpukan untuk --stack-status-filter opsi tersebut. Untuk informasi selengkapnya, lihat Kode status tumpukan.
- CLI
-
- AWS CLI
-
Untuk daftar AWS CloudFormation tumpukan
list-stacksPerintah berikut menunjukkan ringkasan semua tumpukan yang memiliki statusCREATE_COMPLETE:
aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETE
Output:
[
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"TemplateDescription": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.",
"StackStatusReason": null,
"CreationTime": "2013-08-26T03:27:10.190Z",
"StackName": "myteststack",
"StackStatus": "CREATE_COMPLETE"
}
]
- PowerShell
-
- Alat untuk PowerShell V4
-
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")
- Alat untuk PowerShell V5
-
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")
Perbarui tumpukan
Gunakan perintah update-stack untuk memperbarui tumpukan secara langsung. Anda menentukan tumpukan, dan parameter nilai dan kemampuan yang akan diperbarui, dan, jika Anda ingin menggunakan templat yang diperbarui, nama templat. Untuk informasi selengkapnya, lihat Perbarui tumpukan secara langsung.
- CLI
-
- AWS CLI
-
Untuk memperbarui AWS CloudFormation tumpukan
update-stackPerintah berikut memperbarui template dan parameter input untuk mystack tumpukan:
aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,ParameterValue=SampleKeyPair ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2
update-stackPerintah berikut memperbarui hanya nilai SubnetIDs parameter untuk mystack tumpukan. Jika Anda tidak menentukan nilai parameter, nilai default yang ditentukan dalam template digunakan:
aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,UsePreviousValue=true ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2
update-stackPerintah berikut menambahkan dua topik notifikasi mystack tumpukan ke tumpukan:
aws cloudformation update-stack --stack-name mystack --use-previous-template --notification-arns "arn:aws:sns:use-east-1:123456789012:mytopic1" "arn:aws:sns:us-east-1:123456789012:mytopic2"
Untuk informasi selengkapnya, lihat AWS CloudFormation tumpukan pembaruan di Panduan AWS CloudFormation Pengguna.
- PowerShell
-
- Alat untuk PowerShell V4
-
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 templat 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 templat 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 -Capability_IAM “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"
- 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 templat 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 templat 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 -Capability_IAM “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 menghapus semua notifikasi, tentukan [] untuk --notification-arns opsi tersebut.
Mode ekspres
Untuk memperbarui tumpukan menggunakan mode ekspres, tambahkan --deployment-config parameter:
aws cloudformation update-stack --stack-name myteststack \
--template-body file://sampletemplate.json \
--deployment-config '{"mode": "EXPRESS"}'
Untuk informasi selengkapnya, lihat Mode ekspres.
Validasi template Anda
Gunakan validate-templateperintah untuk memeriksa file template Anda untuk kesalahan sintaks.
Selama validasi, periksa CloudFormation terlebih dahulu apakah template adalah JSON yang valid. Jika bukan, CloudFormation memeriksa apakah templat YAML valid. Jika kedua pemeriksaan gagal, CloudFormation mengembalikan kesalahan validasi template.
- CLI
-
- AWS CLI
-
Untuk memvalidasi template AWS CloudFormation
validate-templatePerintah berikut memvalidasi sampletemplate.json template:
aws cloudformation validate-template --template-body file://sampletemplate.json
Output:
{
"Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.",
"Parameters": [],
"Capabilities": []
}
Untuk informasi selengkapnya, lihat Bekerja dengan AWS CloudFormation Template di Panduan AWS CloudFormation Pengguna.
- PowerShell
-
- Alat untuk PowerShell V4
-
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
- 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
Berikut ini adalah contoh respon yang menghasilkan kesalahan validasi.
{
"ResponseMetadata": {
"RequestId": "4ae33ec0-1988-11e3-818b-e15a6df955cd"
},
"Errors": [
{
"Message": "Template format error: JSON not well-formed. (line 11, column 8)",
"Code": "ValidationError",
"Type": "Sender"
}
],
"Capabilities": [],
"Parameters": []
}
A client error (ValidationError) occurred: Template format error: JSON not well-formed. (line 11, column 8)
validate-templatePerintah ini dirancang untuk memeriksa hanya sintaks template Anda. Itu tidak memastikan bahwa nilai properti yang telah Anda tentukan untuk sumber daya valid untuk sumber daya tersebut. Juga tidak menentukan jumlah sumber daya yang akan ada saat tumpukan dibuat.
Untuk memeriksa validitas operasional, Anda perlu mencoba membuat tumpukan. Tidak ada kotak pasir atau area pengujian untuk CloudFormation tumpukan, jadi Anda dikenakan biaya untuk sumber daya yang Anda buat selama pengujian.
Tidak dapat menemukan apa yang Anda butuhkan? Minta contoh baru dengan menggunakan tautan Berikan umpan balik di bagian bawah halaman ini.