Lakukan blue/green pembaruan untuk lingkungan komputasi - AWS Batch

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

Lakukan blue/green pembaruan untuk lingkungan komputasi

blue/green Pembaruan adalah strategi pembaruan yang mengurangi waktu henti dan risiko dengan menciptakan lingkungan komputasi baru (hijau) di samping lingkungan komputasi yang ada (biru). Pendekatan ini memungkinkan Anda untuk secara bertahap mentransisikan beban kerja ke lingkungan baru sambil menjaga lingkungan yang ada tetap operasional. Blue/green pembaruan menyediakan jalur pembaruan teraman dan bekerja dengan jenis peran layanan atau strategi alokasi apa pun.

Gambaran umum

Pembaruan biru/hijau menawarkan beberapa keuntungan yang membuatnya ideal untuk lingkungan produksi. Mereka memberikan nol downtime dengan menjaga beban kerja Anda berjalan terus menerus selama proses pembaruan. Pendekatan ini memungkinkan kemampuan rollback yang mudah, memungkinkan Anda untuk dengan cepat kembali ke lingkungan asli jika masalah muncul. Anda dapat menerapkan strategi transisi bertahap, memverifikasi kinerja lingkungan baru sebelum sepenuhnya mengalihkan beban kerja produksi Anda. Metode ini juga memberikan mitigasi risiko yang sangat baik karena lingkungan asli tetap tidak berubah dan operasional sampai Anda memilih untuk menghapusnya.

Saat blue/green pembaruan diperlukan

Anda harus menggunakan blue/green pembaruan dalam situasi berikut:

  • Saat lingkungan komputasi Anda menggunakan strategi BEST_FIT alokasi (tidak mendukung pembaruan infrastruktur)

  • Saat lingkungan komputasi Anda tidak menggunakan peran terkait AWSServiceRoleForBatchlayanan

  • Saat Anda perlu bertransisi di antara berbagai jenis peran layanan

Blue/green updates are particularly recommended for production environments where zero downtime is critical for your workloads. This approach works well when you need to test new configurations before transitioning production workloads, ensuring that changes meet your performance and reliability requirements. Choose blue/greenpembaruan saat kemampuan rollback cepat penting untuk operasi Anda, terutama jika Anda memperbarui kustom AMIs dengan perubahan signifikan. Metode ini juga ideal ketika Anda ingin memvalidasi karakteristik kinerja dan perilaku sebelum sepenuhnya berkomitmen untuk perubahan, memberikan kepercayaan pada proses pembaruan Anda.

Prasyarat

Sebelum melakukan blue/green pembaruan, pastikan Anda memiliki:

  • Izin IAM yang sesuai untuk membuat dan mengelola lingkungan komputasi

  • Akses untuk melihat dan memodifikasi pengaturan antrian pekerjaan

  • Strategi coba ulang Job dikonfigurasi untuk definisi pekerjaan Anda untuk menangani potensi kegagalan selama transisi. Untuk informasi selengkapnya, lihat Mengotomatiskan percobaan ulang pekerjaan.

  • ID AMI untuk lingkungan komputasi baru. Ini bisa berupa:

    • Versi terbaru yang disetujui dari Amazon ECS yang dioptimalkan AMI (digunakan secara default)

    • AMI khusus yang memenuhi spesifikasi AMI instans kontainer Amazon ECS. Saat menggunakan AMI kustom, Anda dapat menentukannya dengan salah satu cara berikut:

      • Menggunakan bidang penggantian ID Gambar dalam konfigurasi EC2

      • Menentukannya dalam template peluncuran

      Untuk informasi selengkapnya tentang membuat kustom AMIs, lihatTutorial: Membuat sumber daya komputasi AMI.

Sebelum membuat lingkungan baru, Anda perlu merekam konfigurasi lingkungan komputasi yang ada. Anda dapat melakukan ini menggunakan salah satu AWS Management Console atau AWS CLI.

catatan

Prosedur berikut merinci cara melakukan blue/green pembaruan yang hanya mengubah AMI. Anda dapat memperbarui pengaturan lain untuk lingkungan baru.

penting

Saat Anda menghapus lingkungan komputasi lama (biru), pekerjaan apa pun yang sedang berjalan pada instance tersebut akan gagal karena instance akan dihentikan. Konfigurasikan strategi coba ulang pekerjaan dalam definisi pekerjaan Anda untuk menangani kegagalan ini secara otomatis. Untuk informasi selengkapnya, lihat Mengotomatiskan percobaan ulang pekerjaan.

Setelah Anda yakin dengan lingkungan baru:

  1. Edit antrian pekerjaan untuk menghapus lingkungan komputasi lama.

  2. Tunggu pekerjaan yang sedang berjalan di lingkungan lama selesai.

  3. Hapus lingkungan komputasi lama.

