Bagikan melalui


Arsitektur zona pendaratan Azure API Management

Azure API Management
Azure Application Gateway
Azure Functions
.NET

API telah menjadi semakin integral dengan bagaimana organisasi dan pelanggan mereka mengakses layanan, baik dalam sistem internal maupun melalui saluran eksternal. Secara internal, API memfasilitasi akses ke aplikasi lini bisnis (LoB), solusi kepemilikan, dan integrasi mitra. Secara eksternal, semakin banyak organisasi yang berfokus pada peningkatan produktivitas dan menghasilkan pendapatan melalui monetisasi API. Mengingat tren ini, Azure API Management berfungsi sebagai elemen dasar dalam tata kelola standar, publikasi, dan pengawasan API untuk pemangku kepentingan internal dan eksternal.

Azure Application Gateway berfungsi sebagai titik pemeriksaan keamanan untuk API. Alih-alih memungkinkan pengguna terhubung langsung melalui internet, Anda merutekan semua lalu lintas melalui gateway aplikasi. Penyiapan ini menambahkan kontrol akses tambahan untuk membantu melindungi API Anda. Dengan pendekatan ini, Anda dapat menggunakan satu instans API Management untuk mendukung API internal dalam organisasi dan API eksternal di luar organisasi Anda, sambil menjaga API yang diekspos secara publik diamankan di belakang gateway.

Catatan

Arsitektur ini berfungsi sebagai dasar panduan untuk API Management di zona pendaratan Azure di Cloud Adoption Framework untuk Azure.

Sistem

Diagram menunjukkan arsitektur garis besar yang aman untuk API Management.

Unduh file Visio arsitektur ini.

Arsitektur ini mengasumsikan bahwa kebijakan diberlakukan dari implementasi referensi zona pendaratan Azure dan bahwa struktur didorong ke bawah dari grup manajemen.

Alur kerja

  • Alamat IP publik ditetapkan ke gateway aplikasi, yang berfungsi sebagai titik masuk untuk lalu lintas eksternal. Titik akhir tersebut mengekspos API melalui domain kustom.

  • Gateway aplikasi disebarkan di subnetnya sendiri dan dilindungi oleh kebijakan Web Application Firewall (WAF) untuk memeriksa dan memfilter permintaan masuk.

  • Lalu lintas dirutekan dari gateway aplikasi ke API Management (Premium), yang berada di subnet API Management terpisah. Instans API Management dikonfigurasi dalam mode internal, yang mencegah akses publik langsung.

  • Titik akhir privat digunakan untuk menghubungkan API Management dengan aman ke server aplikasi back-end yang hanya diekspos ke jaringan virtual. API Management juga secara berkala menghubungkan dependensi, seperti brankas kunci Azure. Biasanya, semua konektivitas privat ini terjadi dengan titik akhir dalam subnet titik akhir privat khusus.

  • Ruang kerja Analitik Log dan Application Insights terintegrasi untuk pengelogan, pemantauan, dan telemetri.

Komponen

  • API Management adalah layanan terkelola yang memungkinkan Anda mengelola layanan di seluruh lingkungan hibrid dan multicloud. Ini memberikan kontrol dan keamanan untuk pengamatan api dan konsumsi oleh pengguna internal dan eksternal. Dalam arsitektur ini, API Management berfungsi sebagai fasad untuk mengabstraksi arsitektur back-end.

  • Application Gateway adalah layanan terkelola yang berfungsi sebagai penyeimbang beban layer-7 dan WAF. Application Gateway melindungi instans API Management internal, yang memungkinkan penggunaan mode internal dan eksternal. Dalam arsitektur ini, API Management mengamankan API, dan Application Gateway menambahkan kemampuan pelengkap seperti WAF.

  • Zona Sistem Nama Domain Privat (DNS) adalah fitur Azure DNS yang memungkinkan Anda mengelola dan mengatasi nama domain dalam jaringan virtual tanpa perlu menerapkan solusi DNS kustom. Zona DNS privat dapat diselaraskan ke satu atau beberapa jaringan virtual melalui tautan jaringan virtual. Dalam arsitektur ini, zona DNS privat diperlukan untuk memastikan resolusi nama yang tepat dalam jaringan virtual.

  • Application Insights adalah layanan manajemen performa aplikasi yang dapat diperluas yang membantu pengembang mendeteksi anomali, mendiagnosis masalah, dan memahami pola penggunaan. Application Insights menampilkan manajemen dan pemantauan performa aplikasi yang dapat diperluas untuk aplikasi web langsung. Berbagai platform didukung, termasuk .NET, Node.js, Java, dan Python. Ini mendukung aplikasi yang dihosting di Azure, lokal, di lingkungan hibrid, atau di cloud publik lainnya. Dalam arsitektur ini, Application Insights memantau perilaku aplikasi yang disebarkan.

  • Log Analytics adalah alat analisis data berbasis cloud yang memungkinkan Anda mengedit dan menjalankan kueri log terhadap data di Log Azure Monitor, secara opsional dari dalam portal Microsoft Azure. Pengembang dapat menjalankan kueri sederhana untuk mengambil rekaman atau menggunakan Analitik Log untuk analisis tingkat lanjut, lalu memvisualisasikan hasilnya. Dalam arsitektur ini, Analitik Log menggabungkan semua log sumber daya platform untuk analisis dan pelaporan.

  • Azure Key Vault adalah layanan cloud yang menyimpan dan mengakses rahasia dengan aman. Rahasia ini berkisar dari kunci API dan kata sandi hingga sertifikat dan kunci kriptografi. Dalam arsitektur ini, Key Vault menyimpan sertifikat Secure Sockets Layer (SSL) yang digunakan Application Gateway.

