Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Opsi kegagalan tumpukan
Anda dapat mengembangkan aplikasi secara iteratif saat kegagalan penyediaan ditemui dengan memulai dari titik kegagalan tanpa mengembalikan sumber daya yang berhasil disediakan. Dengan menentukan opsi kegagalan tumpukan, Anda dapat memecahkan masalah sumber daya dalam status atauCREATE_FAILED
. UPDATE_FAILED
Anda dapat menyediakan opsi kegagalan untuk semua penerapan tumpukan dan mengubah operasi set.
-
Membuat operasi yang disetel ke Mempertahankan sumber daya yang berhasil disediakan mempertahankan status sumber daya yang berhasil, sementara sumber daya yang gagal akan tetap dalam keadaan gagal hingga operasi pembaruan berikutnya dilakukan.
-
Memperbarui dan mengubah operasi set yang disetel ke Mempertahankan sumber daya yang berhasil disediakan mempertahankan status sumber daya yang berhasil sambil mengembalikan sumber daya yang gagal ke status stabil terakhir yang diketahui. Sumber daya yang gagal akan berada dalam UPDATE_FAILED
keadaan. Sumber daya tanpa status stabil terakhir yang diketahui akan dihapus pada operasi tumpukan berikutnya.
Lihat bagian berikut untuk detail selengkapnya tentang menjeda rollback sumber daya yang gagal:
Ikhtisar opsi kegagalan tumpukan
Sebelum mengeluarkan operasi dari AWS CloudFormation konsol, API, atau AWS CLI, tentukan perilaku kegagalan sumber daya yang disediakan. Kemudian, lanjutkan dengan proses penyebaran sumber daya Anda tanpa modifikasi lainnya. Jika terjadi kegagalan operasional, CloudFormation berhenti pada kegagalan pertama di setiap jalur penyediaan independen. CloudFormation mengidentifikasi dependensi antara sumber daya untuk memparalelkan tindakan penyediaan independen. Kemudian ia melanjutkan untuk menyediakan sumber daya pada setiap jalur penyediaan independen sampai mengalami kegagalan. Kegagalan di satu jalur tidak memengaruhi jalur penyediaan lainnya. CloudFormation akan terus menyediakan sumber daya sampai selesai atau berhenti pada kegagalan yang berbeda.
Memperbaiki masalah apa pun untuk melanjutkan proses penerapan. CloudFormation melakukan pembaruan yang diperlukan sebelum mencoba kembali tindakan penyediaan pada sumber daya yang tidak dapat berhasil disediakan sebelumnya. Anda memulihkan masalah dengan mengirimkan operasi Coba Ulang, Perbarui, atau Gulung kembali. Misalnya, jika Anda menyediakan instans Amazon EC2 dan instans EC2 gagal selama operasi pembuatan, Anda mungkin ingin menyelidiki kesalahan tersebut, daripada segera mengembalikan sumber daya yang gagal. Anda dapat meninjau pemeriksaan status sistem dan pemeriksaan status instance, lalu pilih operasi Coba lagi setelah masalah teratasi.
Ketika operasi tumpukan gagal, dan Anda telah menentukan Pertahankan sumber daya yang berhasil disediakan dari menu opsi kegagalan Stack, Anda dapat memilih opsi berikut.
-
Coba lagi — Mencoba lagi operasi penyediaan pada sumber daya yang gagal dan terus menyediakan template hingga berhasil menyelesaikan operasi tumpukan atau kegagalan berikutnya. Pilih opsi ini jika sumber daya gagal disediakan karena masalah yang tidak memerlukan modifikasi templat, seperti izin AWS Identity and Access Management (IAM).
-
Update - Sumber daya yang telah disediakan diperbarui pada pembaruan template. Sumber daya yang gagal dibuat atau diperbarui akan dicoba lagi. Pilih opsi ini jika sumber daya gagal disediakan karena kesalahan templat, dan Anda telah memodifikasi templat. Saat memperbarui tumpukan yang berada dalam FAILED
status, Anda harus memilih Pertahankan sumber daya yang berhasil disediakan untuk opsi kegagalan Stack untuk terus memperbarui tumpukan Anda.
-
Gulung kembali — CloudFormation memutar kembali tumpukan ke keadaan stabil terakhir yang diketahui.
Kondisi untuk menjeda rollback stack
Untuk menjeda rollback sumber daya yang gagal di tumpukan Anda, kondisi berikut harus dipenuhi.
-
Anda harus menentukan parameter Pertahankan sumber daya yang berhasil disediakan selama operasi tumpukan. Untuk informasi selengkapnya tentang perilaku rollback, lihat. Mengatur opsi AWS CloudFormation tumpukan
-
Operasi tumpukan harus memiliki status tumpukan CREATE_FAILED
atauUPDATE_FAILED
. Untuk informasi tentang status tumpukan, lihatKode status tumpukan.
Jenis pembaruan yang tidak dapat diubah tidak didukung.
Pertahankan sumber daya yang berhasil disediakan (konsol)
- Create stack
-
Untuk mempertahankan sumber daya yang berhasil disediakan selama operasi create stack
Masuk ke AWS Management Console dan buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.
-
Pilih Buat tumpukan dan pilih Dengan sumber daya baru (standar).
-
Di halaman Tentukan templat, pilih templat tumpukan dengan menggunakan salah satu opsi berikut:
Terima pengaturan Anda dan pilih Berikutnya.
-
Pada halaman Tentukan detail tumpukan, masukkan nama tumpukan di kotak Nama tumpukan.
-
Di bagian Parameter, tentukan parameter yang ditentukan dalam template tumpukan Anda.
Anda dapat menggunakan atau mengubah parameter dengan nilai default.
-
Bila Anda puas dengan nilai parameter, pilih Berikutnya.
-
Pada halaman Configure stack options, Anda dapat mengatur opsi tambahan untuk tumpukan Anda.
-
Untuk opsi kegagalan Stack, pilih Pertahankan sumber daya yang berhasil disediakan.
-
Ketika Anda puas dengan opsi tumpukan, pilih Berikutnya.
-
Tinjau tumpukan Anda di halaman Ulasan dan pilih Buat tumpukan.
Hasil: Sumber daya yang gagal membuat transisi status tumpukan CREATE_FAILED
untuk mencegah tumpukan berputar kembali saat operasi tumpukan mengalami kegagalan. Sumber daya yang berhasil disediakan berada dalam keadaan. CREATE_COMPLETE
Anda dapat memantau tumpukan di tab Stack events.
- Update stack
-
Untuk mempertahankan sumber daya yang berhasil disediakan selama operasi tumpukan pembaruan
Masuk ke AWS Management Console dan buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.
-
Pilih tumpukan yang ingin Anda perbarui dan kemudian pilih Perbarui.
-
Pada halaman Update stack, pilih template stack dengan menggunakan salah satu opsi berikut:
Terima pengaturan Anda dan pilih Berikutnya.
-
Pada halaman Tentukan detail tumpukan, tentukan parameter yang ditentukan dalam template tumpukan Anda.
Anda dapat menggunakan atau mengubah parameter dengan nilai default.
-
Bila Anda puas dengan nilai parameter, pilih Berikutnya.
-
Pada halaman Configure stack options, Anda dapat mengatur opsi tambahan untuk tumpukan Anda.
-
Untuk kegagalan perilaku penyediaan, pilih Pertahankan sumber daya yang berhasil disediakan.
-
Ketika Anda puas dengan opsi tumpukan, pilih Berikutnya.
-
Tinjau tumpukan Anda di halaman Ulasan dan pilih Perbarui tumpukan.
Hasil: Sumber daya yang gagal memperbarui mentransisikan status tumpukan ke UPDATE_FAILED
dan memutar kembali ke status stabil terakhir yang diketahui. Sumber daya tanpa status stabil terakhir yang diketahui akan dihapus CloudFormation pada operasi tumpukan berikutnya. Sumber daya yang berhasil disediakan berada dalam keadaan CREATE_COMPLETE
atauUPDATE_COMPLETE
. Anda dapat memantau tumpukan di tab Stack events.
- Change set
-
Anda dapat memulai set perubahan untuk tumpukan dengan status CREATE_FAILED
atauUPDATE_FAILED
, tetapi tidak untuk status. UPDATE_ROLLBACK_FAILED
Untuk Mempertahankan sumber daya yang berhasil disediakan selama operasi set perubahan
Masuk ke AWS Management Console dan buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.
-
Pilih tumpukan yang berisi set perubahan yang ingin Anda mulai, lalu pilih tab Ubah set.
-
Pilih set perubahan dan kemudian pilih Execute.
-
Untuk Jalankan set perubahan, pilih opsi Pertahankan sumber daya yang berhasil disediakan.
-
Pilih Jalankan set perubahan.
Hasil: Sumber daya yang gagal memperbarui mentransisikan status tumpukan ke UPDATE_FAILED
dan memutar kembali ke status stabil terakhir yang diketahui. Sumber daya tanpa status stabil terakhir yang diketahui akan dihapus CloudFormation pada operasi tumpukan berikutnya. Sumber daya yang berhasil disediakan berada dalam keadaan CREATE_COMPLETE
atauUPDATE_COMPLETE
. Anda dapat memantau tumpukan di tab Stack events.
Pertahankan sumber daya yang berhasil disediakan ()AWS CLI
- Create stack
-
Untuk mempertahankan sumber daya yang berhasil disediakan selama operasi pembuatan tumpukan
Tentukan --disable-rollback
opsi atau on-failure DO_NOTHING
enumerasi selama operasi create-stack.
-
Berikan nama tumpukan dan templat ke create-stack perintah dengan --disable-rollback
opsi.
aws cloudformation create-stack --stack-name myteststack
--template-body file://DOC-EXAMPLE-BUCKET.json
--disable-rollback
Perintah mengembalikan output berikut.
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
-
Jelaskan status tumpukan menggunakan describe-stacks perintah.
aws cloudformation describe-stacks --stack-name myteststack
Perintah mengembalikan output berikut.
{
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"Description": "AWS CloudFormation Sample Template",
"Tags": [],
"Outputs": [],
"StackStatusReason": “The following resource(s) failed to create: [MyBucket]”,
"CreationTime": "2013-08-23T01:02:15.422Z",
"Capabilities": [],
"StackName": "myteststack",
"StackStatus": "CREATE_FAILED",
"DisableRollback": true
}
]
}
- Update stack
-
Untuk mempertahankan sumber daya yang berhasil disediakan selama operasi pembaruan tumpukan
-
Berikan nama tumpukan dan templat yang ada ke update-stack perintah dengan --disable-rollback
opsi.
aws cloudformation update-stack --stack-name myteststack
--template-url DOC-EXAMPLE-BUCKET.template
--disable-rollback
Perintah mengembalikan output berikut.
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
-
Jelaskan status tumpukan menggunakan describe-stack-events perintah describe-stacks atau.
aws cloudformation describe-stacks --stack-name myteststack
Perintah mengembalikan output berikut.
{
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"Description": "AWS CloudFormation Sample Template",
"Tags": [],
"Outputs": [],
"CreationTime": "2013-08-23T01:02:15.422Z",
"Capabilities": [],
"StackName": "myteststack",
"StackStatus": "UPDATE_COMPLETE",
"DisableRollback": true
}
]
}
- Change set
-
Anda dapat memulai set perubahan untuk tumpukan dengan status CREATE_FAILED
atau UPDATE_FAILED
tetapi tidak untuk status. UPDATE_ROLLBACK_FAILED
Untuk mempertahankan sumber daya yang berhasil disediakan selama operasi set perubahan
Tentukan --disable-rollback
opsi selama execute-change-setoperasi.
-
Berikan nama tumpukan dan templat ke execute-change-set perintah dengan --disable-rollback
opsi.
aws cloudformation execute-change-set --stack-name myteststack
--change-set-name my-change-set
--template-body file://template.yaml
Perintah mengembalikan output berikut.
{
"Id": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784",
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
-
Memulai set perubahan dengan --disable-rollback
opsi.
aws cloudformation execute-change-set --stack-name myteststack
--change-set-name my-change-set
-–disable-rollback
-
Tentukan status tumpukan menggunakan describe-stack-events perintah describe-stacks atau.
{
"StackEvents": [
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"EventId": "49c966a0-7b74-11ea-8071-024244bb0672",
"StackName": "myteststack",
"LogicalResourceId": " MyBucket",
"PhysicalResourceId": "MyBucket",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": "2020-04-10T21:43:17.015Z",
"ResourceStatus": "UPDATE_FAILED"
"ResourceStatusReason": "User XYZ is not allowed to perform S3::UpdateBucket on MyBucket"
}
}
-
Perbaiki kesalahan izin dan coba lagi operasi.
aws cloudformation update-stack --stack-name myteststack
--use-previous-template --disable-rollback
Perintah mengembalikan output berikut.
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
-
Jelaskan status tumpukan menggunakan describe-stack-events perintah describe-stacks atau.
aws cloudformation describe-stacks --stack-name myteststack
Perintah mengembalikan output berikut.
{
"Stacks": [
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"Description": "AWS CloudFormation Sample Template",
"Tags": [],
"Outputs": [],
"CreationTime": "2013-08-23T01:02:15.422Z",
"Capabilities": [],
"StackName": "myteststack",
"StackStatus": "UPDATE_COMPLETE",
"DisableRollback": true
}
]
}
Gulung kembali tumpukan
Untuk memutar kembali tumpukan dari status tumpukan CREATE_FAILED atau UPDATE_FAILED
Gunakan rollback-stack perintah untuk memutar kembali tumpukan ke keadaan stabil terakhirnya.
-
Memulai rollback dengan rollback-stack perintah dan menentukan nama stack.
aws cloudformation rollback-stack --stack-name myteststack
Perintah mengembalikan output berikut.
{
"StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
rollback-stackOperasi akan menghapus tumpukan jika tidak berisi status stabil terakhir yang diketahui.