Performing blue/green updates using the AWS Management Console
  1. Kloning lingkungan komputasi Anda saat ini

    1. Buka AWS Batch konsol di https://console.aws.amazon.com/batch/.

    2. Pilih lingkungan komputasi yang ada.

    3. Pilih Actions dan kemudian Clone.

    4. Untuk Nama, masukkan nama unik untuk lingkungan komputasi baru Anda.

    5. Pilih Berikutnya.

    6. Di bagian konfigurasi Instans, perbarui pengaturan AMI:

      1. Perluas Additional configuration (Konfigurasi tambahan).

      2. Untuk EC2 konfigurasi, tentukan tipe AMI baru di Jenis gambar dan ID AMI di bidang penggantian ID Gambar.

    7. Pilih Berikutnya.

    8. Untuk konfigurasi Jaringan pilih Berikutnya.

    9. Tinjau pengaturan lain yang secara otomatis disalin dari lingkungan Anda yang ada.

    10. Pilih Buat lingkungan komputasi.

    11. Tunggu status lingkungan komputasi baru menjadiVALID.

  2. Ubah urutan antrian pekerjaan

    1. Di panel navigasi, pilih Antrian pekerjaan.

    2. Pilih antrian pekerjaan yang terkait dengan lingkungan komputasi yang ada.

    3. Pilih Edit.

    4. Di lingkungan Connected Compute, tambahkan lingkungan komputasi baru:

      • Tambahkan lingkungan komputasi baru dengan nomor urutan yang lebih tinggi daripada lingkungan yang ada untuk mentransisikan beban kerja.

      • Setelah Anda memverifikasi lingkungan baru berfungsi dengan benar, Anda dapat menjadikannya lingkungan utama dengan memberikan nomor urutan yang lebih rendah.

    5. Pilih Perbarui antrian pekerjaan.

  3. Bersihkan

    1. Pantau pelaksanaan pekerjaan di lingkungan baru untuk memastikan semuanya berfungsi seperti yang diharapkan.

    2. Setelah Anda yakin dengan lingkungan baru:

      1. Edit antrian pekerjaan untuk menghapus lingkungan komputasi lama.

      2. Tunggu pekerjaan yang sedang berjalan di lingkungan lama selesai.

      3. Hapus lingkungan komputasi lama.

Performing blue/green updates using the AWS CLI
  1. Untuk mendapatkan konfigurasi menggunakan AWS CLI, gunakan perintah berikut:

    aws batch describe-compute-environments \ --compute-environments your-compute-environment-name

    Simpan output untuk referensi saat membuat lingkungan baru.

  2. Buat lingkungan komputasi baru menggunakan konfigurasi dari lingkungan yang ada, tetapi dengan AMI baru. Berikut adalah contoh struktur perintah:

    Ganti nilai contoh dengan konfigurasi aktual Anda dari langkah sebelumnya:

    cat <<EOF > ./blue-green-compute-environment.json { "computeEnvironmentName": "your-new-compute-environment-name", "type": "MANAGED", "state": "ENABLED", "computeResources": { "instanceRole": "arn:aws:iam::012345678901:instance-profile/ecsInstanceRole", "type": "EC2", "minvCpus": 2, "desiredvCpus": 2, "maxvCpus": 256, "instanceTypes": [ "optimal" ], "allocationStrategy": "BEST_FIT_PROGRESSIVE", "ec2Configuration": [ { "imageType": "ECS_AL2023", "imageIdOverride": "ami-0abcdef1234567890" } ], "subnets": [, "subnet-0abcdef1234567890" ], "securityGroupIds": [ "sg-0abcdef1234567890" ] } } EOF
    $ aws batch create-compute-environment --cli-input-json file://./blue-green-compute-environment.json
  3. Tunggu lingkungan baru tersedia:

    aws batch describe-compute-environments \ --compute-environments your-new-compute-environment-name \ --query 'computeEnvironments[].status'
  4. Tambahkan lingkungan komputasi baru ke antrian pekerjaan Anda:

    aws batch update-job-queue \ --job-queue your-job-queue \ --compute-environment-order order=1,computeEnvironment=your-existing-environment \ order=2,computeEnvironment=your-new-compute-environment-name
  5. Setelah diverifikasi, perbarui lagi untuk menjadikan lingkungan baru menjadi primer:

    aws batch update-job-queue \ --job-queue your-job-queue \ --compute-environment-order order=1,computeEnvironment=your-new-compute-environment-name

    Setelah semua pekerjaan selesai di lingkungan lama, nonaktifkan dan kemudian hapus:

    aws batch update-compute-environment \ --compute-environment your-existing-environment \ --state DISABLED
    aws batch delete-compute-environment \ --compute-environment your-existing-environment