View a markdown version of this page

Deploy AWS CloudFormation tumpukan lebih cepat dengan mode ekspres - AWS CloudFormation

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

Deploy AWS CloudFormation tumpukan lebih cepat dengan mode ekspres

Dengan mode CloudFormation ekspres, Anda dapat menyelesaikan operasi tumpukan segera setelah CloudFormation menerapkan konfigurasi sumber daya, tanpa menunggu sumber daya stabil sepenuhnya. Gunakan mode ekspres untuk membuat, memperbarui, dan menghapus tumpukan secara signifikan lebih cepat selama alur kerja pengembangan berulang.

Mode ekspres berfungsi dengan semua CloudFormation templat yang ada. Anda tidak perlu membuat perubahan template untuk menggunakan mode ekspres.

Kapan menggunakan mode ekspres

Gunakan mode ekspres untuk alur kerja pengembangan dan iterasi di mana kecepatan lebih penting daripada menunggu stabilisasi sumber daya penuh. Gunakan mode ekspres saat:

  • Anda mengulangi perubahan template selama pengembangan.

  • Anda ingin umpan balik yang lebih cepat tentang apakah konfigurasi sumber daya Anda valid.

  • Anda tidak perlu menunggu sumber daya beroperasi penuh sebelum melanjutkan.

Untuk penerapan produksi di mana Anda perlu memverifikasi bahwa sumber daya sepenuhnya stabil dan operasional sebelum mempertimbangkan penerapan selesai, gunakan mode penerapan default.

Cara kerja mode ekspres

Dalam mode penerapan default, CloudFormation tunggu setiap sumber daya mencapai status stabil sepenuhnya sebelum melaporkan sumber daya sebagai lengkap. Misalnya, saat membuat instans Amazon EC2, CloudFormation tunggu hingga instance dalam status. running

Dalam mode ekspres, CloudFormation biasanya menganggap operasi sumber daya selesai segera setelah panggilan API untuk membuat, memperbarui, atau menghapus sumber daya berhasil. Dalam kebanyakan kasus, CloudFormation tidak menunggu sumber daya mencapai keadaan operasional akhir.

Ini berarti bahwa setelah operasi tumpukan mode ekspres selesai:

  • Sumber daya mungkin masih menginisialisasi atau menyebarkan perubahan.

  • Sumber daya mungkin belum siap untuk melayani lalu lintas atau menerima koneksi.

  • Operasi penghapusan mungkin masih dalam proses.

Bagaimana CloudFormation menangani dependensi dalam mode ekspres

Mode ekspres menghormati dependensi sumber daya yang ditentukan dalam template Anda. Jika sumber daya mereferensikan ID atau atribut sumber daya lain (via Ref atauFn::GetAtt), CloudFormation mengonfirmasi konfigurasi sumber daya yang direferensikan diterapkan sebelum memulai sumber daya dependen. Jika sumber daya dependen mengalami kegagalan sementara karena sumber daya yang direferensikan belum siap, CloudFormation coba ulang operasi.

Sumber daya yang tidak memiliki ketergantungan satu sama lain dapat dilanjutkan secara paralel.

Mode ekspres tidak mengubah urutan ketergantungan sumber daya Anda. Itu berubah ketika laporan operasi tumpukan selesai.

Memulai dengan mode ekspres

Anda dapat menggunakan mode ekspres dengan set AWS Command Line Interface (AWS CLI), AWS Cloud Development Kit (AWS CDK) (AWS CDK), CloudFormation konsol, dan perubahan. Bagian berikut menjelaskan cara mengaktifkan mode ekspres dengan setiap metode.

Menggunakan mode ekspres dengan AWS CLI

Untuk menggunakan mode ekspres dengan AWS CLI, tambahkan --deployment-config parameter ke perintah operasi tumpukan Anda.

Buat tumpukan dengan mode ekspres

Perintah berikut membuat tumpukan menggunakan mode ekspres:

aws cloudformation create-stack --stack-name my-stack \ --template-body file://my-template.yaml \ --deployment-config '{"mode": "EXPRESS"}'
Perbarui tumpukan dengan mode ekspres

Perintah berikut memperbarui tumpukan menggunakan mode ekspres:

aws cloudformation update-stack --stack-name my-stack \ --template-body file://my-template.yaml \ --deployment-config '{"mode": "EXPRESS"}'
Hapus tumpukan dengan mode ekspres

Perintah berikut menghapus tumpukan menggunakan mode ekspres:

aws cloudformation delete-stack --stack-name my-stack \ --deployment-config '{"mode": "EXPRESS"}'

Menggunakan mode ekspres dengan AWS CDK

Untuk menggunakan mode ekspres dengan AWS Cloud Development Kit (AWS CDK) (AWS CDK), gunakan --express bendera dengan cdk deploy perintah:

cdk deploy --express

Menggunakan mode ekspres dengan AWS SAM

Untuk menggunakan mode ekspres dengan AWS SAM CLI, tambahkan --express bendera ke perintah deploy atau sync Anda:

sam deploy --express
sam sync --express

Untuk mempertahankan pengaturan dalam konfigurasi proyek Anda, gunakan--save-params:

sam deploy --express --save-params

Ini menyimpan express = true ke samconfig.toml file Anda sehingga penerapan berikutnya menggunakan mode Express secara otomatis.

