Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pilih cara menangani kegagalan saat menyediakan sumber daya
Jika operasi tumpukan Anda gagal, Anda tidak perlu memutar kembali sumber daya yang sudah berhasil disediakan dan memulai kembali dari awal setiap saat. Sebagai gantinya, Anda dapat memecahkan masalah sumber daya dalam UPDATE_FAILED
status CREATE_FAILED
atau, lalu melanjutkan penyediaan dari titik di mana masalah terjadi.
Untuk melakukan ini, Anda harus mengaktifkan opsi mempertahankan sumber daya yang berhasil disediakan. Opsi ini tersedia untuk semua penerapan tumpukan dan operasi set perubahan.
-
Untuk pembuatan tumpukan, jika Anda memilih opsi Pertahankan sumber daya yang berhasil disediakan, CloudFormation mempertahankan status sumber daya yang berhasil dibuat dan membiarkan yang gagal dalam status gagal hingga operasi pembaruan berikutnya dilakukan.
-
Selama operasi set pembaruan dan perubahan, memilih Pertahankan 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.
Ikhtisar opsi kegagalan tumpukan
Sebelum mengeluarkan operasi dari CloudFormation konsol,, atau API 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 dan EC2 instans gagal selama operasi pembuatan, Anda mungkin ingin menyelidiki kesalahan tersebut, daripada segera mengembalikan sumber daya yang gagal. EC2 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 yang diperlukan untuk menjeda stack rollback
Untuk CloudFormation mencegah agar tidak secara otomatis memutar kembali dan menghapus sumber daya yang berhasil dibuat, kondisi berikut harus dipenuhi.
-
Saat Anda membuat atau memperbarui tumpukan, Anda harus memilih opsi untuk Mempertahankan sumber daya yang berhasil disediakan. Ini memberi tahu untuk CloudFormation tidak menghapus sumber daya yang berhasil dibuat, bahkan jika operasi tumpukan keseluruhan gagal.
-
Operasi tumpukan pasti gagal, artinya status tumpukan adalah salah satu CREATE_FAILED
atauUPDATE_FAILED
.
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://template.yaml
\
--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 https://s3.amazonaws.com/amzn-s3-demo-bucket
/updated.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"
}
-
Mulai 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.
aws cloudformation describe-stack-events --stack-name myteststack
Perintah mengembalikan output berikut.
{
"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": "myteststack-MyBucket-abcdefghijk1",
"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
}
]
}
Menggulung kembali tumpukan
Anda dapat menggunakan perintah rollback-stack untuk memutar kembali tumpukan dengan status tumpukan CREATE_FAILED
atau UPDATE_FAILED
tumpukan ke status stabil terakhirnya.
rollback-stackPerintah berikut memutar kembali tumpukan yang ditentukan.
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.