Terus mengembalikan pembaruan - AWS CloudFormation

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

Terus mengembalikan pembaruan

Terkadang, ketika CloudFormation mencoba memutar kembali pembaruan tumpukan, itu tidak dapat memutar kembali semua perubahan yang dibuatnya selama proses pembaruan. Ini disebut UPDATE_ROLLBACK_FAILED negara. Misalnya, Anda mungkin memiliki tumpukan yang mulai memutar kembali ke instance database lama yang dihapus di luar CloudFormation. Karena CloudFormation tidak tahu basis data tersebut telah dihapus, itu mengasumsikan bahwa instans basis data tersebut masih ada dan mencoba untuk mengembalikan ke basis data tersebut, menyebabkan kegagalan pembaruan rollback.

Tumpukan dalam UPDATE_ROLLBACK_FAILED status tidak dapat diperbarui, tetapi dapat digulung kembali ke status kerja (UPDATE_ROLLBACK_COMPLETE). Setelah mengembalikan tumpukan ke pengaturan aslinya, Anda dapat mencoba memperbaruinya lagi.

Dalam sebagian besar kasus, Anda harus memperbaiki kesalahan yang menyebabkan pembaruan rollback gagal sebelum dapat melanjutkan untuk mengembalikan tumpukan Anda. Dalam kasus lain, Anda dapat terus mengembalikan pembaruan tanpa perubahan apa pun, misalnya saat waktu operasi tumpukan habis.

catatan

Jika Anda menggunakan tumpukan bersarang, mengembalikan tumpukan induk akan mencoba untuk mengembalikan semua tumpukan anak juga.

Untuk terus mengembalikan pembaruan (konsol)
  1. Masuk ke AWS Management Console dan buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  2. Pada bilah navigasi di bagian atas layar, pilih Wilayah AWS tempat tumpukan berada.

  3. Pada halaman Stacks, pilih stack yang ingin Anda update, pilih Stack actions, dan kemudian pilih Continue update rollback.

    Jika tidak ada solusi yang Memecahkan masalah kesalahan berhasil, Anda dapat menggunakan opsi lanjutan untuk melewati sumber daya yang CloudFormation tidak berhasil diputar kembali. Anda harus mencari dan mengetik logika IDs sumber daya yang ingin Anda lewati. Tentukan hanya sumber daya yang masuk ke UPDATE_FAILED status selama UpdateRollback dan tidak selama pembaruan penerusan.

    Awas

    CloudFormation menetapkan status sumber daya yang ditentukan ke UPDATE_COMPLETE dan terus memutar kembali tumpukan. Setelah rollback selesai, status sumber daya yang dilewati akan tidak konsisten dengan status sumber daya di templat tumpukan. Sebelum Anda melakukan pembaruan tumpukan lain, Anda harus memperbarui tumpukan atau sumber daya agar konsisten satu sama lain. Jika tidak, pembaruan tumpukan berikutnya mungkin akan gagal dan tumpukan tidak akan dapat dipulihkan.

    Tentukan jumlah minimum sumber daya yang diperlukan untuk berhasil mengembalikan tumpukan Anda. Sebagai contoh, pembaruan sumber daya yang gagal dapat menyebabkan kegagalan sumber daya dependen. Dalam hal ini, mungkin tidak perlu untuk melewatkan sumber daya dependen.

    Untuk melewatkan sumber daya yang merupakan bagian dari tumpukan bersarang, gunakan format berikut: NestedStackName.ResourceLogicalID. Jika Anda ingin menentukan ID logis dari sumber daya tumpukan (Type: AWS::CloudFormation::Stack) di daftar ResourcesToSkip, tumpukan tertanam yang terkait harus berada dalam salah satu status berikut: DELETE_IN_PROGRESS, DELETE_COMPLETE, atau DELETE_FAILED.

Untuk terus mengembalikan pembaruan (AWS CLI)
  • Gunakan continue-update-rollbackperintah dengan --stack-name opsi untuk menentukan ID tumpukan yang ingin Anda lanjutkan untuk memutar kembali.

Lanjutkan memutar kembali dari pembaruan tumpukan bersarang yang gagal

Ketika Anda memiliki beberapa tumpukan yang bersarang satu sama lain, Anda mungkin perlu melewati sumber daya di beberapa level bersarang untuk mendapatkan hierarki tumpukan penuh kembali ke status kerja.

Misalnya, Anda memiliki tumpukan root yang disebut WebInfra yang berisi dua tumpukan kecil di dalamnya: WebInfra-Compute danWebInfra-Storage. Kedua tumpukan ini juga memiliki tumpukan bersarang sendiri di dalamnya.

Jika terjadi kesalahan selama pembaruan, dan proses pembaruan gagal, seluruh hierarki tumpukan mungkin berakhir dalam UPDATE_ROLLBACK_FAILED status, seperti yang ditunjukkan pada diagram berikut.

Diagram yang menunjukkan hierarki tumpukan bersarang tiga tingkat.
catatan

Nama tumpukan dalam contoh ini dipotong agar memudahkan. Nama tumpukan anak biasanya dihasilkan oleh CloudFormation dan berisi string acak yang unik, jadi nama sebenarnya mungkin tidak ramah pengguna.

Untuk mendapatkan tumpukan root ke status yang dapat dioperasikan menggunakan continue-update-rollback perintah, Anda harus menggunakan --resources-to-skip opsi untuk melewati sumber daya yang gagal di-rollback.

continue-update-rollbackContoh berikut melanjutkan operasi rollback dari pembaruan tumpukan yang sebelumnya gagal. Dalam contoh ini, --resources-to-skip opsi mencakup item berikut:

  • myCustom

  • WebInfra-Compute-Asg.myAsg

  • WebInfra-Compute-LB.myLoadBalancer

  • WebInfra-Storage.DB

Untuk sumber daya tumpukan root, Anda hanya perlu memberikan ID logis, misalnya,myCustom. Namun, untuk sumber daya yang terkandung dalam tumpukan bersarang, Anda harus memberikan nama tumpukan bersarang dan ID logisnya, dipisahkan oleh titik. Misalnya, WebInfra-Compute-Asg.myAsg.

aws cloudformation continue-update-rollback --stack-name WebInfra \ --resources-to-skip myCustom WebInfra-Compute-Asg.myAsg WebInfra-Compute-LB.myLoadBalancer WebInfra-Storage.DB
Untuk menemukan nama tumpukan tumpukan bersarang

Anda dapat menemukannya di dalam ID tumpukan turunan atau Amazon Resource Name (ARN).

ARNContoh berikut mengacu pada tumpukan bernamaWebInfra-Storage-Z2VKC706XKXT.

arn:aws:cloudformation:us-east-1:123456789012:stack/WebInfra-Storage-Z2VKC706XKXT/ea9e7f90-54f7-11e6-a032-028f3d2330bd
Untuk menemukan ID logis dari tumpukan bersarang

Anda dapat menemukan ID logis tumpukan anak dalam definisi templat induknya. Dalam diagram, tumpukan WebInfra-Storage-DB anak ada DB di induknyaWebInfra-Storage. LogicalId

Di CloudFormation konsol, Anda juga dapat menemukan ID logis di kolom Logical ID untuk sumber daya tumpukan pada tab Resources atau tab Events. Untuk informasi selengkapnya, lihat Lihat informasi tumpukan dari CloudFormation konsol.