Alternatif

Untuk layanan back-end yang terhubung dengan instans API Management, beberapa alternatif tersedia:

  • Azure App Service adalah layanan berbasis HTTP yang dikelola sepenuhnya yang membangun, menyebarkan, dan menskalakan aplikasi web. Ini mendukung .NET, .NET Core, Java, Ruby, Node.js, PHP, dan Python. Aplikasi dapat berjalan dan menskalakan di lingkungan berbasis Windows atau Linux.

  • Azure Kubernetes Service (AKS) adalah penawaran Kubernetes terkelola yang memberikan kluster yang dikelola sepenuhnya. Ini memungkinkan integrasi berkelanjutan terintegrasi dan pengiriman berkelanjutan (CI/CD), bersama dengan tata kelola dan keamanan bawaan.

  • Azure Logic Apps adalah platform berbasis cloud yang membuat dan menjalankan alur kerja otomatis. Untuk informasi selengkapnya, lihat contoh arsitektur referensi.

  • Azure Container Apps adalah layanan kontainer tanpa server yang dikelola sepenuhnya yang memungkinkan Anda menjalankan layanan mikro dan aplikasi kontainer pada platform tanpa server.

Untuk penyebaran multiregion, pertimbangkan untuk menggunakan Azure Front Door untuk menyediakan akses yang cepat, andal, dan aman antara pengguna Anda dan konten web statis dan dinamis aplikasi Anda.

Untuk melihat contoh tambahan tentang bagaimana Application Gateway dapat melindungi API, lihat Melindungi API dengan Application Gateway dan API Management.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat Anda gunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Well-Architected Framework.

Keandalan

Keandalan membantu memastikan bahwa aplikasi Anda dapat memenuhi komitmen yang Anda buat kepada pelanggan Anda. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Keandalan.

  • Sebarkan setidaknya dua unit skala API Management yang tersebar di dua zona ketersediaan atau lebih di setiap wilayah. Pantau metrik kapasitas, dan provisikan unit kapasitas yang memadai sehingga Anda dapat terus beroperasi meskipun unit dalam satu zona ketersediaan hilang.

  • Kami menyarankan agar Anda menggunakan tingkat Premium karena mendukung zona ketersediaan dan penyebaran multiregion. Kemampuan ini berarti bahwa layanan Anda dapat terus berjalan meskipun satu wilayah atau zona tidak berfungsi. Fitur-fitur ini membantu melindungi aplikasi Anda selama pemadaman atau bencana.

  • Untuk pemulihan bencana, siapkan API Management dengan identitas terkelola yang ditetapkan pengguna alih-alih identitas yang ditetapkan sistem. Jika Anda menyebarkan ulang atau menghapus sumber daya, identitas dan izinnya tetap ada, sehingga Anda dapat memulihkan akses dengan lebih mudah. Gunakan Azure Pipelines untuk mengotomatiskan pencadangan. Tentukan apakah Anda perlu menyebarkan layanan Anda di lebih dari satu wilayah untuk keandalan yang lebih baik.

  • Peering jaringan virtual memberikan performa yang kuat dalam suatu wilayah, tetapi memiliki batas skalabilitas 500 jaringan. Jika Anda perlu menyambungkan lebih banyak beban kerja, gunakan desain hub-spoke atau Azure Virtual WAN.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Keamanan.

  • Kebijakan validasi API Management memvalidasi permintaan dan respons API terhadap skema OpenAPI. Fitur-fitur ini bukan pengganti WAF, tetapi dapat memberikan perlindungan ekstra terhadap beberapa ancaman. Menambahkan kebijakan validasi dapat memiliki implikasi performa, jadi kami sarankan Anda menggunakan pengujian beban performa untuk menilai dampaknya pada throughput API.

  • Microsoft Defender untuk API menyediakan perlindungan siklus hidup penuh, deteksi, dan respons untuk API yang diterbitkan dalam API Management. Salah satu kemampuan utama adalah mendeteksi eksploitasi kerentanan Open Web Application Security Project (OWASP) API Top 10 melalui pengamatan anomali runtime dengan menggunakan deteksi berbasis pembelajaran mesin dan berbasis aturan.

  • Ruang kerja API Management membantu Anda mengatur dan mengisolasi API Anda. Pendekatan ini memudahkan untuk mengontrol siapa yang dapat mengakses dan mengelolanya. Setiap ruang kerja dapat memiliki sekumpulan izinnya sendiri, sehingga Anda hanya dapat membatasi akses ke orang atau tim yang membutuhkannya. Pemisahan ini mengurangi risiko perubahan yang tidak disengaja atau akses yang tidak sah dan mendukung lingkungan API yang lebih aman.

  • Gunakan rahasia Key Vault sebagai nilai bernama dalam kebijakan API Management untuk melindungi informasi sensitif dalam kebijakan API Management.

  • Gunakan Application Gateway untuk akses eksternal instans API Management internal untuk melindungi instans API Management, melindungi dari eksploitasi dan kerentanan aplikasi web umum dengan menggunakan WAF, dan mengaktifkan konektivitas hibrid.

  • Sebarkan gateway API Management di jaringan virtual untuk mendukung konektivitas hibrid dan peningkatan keamanan.

  • Peering jaringan virtual meningkatkan performa di suatu wilayah dan memungkinkan komunikasi privat antar jaringan virtual.

  • Saat Anda menggunakan WAF, Anda memperkenalkan lapisan yang memeriksa lalu lintas masuk untuk perilaku berbahaya. Perlindungan ini membantu memblokir ancaman umum seperti injeksi SQL dan skrip lintas situs. Application Gateway dan perlindungan penolakan layanan terdistribusi (DDoS) membantu mencegah lalu lintas atau banjir koneksi yang berlebihan dari instans API Management. Untuk informasi selengkapnya, lihat Melindungi API dengan menggunakan Application Gateway dan API Management.

  • Titik akhir privat untuk Azure Functions memungkinkan Anda terhubung dengan aman ke aplikasi fungsi Anda melalui alamat IP privat dalam jaringan virtual Anda. Penyiapan ini mencegah paparan fungsi Anda ke internet publik, yang mengurangi risiko akses yang tidak sah. Dalam arsitektur ini, titik akhir privat memastikan bahwa hanya sumber daya tepercaya dalam jaringan Anda yang dapat mengakses Azure Functions.

