Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Buat penerapan rilis kenari

Mode fokus
Buat penerapan rilis kenari - Amazon API Gateway

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

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

Anda membuat penerapan rilis kenari saat menerapkan API dengan pengaturan canary sebagai input tambahan untuk operasi pembuatan penerapan.

Anda juga dapat membuat penerapan rilis kenari dari penerapan non-canary yang ada dengan membuat stage:updatepermintaan untuk menambahkan pengaturan kenari di panggung.

Saat membuat penyebaran rilis non-canary, Anda dapat menentukan nama panggung yang tidak ada. API Gateway membuat satu jika tahap yang ditentukan tidak ada. Namun, Anda tidak dapat menentukan nama panggung yang tidak ada saat membuat penerapan rilis kenari. Anda akan mendapatkan kesalahan dan API Gateway tidak akan membuat penerapan rilis kenari apa pun.

Anda dapat membuat penerapan rilis canary di API Gateway menggunakan konsol API Gateway, the AWS CLI, atau SDK. AWS

Buat penerapan canary menggunakan konsol API Gateway

Untuk menggunakan konsol API Gateway untuk membuat penerapan rilis canary, ikuti petunjuk di bawah ini:

Untuk membuat penerapan rilis kenari awal
  1. Masuk ke konsol API Gateway.

  2. Pilih REST API yang ada atau buat REST API baru.

  3. Di panel navigasi utama, pilih Resources, lalu pilih Deploy API. Ikuti petunjuk di layar di Deploy API untuk menerapkan API ke tahap baru.

    Sejauh ini, Anda telah menerapkan API ke tahap rilis produksi. Selanjutnya, Anda mengonfigurasi pengaturan kenari di panggung dan, jika perlu, juga mengaktifkan caching, mengatur variabel tahap, atau mengonfigurasi eksekusi API atau log akses.

  4. Untuk mengaktifkan caching API atau mengaitkan ACL AWS WAF web dengan stage, di bagian Detail tahap, pilih Edit. Untuk informasi selengkapnya, lihat Pengaturan cache untuk REST APIs di API Gateway atau Untuk mengaitkan ACL AWS WAF web dengan tahap API Gateway API menggunakan konsol API Gateway.

  5. Untuk mengonfigurasi eksekusi atau mengakses logging, di bagian Log dan penelusuran, pilih Edit dan ikuti petunjuk di layar. Untuk informasi selengkapnya, lihat Siapkan CloudWatch logging untuk REST APIs di API Gateway.

  6. Untuk mengatur variabel tahap, pilih tab variabel Tahap dan ikuti petunjuk di layar untuk menambah atau memodifikasi variabel tahap. Untuk informasi selengkapnya, lihat Menggunakan variabel stage untuk REST API di API Gateway.

  7. Pilih tab Canary, lalu pilih Create canary. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab Canary.

  8. Di bawah pengaturan Canary, untuk Canary, masukkan persentase permintaan yang akan dialihkan ke kenari.

  9. Jika diinginkan, pilih Cache tahap untuk mengaktifkan caching untuk rilis kenari. Cache tidak tersedia untuk rilis canary sampai caching API diaktifkan.

  10. Untuk mengganti variabel tahap yang ada, untuk penggantian Canary, masukkan nilai variabel tahap baru.

Setelah rilis canary diinisialisasi pada tahap penerapan, Anda mengubah API dan ingin menguji perubahannya. Anda dapat menerapkan ulang API ke tahap yang sama sehingga versi yang diperbarui dan versi dasar dapat diakses melalui tahap yang sama. Langkah-langkah berikut menjelaskan cara melakukannya.

Untuk menerapkan versi API terbaru ke kenari
  1. Dengan setiap pembaruan API, pilih Deploy API.

  2. Di Deploy API, pilih tahap yang berisi kenari dari daftar dropdown tahap Deployment.

  3. (Opsional) Masukkan deskripsi untuk deskripsi Deployment.

  4. Pilih Deploy untuk mendorong versi API terbaru ke rilis canary.

  5. Jika diinginkan, konfigurasikan ulang pengaturan panggung, log, atau pengaturan kenari, seperti yang dijelaskan dalam. Untuk membuat penerapan rilis kenari awal

Akibatnya, rilis kenari menunjuk ke versi terbaru sementara rilis produksi masih menunjuk ke versi awal API. CanarySettings sekarang memiliki nilai deploymentID baru, sedangkan stage masih memiliki nilai deploymentID awal. Di belakang layar, konsol memanggil stage:update.

