Arsitektur pola jaringan gated egress didasarkan pada mengekspos API tertentu dari lingkungan lokal atau lingkungan cloud lain ke workload yang di-deploy di Google Cloud. Hal ini dilakukan tanpa mengeksposnya secara langsung ke internet publik dari lingkungan lokal atau dari lingkungan cloud lainnya. Anda dapat memfasilitasi eksposur terbatas ini melalui gateway atau proxy API, atau load balancer yang berfungsi sebagai fasilitas untuk workload yang ada. Anda dapat men-deploy fungsi gateway API di segmen jaringan perimeter terisolasi, seperti jaringan perimeter.
Pola jaringan traffic keluar yang dibatasi terutama berlaku pada (tetapi tidak terbatas pada) pola arsitektur aplikasi bertingkat dan pola arsitektur aplikasi berpartisi. Saat men-deploy workload backend dalam jaringan internal, jaringan keluar dengan gerbang membantu mempertahankan tingkat keamanan yang lebih tinggi dalam lingkungan komputasi lokal Anda. Pola ini mengharuskan Anda menghubungkan lingkungan komputasi dengan cara yang memenuhi persyaratan komunikasi berikut:
- Workload yang Anda deploy di Google Cloud dapat berkomunikasi dengan gateway API atau load balancer (atau endpoint Private Service Connect) yang mengekspos aplikasi dengan menggunakan alamat IP internal.
- Sistem lain di lingkungan private computing tidak dapat dijangkau langsung dari dalam Google Cloud.
- Komunikasi dari lingkungan komputasi pribadi ke workload apa pun yang di-deploy di Google Cloud tidak diizinkan.
- Traffic ke API pribadi di lingkungan lain hanya dimulai dari dalam lingkungan Google Cloud.
Fokus panduan ini adalah pada lingkungan hybrid dan multicloud yang terhubung melalui jaringan hybrid pribadi. Jika persyaratan keamanan organisasi Anda mengizinkannya, panggilan API ke API target jarak jauh dengan alamat IP publik dapat langsung dijangkau melalui internet. Namun, Anda harus mempertimbangkan mekanisme keamanan berikut:
- API OAuth 2.0 dengan Transport Layer Security (TLS).
- Pembatasan kapasitas.
- Kebijakan perlindungan ancaman.
- Mutual TLS dikonfigurasi ke backend lapisan API Anda.
- Pemfilteran daftar alamat IP yang diizinkan dikonfigurasi untuk hanya mengizinkan komunikasi dengan sumber dan tujuan API yang telah ditetapkan dari kedua sisi.
Untuk mengamankan proxy API, pertimbangkan aspek keamanan lainnya berikut. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik untuk mengamankan aplikasi dan API Anda menggunakan Apigee.
Arsitektur
Diagram berikut menunjukkan arsitektur referensi yang mendukung persyaratan komunikasi yang tercantum di bagian sebelumnya:
Data mengalir melalui diagram sebelumnya sebagai berikut:
- Di sisi Google Cloud, Anda dapat men-deploy workload ke virtual private cloud (VPC). VPC dapat berupa satu atau beberapa (bersama atau tidak bersama). Deployment harus selaras dengan project dan desain hierarki resource organisasi Anda.
- Jaringan VPC lingkungan Google Cloud diperluas ke lingkungan komputasi lainnya. Lingkungan dapat berada di infrastruktur lokal atau di cloud lain. Untuk memfasilitasi komunikasi antarlingkungan menggunakan alamat IP internal, gunakan konektivitas jaringan hybrid dan multicloud yang sesuai.
Untuk membatasi traffic yang berasal dari alamat IP VPC tertentu dan ditujukan untuk gateway atau load balancer jarak jauh, gunakan pemfilteran daftar alamat IP yang diizinkan. Traffic yang ditampilkan dari koneksi ini diizinkan jika menggunakan aturan firewall stateful. Anda dapat menggunakan kombinasi apa pun dari kemampuan berikut untuk mengamankan dan membatasi komunikasi hanya ke alamat IP sumber dan tujuan yang diizinkan:
Alat virtual jaringan (NVA) dengan kemampuan pemeriksaan firewall (NGFW) generasi berikutnya yang ditempatkan di jalur jaringan.
Cloud Next Generation Firewall Enterprise dengan Intrusion Prevention Service (IPS) guna mengimplementasikan pemeriksaan paket mendalam untuk pencegahan ancaman.
Semua lingkungan berbagi ruang alamat IP RFC 1918 bebas tumpang-tindih.
Variasi
Pola arsitektur traffic keluar yang dibatasi dapat digabungkan dengan pendekatan lain untuk memenuhi berbagai persyaratan desain yang masih mempertimbangkan persyaratan komunikasi pola ini. Pola ini menawarkan opsi berikut:
- Menggunakan gateway Google Cloud API dan frontend global
- Mengekspos layanan jarak jauh menggunakan Private Service Connect
Gunakan gateway Google Cloud API dan frontend global
Dengan pendekatan desain ini, eksposur dan pengelolaan API berada dalam Google Cloud. Seperti yang ditunjukkan dalam diagram sebelumnya, Anda dapat melakukannya melalui implementasi Apigee sebagai platform API. Keputusan untuk men-deploy gateway API atau load balancer di lingkungan jarak jauh bergantung pada kebutuhan khusus dan konfigurasi Anda saat ini. Apigee menyediakan dua opsi untuk penyediaan konektivitas:
- Dengan peering VPC
- Tanpa peering VPC
Kemampuan frontend global Google Cloud seperti Cloud Load Balancing, Cloud CDN (jika diakses melalui Cloud Interconnect), dan Cross-Cloud Interconnect meningkatkan kecepatan akses pengguna ke aplikasi yang memiliki backend yang dihosting di lingkungan lokal Anda dan di lingkungan cloud lainnya.
Kecepatan pengiriman konten dapat dioptimalkan dengan mengirimkan aplikasi tersebut dari titik kehadiran (PoP) Google Cloud. PoP Google Cloud ada di lebih dari 180 pertukaran internet dan di lebih dari 160 fasilitas interkoneksi di seluruh dunia.
Untuk melihat cara PoP membantu menghasilkan API berperforma tinggi saat menggunakan Apigee dengan Cloud CDN untuk melakukan hal berikut, tonton Menghadirkan API berperforma tinggi dengan Apigee dan Cloud CDN di YouTube:
- Mengurangi latensi.
- Menghosting API secara global.
- Meningkatkan ketersediaan untuk traffic puncak.
Contoh desain yang diilustrasikan dalam diagram sebelumnya didasarkan pada Private Service Connect tanpa peering VPC.
Jaringan arah utara dalam desain ini dibangun melalui:
- Load balancer (LB dalam diagram), tempat permintaan klien dihentikan, memproses traffic, lalu merutekannya ke backend Private Service Connect.
- Backend Private Service Connect memungkinkan load balancer Google Cloud mengirimkan permintaan klien melalui koneksi Private Service Connect yang terkait dengan lampiran layanan produsen ke layanan yang dipublikasikan (instance runtime Apigee) menggunakan grup endpoint jaringan (NEG) jaringan Private Service Connect.
Jaringan selatan dibangun melalui:
- Endpoint Private Service Connect yang mereferensikan lampiran layanan yang terkait dengan load balancer internal (ILB dalam diagram) di VPC pelanggan.
ILB di-deploy dengan grup endpoint jaringan konektivitas hybrid (NEG konektivitas hybrid).
Layanan hybrid diakses melalui NEG konektivitas hybrid melalui konektivitas jaringan hybrid, seperti VPN atau Cloud Interconnect.
Untuk mengetahui informasi selengkapnya, baca artikel Menyiapkan Load Balancer Jaringan proxy internal regional dengan konektivitas hybrid dan pola deployment Private Service Connect.
Mengekspos layanan jarak jauh menggunakan Private Service Connect
Gunakan opsi Private Service Connect untuk mengekspos layanan jarak jauh untuk skenario berikut:
- Anda tidak menggunakan platform API atau ingin menghindari menghubungkan seluruh jaringan VPC secara langsung ke lingkungan eksternal karena alasan berikut:
- Anda memiliki batasan keamanan atau persyaratan kepatuhan.
- Anda memiliki rentang alamat IP yang tumpang-tindih, seperti dalam skenario penggabungan dan akuisisi.
- Untuk memungkinkan komunikasi searah yang aman antara klien, aplikasi, dan layanan di seluruh lingkungan meskipun Anda memiliki batas waktu yang singkat.
- Anda mungkin perlu menyediakan konektivitas ke beberapa VPC konsumen melalui VPC produsen layanan (VPC transit) untuk menawarkan model layanan multi-tenant atau tenant tunggal yang sangat skalabel, guna menjangkau layanan yang dipublikasikan di lingkungan lain.
Penggunaan Private Service Connect untuk aplikasi yang digunakan sebagai API akan memberikan alamat IP internal untuk aplikasi yang dipublikasikan, sehingga memungkinkan akses aman dalam jaringan pribadi di seluruh region dan melalui konektivitas hibrid. Abstraksi ini memfasilitasi integrasi resource dari beragam cloud dan lingkungan lokal melalui model konektivitas hybrid dan multicloud. Anda dapat mempercepat integrasi aplikasi dan mengekspos aplikasi yang berada di lingkungan lokal secara aman atau lingkungan cloud lain menggunakan Private Service Connect untuk memublikasikan layanan dengan akses terperinci. Dalam hal ini, Anda dapat menggunakan opsi berikut:
- Lampiran layanan yang merujuk ke Load Balancer Jaringan proxy internal regional atau Load Balancer Aplikasi internal.
- Load balancer menggunakan grup endpoint jaringan hybrid (NEG konektivitas hybrid) di VPC produsen yang berfungsi dalam desain ini sebagai VPC transit.
Pada diagram sebelumnya, workload di jaringan VPC aplikasi Anda dapat menjangkau layanan hybrid yang berjalan di lingkungan lokal Anda, atau di lingkungan cloud lain, melalui endpoint Private Service Connect, seperti yang diilustrasikan dalam diagram berikut. Opsi desain untuk komunikasi searah ini memberikan opsi alternatif untuk peering ke VPC transit.
Sebagai bagian dari desain dalam diagram sebelumnya, beberapa frontend, backend, atau endpoint dapat terhubung ke lampiran layanan yang sama, sehingga memungkinkan beberapa jaringan VPC atau beberapa konsumen mengakses layanan yang sama. Seperti dalam diagram berikut, Anda dapat membuat aplikasi dapat diakses oleh beberapa VPC. Aksesibilitas ini dapat membantu dalam skenario layanan multi-tenant saat layanan Anda digunakan oleh beberapa VPC konsumen meskipun rentang alamat IP-nya tumpang tindih.
Tumpang-tindih alamat IP adalah salah satu masalah paling umum saat mengintegrasikan aplikasi yang berada di lingkungan berbeda. Koneksi Private Service Connect dalam diagram berikut membantu menghindari masalah tumpang-tindih alamat IP. Hal ini dilakukan tanpa memerlukan penyediaan atau pengelolaan komponen jaringan tambahan, seperti Cloud NAT atau NVA, untuk melakukan penafsiran alamat IP. Untuk contoh konfigurasi, lihat Memublikasikan layanan hybrid menggunakan Private Service Connect.
Desain ini memiliki kelebihan berikut:
- Menghindari potensi dependensi penskalaan bersama dan pengelolaan yang kompleks dalam skala besar.
- Meningkatkan keamanan dengan menyediakan kontrol konektivitas terperinci.
- Mengurangi koordinasi alamat IP antara produsen dan konsumen layanan serta lingkungan eksternal jarak jauh.
Pendekatan desain dalam diagram sebelumnya dapat diperluas pada tahap selanjutnya untuk mengintegrasikan Apigee sebagai platform API menggunakan opsi desain jaringan yang telah dibahas sebelumnya, termasuk opsi Private Service Connect.
Anda dapat membuat endpoint Private Service Connect dapat diakses dari region lain menggunakan akses global Private Service Connect.
Klien yang terhubung ke endpoint Private Service Connect dapat berada di region yang sama dengan endpoint atau di region yang berbeda. Pendekatan ini dapat digunakan untuk memberikan ketersediaan tinggi di seluruh layanan yang dihosting di beberapa region, atau untuk mengakses layanan yang tersedia di satu region dari region lain. Saat endpoint Private Service Connect diakses oleh resource yang dihosting di region lain, biaya keluar antar-regional berlaku untuk traffic yang ditujukan ke endpoint dengan akses global.
Praktik terbaik
- Mempertimbangkan Apigee dan Apigee Hybrid sebagai solusi platform API Anda, dapat memberikan beberapa manfaat. Layanan ini menyediakan lapisan proxy dan abstraksi atau facade untuk API layanan backend yang dikombinasikan dengan kemampuan keamanan, pembatasan kapasitas, kuota, dan analisis.
- Gunakan Adaptor Apigee untuk Envoy dengan arsitektur deployment Hybrid Apigee dengan Kubernetes jika berlaku untuk persyaratan dan arsitektur Anda.
- VPC dan desain project di Google Cloud harus didorong oleh hierarki resource dan persyaratan model komunikasi yang aman.
- Saat API dengan gateway API digunakan, Anda juga harus menggunakan daftar alamat IP yang diizinkan. Daftar yang diizinkan akan membatasi komunikasi ke sumber alamat IP dan tujuan tertentu dari konsumen API dan gateway API yang mungkin dihosting di lingkungan berbeda.
- Gunakan aturan firewall VPC atau kebijakan firewall untuk mengontrol akses ke resource Private Service Connect melalui endpoint Private Service Connect.
- Jika aplikasi diekspos secara eksternal melalui load balancer aplikasi, pertimbangkan untuk menggunakan Google Cloud Armor sebagai lapisan keamanan tambahan untuk melindungi dari DDoS dan ancaman keamanan lapisan aplikasi.
Jika instance memerlukan akses internet, gunakan Cloud NAT di VPC aplikasi (konsumen) agar workload dapat mengakses internet. Dengan begitu, Anda dapat menghindari penetapan instance VM dengan alamat IP publik eksternal dalam sistem yang di-deploy di belakang gateway API atau load balancer.
- Untuk traffic web keluar, Anda dapat menggunakan Proxy Web Aman Google Cloud. Proxy ini menawarkan sejumlah manfaat.
Tinjau praktik terbaik umum untuk pola jaringan hybrid dan multicloud.