Pengoptimalan Biaya

Pengoptimalan Biaya berfokus pada cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk optimalisasi biaya.

  • Penyebaran ini menggunakan paket Premium untuk mendukung zona ketersediaan dan kemampuan jaringan virtual. Jika Anda tidak memerlukan instans khusus, Anda juga dapat menggunakan Konsumsi Flex, yang mendukung akses jaringan dan zona ketersediaan. Tinjau kalkulator harga untuk penyebaran ini.

  • Untuk bukti konsep atau prototipe, kami sarankan Anda menggunakan tingkat API Management lainnya, seperti Pengembang atau Standar.

Keunggulan Operasi

Keunggulan Operasional mencakup proses operasi yang menyebarkan aplikasi dan membuatnya tetap berjalan dalam produksi. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Keunggulan Operasional.

  • Mewakili konfigurasi API Management sebagai templat Azure Resource Manager, dan mengadopsi pendekatan infrastruktur sebagai kode (IaC).

  • Gunakan proses CI/CD untuk mengelola, membuat versi, dan memperbarui konfigurasi API Management.

  • Buat pemeriksaan kesehatan kustom untuk membantu memvalidasi status instans API Management Anda. Gunakan URL /status-0123456789abcdef untuk membuat titik akhir kesehatan umum untuk layanan API Management di gateway aplikasi.

  • Sertifikat yang diperbarui di brankas kunci secara otomatis diputar dalam API Management, yang mencerminkan perubahan dalam waktu empat jam.

  • Jika Anda menggunakan alat DevOps, seperti Azure DevOps atau GitHub, maka agen atau pelari yang dihosting cloud beroperasi melalui internet publik. Karena API Management dalam arsitektur ini diatur ke jaringan internal, Anda perlu menggunakan agen DevOps yang memiliki akses ke jaringan virtual. Agen DevOps membantu Anda menyebarkan kebijakan dan perubahan lain pada API dalam arsitektur Anda. Anda dapat menggunakan templat CI/CD ini untuk memisahkan proses menjadi beberapa bagian sehingga tim pengembangan Anda dapat menyebarkan perubahan untuk setiap API. Pelari DevOps memulai templat untuk menangani penyebaran individual ini.

Menyebarkan skenario ini

Arsitektur ini tersedia di GitHub. Ini berisi semua file IaC yang diperlukan dan instruksi penyebaran.

Kontributor

Microsoft mempertahankan artikel ini. Kontributor berikut menulis artikel ini.

Penulis utama:

Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.

Langkah berikutnya