Buat penerapan kenari menggunakan AWS CLI

Untuk membuat penyebaran kenari untuk tahap baru
  1. Gunakan perintah create-deployment berikut untuk membuat deployment dengan dua variabel tahap, tetapi tanpa canary:

    aws apigateway create-deployment \ --variables sv0=val0,sv1=val1 \ --rest-api-id abcd1234 \ --stage-name 'prod'

    Outputnya akan terlihat seperti berikut:

    { "id": "du4ot1", "createdDate": 1511379050 }
  2. Gunakan perintah create-deployment berikut untuk membuat penyebaran kenari di panggung: prod

    aws apigateway create-deployment \ --rest-api-id abcd1234 \ --canary-settings percentTraffic=10.5,stageVariableOverrides={sv1='val2',sv2='val3'},useStageCache=false \ --stage-name 'prod'

    Outputnya akan terlihat seperti berikut:

    { "id": "a6rox0", "createdDate": 1511379433 }

    Penerapan yang dihasilkan id mengidentifikasi versi uji API untuk rilis canary. Akibatnya, tahap terkait diaktifkan kenari.

  3. (Opsional) Gunakan perintah get-stage berikut untuk melihat representasi tahap:

    aws apigateway get-stage --rest-api-id acbd1234 --stage-name prod

    Berikut ini menunjukkan representasi dari Stage sebagai output dari perintah:

    { "stageName": "prod", "variables": { "sv0": "val0", "sv1": "val1" }, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId": "du4ot1", "lastUpdatedDate": 1511379433, "createdDate": 1511379050, "canarySettings": { "percentTraffic": 10.5, "deploymentId": "a6rox0", "useStageCache": false, "stageVariableOverrides": { "sv2": "val3", "sv1": "val2" } }, "methodSettings": {} }

    Dalam contoh ini, versi dasar API akan menggunakan variabel tahap{"sv0":val0", "sv1":val1"}, sedangkan versi pengujian menggunakan variabel tahap{"sv1":val2", "sv2":val3"}. Baik rilis produksi dan rilis kenari menggunakan variabel tahap yang samasv1, tetapi dengan nilai yang berbeda, val1 danval2, masing-masing. Variabel tahap sv0 digunakan hanya dalam rilis produksi dan variabel tahap sv2 digunakan hanya dalam pelepasan kenari.

Anda juga dapat membuat penerapan rilis kenari dari penerapan reguler yang ada dengan memperbarui tahapan untuk mengaktifkan kenari.

Untuk membuat penerapan rilis kenari dari penerapan yang ada
  1. Gunakan perintah create-deployment untuk membuat deployment tanpa canary:

    aws apigateway create-deployment \ --variables sv0=val0,sv1=val1 \ --rest-api-id abcd1234 \ --stage-name 'beta'
  2. Gunakan perintah update-stage untuk memperbarui stage untuk mengaktifkan kenari:

    aws apigateway update-stage \ --rest-api-id abcd1234 \ --stage-name 'beta' \ --patch-operations '[{ "op": "replace", "value": "0.0", "path": "/canarySettings/percentTraffic" }, { "op": "copy", "from": "/canarySettings/stageVariableOverrides", "path": "/variables" }, { "op": "copy", "from": "/canarySettings/deploymentId", "path": "/deploymentId" }]'

    Outputnya akan terlihat seperti berikut:

    { "stageName": "beta", "variables": { "sv0": "val0", "sv1": "val1" }, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId": "cifeiw", "lastUpdatedDate": 1511381930, "createdDate": 1511380879, "canarySettings": { "percentTraffic": 10.5, "deploymentId": "cifeiw", "useStageCache": false, "stageVariableOverrides": { "sv2": "val3", "sv1": "val2" } }, "methodSettings": {} }

    Karena Anda mengaktifkan canary pada versi API yang ada, baik production release (Stage) dan canary release (canarySettings) mengarah ke penerapan yang sama. Setelah Anda mengubah API dan menerapkannya ke tahap ini lagi, versi baru akan berada di rilis canary, sementara versi dasar tetap dalam rilis produksi. Ini dimanifestasikan dalam evolusi tahap ketika rilis deploymentId dalam kenari diperbarui ke penerapan baru id dan rilis produksi tetap tidak berubah. deploymentId

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.