Saya mencoba menentukan cara terbaik dalam GCP untuk menetapkan satu alamat IP eksternal untuk lalu lintas OUTBOUND. Kasus penggunaan saya: Saya perlu memberikan IP statis kepada pihak ke-3 sehingga mereka dapat memasukkannya dalam daftar putih, sehingga mesin virtual saya dapat mengakses API mereka. Karena saya dapat menambah atau mengurangi instance GCE di masa depan, saya tidak ingin memberi mereka beberapa IP statis yang dapat berubah.
Saya menemukan pertanyaan serupa di sini, tetapi tidak yakin ini membahas kasus penggunaan saya.
Saya memiliki pengaturan jaringan GCP standar; tidak ada VPN dan semua VM memiliki IP eksternal yang unik. Saya sebenarnya suka dengan cara ini karena saya harus dapat SSH ke VM. Tetapi dari VMs saya ke internet, saya ingin lalu lintas muncul bahwa itu semua berasal dari satu IP. Pikiran langsung yang muncul di kepala saya dan bahwa petunjuk dokumen adalah membuat contoh NAT, kemudian rute lalu lintas keluar melalui itu. Beberapa masalah dengan pendekatan itu:
- Saya harus mengatur dan memelihara kotak semata-mata untuk tujuan NAT
- Itu bukan HA; jika instance atau zona ketersediaan itu mati, instance saya yang lain tidak akan dapat merutekan lalu lintas secara eksternal
- Sepertinya tidak terlalu berulang jika saya harus membuat ulang konfigurasi di masa depan
Secara khusus, saya menggunakan GKE / Kubernetes untuk proyek ini. Apakah ada praktik terbaik untuk menyelesaikan kasus penggunaan ini yaitu HA, pemeliharaan rendah dan dapat diulang?
sumber
Jawaban:
Anda dapat melakukan ini dengan merutekan semua lalu lintas Anda melalui satu instance yang melakukan NAT untuk instance lainnya. Google memiliki panduan untuk melakukan ini di https://cloud.google.com/compute/docs/networking#natgateway
sumber
Google Cloud sekarang menyediakan layanan NAT Gateway yang dikelola - Cloud NAT .
Gateway ini dapat digunakan dengan kluster GKE, yang menyediakan IP jalan keluar publik yang stabil ke semua pod di dalamnya, yang memungkinkan mereka untuk masuk daftar putih oleh penyedia layanan pihak ketiga.
Contoh implementasi untuk menggunakan Cloud NAT dengan GKE disediakan di sini - https://cloud.google.com/nat/docs/gke-example
Juga, karena ini adalah perangkat lunak berbasis NAT yang dikelola, bandwidth dan ketersediaan tidak akan terpengaruh.
Ini masih membutuhkan host benteng untuk dapat ssh ke instance Anda sekalipun.
sumber