Saat mode ekspres diaktifkan, AWS SAM CLI meneruskan konfigurasi penerapan ke. CloudFormation --disable-rollbackBendera mengontrol perilaku rollback dalam konfigurasi penerapan.

Menggunakan mode ekspres dengan konsol

Saat membuat atau memperbarui tumpukan di CloudFormation konsol, Anda dapat mengaktifkan mode ekspres di langkah Configure stack options. Di bawah Opsi Deployment, pilih Express untuk mode penerapan.

Menggunakan mode ekspres dengan set perubahan

Anda dapat menggunakan mode ekspres dengan set perubahan dengan menentukan konfigurasi penerapan saat membuat set perubahan:

aws cloudformation create-change-set --stack-name my-stack \ --change-set-name my-change-set \ --template-body file://my-template.yaml \ --deployment-config '{"mode": "EXPRESS"}'

Saat Anda menjalankan set perubahan, CloudFormation terapkan konfigurasi penerapan mode ekspres yang ditentukan selama pembuatan set perubahan.

Perilaku rollback dengan mode ekspres

Saat Anda menggunakan mode ekspres, CloudFormation menonaktifkan rollback secara default. Jika operasi sumber daya gagal, CloudFormation tidak secara otomatis memutar kembali perubahan.

Untuk mengaktifkan kembali rollback saat menggunakan mode ekspres, atur disableRollback ke false dalam parameter: --deployment-config

aws cloudformation create-stack --stack-name my-stack \ --template-body file://my-template.yaml \ --deployment-config '{"mode": "EXPRESS", "disableRollback": false}'

Mode ekspres dan tumpukan bersarang

Saat Anda menggunakan mode ekspres pada tumpukan induk, pengaturan menyebar ke semua tumpukan bersarang dalam hierarki. Anda tidak perlu menentukan mode ekspres untuk setiap tumpukan bersarang secara terpisah. Semua sumber daya di tumpukan root dan tumpukan bersarangnya selesai segera setelah konfigurasinya diterapkan.

Pertimbangan kesiapan sumber daya

Mode ekspres menyelesaikan operasi sumber daya sebelum sumber daya mencapai status stabil sepenuhnya, sehingga sumber daya apa pun mungkin memerlukan waktu tambahan untuk sepenuhnya siap melayani lalu lintas atau menyelesaikan propagasi multi-wilayah. Tabel berikut mengilustrasikan jenis perilaku sumber daya yang dapat Anda harapkan, menggunakan contoh di berbagai jenis sumber daya. Contoh-contoh ini bersifat ilustratif dan tidak mewakili daftar lengkap sumber daya yang didukung.

Tipe sumber daya Operasi Perilaku kesiapan
CloudFront Distribusi Amazon Create/Update Distribusi mungkin memerlukan beberapa menit untuk diterapkan secara global setelah konfigurasi diterapkan.
Instans Amazon EC2 Buat Instance mungkin masih menginisialisasi (menjalankan skrip data pengguna, pemeriksaan status) setelah operasi tumpukan selesai.
AWS Fungsi Lambda Delete Sumber daya fungsi mungkin masih dibersihkan setelah laporan operasi penghapusan selesai.
Layanan Amazon Elastic Container Service (Amazon ECS) Create/Update Tugas layanan mungkin masih dimulai atau mencapai kondisi mapan setelah operasi tumpukan selesai.

Fitur dan batasan yang tidak didukung

Fitur dan layanan berikut tidak didukung dengan mode ekspres:

CloudFormation StackSets

CloudFormation tidak mendukung mode ekspres dengan StackSets operasi.

Sumber daya berikut memiliki perilaku khusus dengan mode ekspres:

Sumber daya khusus

Sumber daya khusus (termasuk AWS::CloudFormation::CustomResource dan Custom::* sumber daya) mengikuti perilaku default mereka. CloudFormation menunggu sumber daya khusus untuk mengirim sinyal respons sebelum mempertimbangkan operasi selesai, bahkan dalam mode ekspres. Untuk mencegah sumber daya kustom yang lambat atau macet menunda alur kerja iterasi cepat, tetapkan waktu tunggu maksimum dengan properti. ServiceTimeout Untuk informasi selengkapnya, lihat Batas waktu respons.

Perbandingan dengan AWS CDK penyebaran hotswap

Tabel berikut membandingkan mode ekspres dengan penyebaran AWS CDK hotswap.

Fitur Mode ekspres AWS CDK hotswap
Mekanisme penyebaran Penggunaan CloudFormation untuk semua operasi sumber daya Mem-bypass CloudFormation dan memanggil API layanan secara langsung
Kompatibilitas template Bekerja dengan semua CloudFormation template yang ada Mendukung serangkaian tipe sumber daya terbatas
Status tumpukan Status tumpukan tetap konsisten dengan template Status tumpukan mungkin melayang dari template
Dukungan rollback Mendukung rollback (dinonaktifkan secara default) Tidak ada dukungan rollback
Cakupan sumber daya Semua jenis CloudFormation sumber daya Jenis sumber daya terbatas (AWS Lambda, Amazon ECS, AWS Step Functions, dan lainnya)
Penggunaan yang disarankan Alur kerja pengembangan dan iterasi Alur kerja pengembangan dengan sumber daya yang didukung saja