Panduan migrasi gateway yang dihost sendiri
BERLAKU UNTUK: Pengembang | Premi
Artikel ini menjelaskan cara memigrasikan penyebaran gateway yang dihost sendiri yang ada ke gateway v2 yang dihost sendiri.
Penting
Dukungan untuk gateway yang dihost sendiri Azure API Management versi 0 dan gambar kontainer versi 1 berakhir pada 1 Oktober 2023, bersama dengan Api Konfigurasi v1 yang sesuai. Pelajari lebih lanjut dalam dokumentasi penghentian kami
Apa yang baru?
Saat kami berusaha untuk mempermudah pelanggan untuk menyebarkan gateway yang dihost sendiri, kami telah memperkenalkan API konfigurasi baru yang menghapus dependensi pada Azure Storage, kecuali Anda menggunakan Pemeriksa API atau kuota.
API konfigurasi baru memungkinkan pelanggan untuk lebih mudah mengadopsi, menyebarkan, dan mengoperasikan gateway yang dihost sendiri di infrastruktur yang ada.
Kami telah memperkenalkan tag gambar kontainer baru untuk memungkinkan pelanggan memilih cara terbaik untuk mencoba gateway kami dan menyebarkannya dalam produksi.
Untuk membantu pelanggan menjalankan gateway kami dalam produksi, kami telah memperluas panduan produksi kami untuk mencakup cara menskalakan gateway secara otomatis, dan menyebarkannya untuk ketersediaan tinggi di kluster Kubernetes Anda.
Pelajari selengkapnya tentang konektivitas gateway kami, persyaratan infrastruktur baru kami, dan apa yang terjadi jika konektivitas hilang dalam artikel ini.
Prasyarat
Sebelum dapat bermigrasi ke gateway v2 yang dihost sendiri, Anda perlu memastikan infrastruktur Anda memenuhi persyaratan.
Migrasi ke gateway v2 yang dihost sendiri
Migrasi dari gateway v2 yang dihost sendiri memerlukan beberapa langkah kecil untuk dilakukan:
- Menggunakan gambar kontainer baru
- Menggunakan API konfigurasi baru
- Memenuhi persyaratan keamanan minimal
Gambar Kontainer
Ubah tag gambar dalam skrip penyebaran Anda untuk menggunakan 2.0.0
atau di atasnya.
Atau, pilih salah satu tag gambar kontainer kami yang lain.
Anda dapat menemukan daftar lengkap tag yang tersedia di sini atau menemukan kami di Docker Hub.
Menggunakan API konfigurasi baru
Untuk bermigrasi ke gateway v2 yang dihost sendiri, pelanggan perlu menggunakan API Konfigurasi v2 baru kami.
Saat ini, Azure API Management menyediakan API Konfigurasi berikut untuk gateway yang dihost sendiri:
Konfigurasi Layanan | URL | Didukung | Persyaratan |
---|---|---|---|
v2 | {name}.configuration.azure-api.net |
Ya | Tautan |
v1 | {name}.management.azure-api.net/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.ApiManagement/service/{name}?api-version=2021-01-01-preview |
No | Tautan |
Pelanggan harus menggunakan API Konfigurasi v2 baru dengan mengubah skrip penyebaran mereka untuk menggunakan URL baru dan memenuhi persyaratan infrastruktur.
Penting
- Nama host DNS harus dapat diperbaiki ke alamat IP dan alamat IP yang sesuai harus dapat dijangkau. Ini mungkin memerlukan konfigurasi tambahan jika Anda menggunakan DNS privat, VNET internal, atau persyaratan infrastruktur lainnya.
Keamanan
Suite cipher TLS yang tersedia
Saat diluncurkan, gateway yang dihost sendiri v2.0 hanya akan menggunakan subset suite cipher yang digunakan v1.x. Pada v2.0.4, kami telah membawa kembali semua cipher suite yang didukung v1.x.
Anda dapat mempelajari selengkapnya tentang cipher suite yang digunakan dalam artikel ini atau gunakan v2.1.1 untuk mengontrol cipher suite mana yang akan digunakan.
Memenuhi persyaratan keamanan minimal
Selama startup, gateway yang dihost sendiri akan menyiapkan sertifikat CA yang akan digunakan. Ini mengharuskan kontainer gateway berjalan dengan setidaknya ID pengguna 1001 dan tidak dapat menggunakan sistem file baca-saja.
Saat mengonfigurasi konteks keamanan untuk kontainer di Kubernetes, hal berikut diperlukan minimal:
securityContext:
runAsNonRoot: true
runAsUser: 1001
readOnlyRootFilesystem: false
Namun, sejak 2.0.3
gateway yang dihost sendiri dapat berjalan sebagai non-root di Kubernetes yang memungkinkan pelanggan untuk menjalankan gateway dengan aman.
Berikut adalah contoh konteks keamanan untuk gateway yang dihost sendiri:
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1001 # This is a built-in user, but you can use any user ie 1000 as well
runAsGroup: 2000 # This is just an example
privileged: false
capabilities:
drop:
- all
Peringatan
Menjalankan gateway yang dihost sendiri dengan sistem file baca-saja (readOnlyRootFilesystem: true
) tidak didukung.
Menilai dampak dengan Azure Advisor
Untuk mempermudah migrasi, kami telah memperkenalkan rekomendasi Azure Advisor baru:
- Rekomendasi Gunakan gateway yang dihosting sendiri v2 - Mengidentifikasi instans API Management Azure tempat penggunaan gateway yang dihosting sendiri v0.x atau v1.x diidentifikasi.
- Rekomendasi Gunakan API Konfigurasi v2 untuk gateway yang dihosting sendiri - Mengidentifikasi instans API Management Azure di mana penggunaan API Konfigurasi v1 untuk gateway yang dihosting sendiri telah diidentifikasi.
Kami sangat menyarankan pelanggan untuk menggunakan gambaran umum "Semua Rekomendasi" di Azure Advisor untuk menentukan apakah migrasi diperlukan. Gunakan opsi pemfilteran untuk melihat apakah salah satu rekomendasi di atas ada.
Menggunakan Azure Resource Graph untuk mengidentifikasi instans Azure API Management
Kueri Azure Resource Graph ini memberi Anda daftar instans Azure API Management yang terkena dampak:
AdvisorResources
| where type == 'microsoft.advisor/recommendations'
| where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence'
| extend
recommendationTitle = properties.shortDescription.solution
| where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways'
| extend
instanceName = properties.impactedValue,
recommendationImpact = properties.impact,
recommendationMetadata = properties.extendedProperties,
lastUpdated = properties.lastUpdated
| project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, recommendationMetadata, lastUpdated
az graph query -q "AdvisorResources | where type == 'microsoft.advisor/recommendations' | where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence' | extend recommendationTitle = properties.shortDescription.solution | where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways' | extend instanceName = properties.impactedValue, recommendationImpact = properties.impact, recommendationMetadata = properties.extendedProperties, lastUpdated = properties.lastUpdated | project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, lastUpdated"
Pembatasan yang diketahui
Berikut adalah daftar batasan yang diketahui untuk gateway v2 yang dihost sendiri:
- API Konfigurasi v2 tidak mendukung nama domain kustom
Langkah berikutnya
- Pelajari selengkapnya tentang API Management di Dunia Hibrid dan multicloud
- Pelajari selengkapnya tentang panduan untuk menjalankan gateway yang dihost sendiri di Kubernetes dalam produksi
- Terapkan gateway yang dihosting sendiri ke Docker
- Terapkan gateway yang dihosting sendiri ke Kubernetes
- Sebarkan gateway yang dihost sendiri ke kluster berkemampuan Azure Arc