Ringkasan Networking

Lapisan jaringan virtual di Google Distributed Cloud (GDC) dengan air gap mengatur konektivitas, firewall, penemuan layanan, load balancing, dan kemampuan observasi antara virtual machine dan pod yang berjalan di organisasi GDC.

Model jaringan GDC

GDC berisi dua tingkat konsep multi-tenant: organisasi dan project. Project ada dalam organisasi, dan Anda men-deploy semua beban kerja yang divirtualisasi dan dikontainerisasi ke dalam satu project tertentu dalam organisasi.

Jaringan organisasi

Setiap organisasi di GDC memiliki jaringan virtual terisolasi sendiri. Jaringan virtual dalam organisasi adalah ruang IP datar, yang berarti semua workload dalam organisasi memiliki konektivitas alamat IP langsung satu sama lain. Dengan menggunakan kebijakan jaringan project, Anda dapat mengontrol akses antara workload di berbagai project dalam organisasi.

GDC mengisolasi setiap organisasi di tingkat jaringan dari semua organisasi lainnya. Workload di satu organisasi tidak memiliki konektivitas alamat IP langsung ke workload di organisasi lain.

Organisasi memiliki dua rentang IP yang berbeda: rentang internal dan rentang eksternal. Rentang IP eksternal dapat dijangkau dari luar organisasi, dan rentang IP internal hanya dapat diakses dari dalam organisasi. Workload selalu diberi alamat IP dari rentang internal organisasi, yang berarti workload tidak dapat diakses dari luar organisasi secara default. Anda harus secara eksplisit mengaktifkan traffic masuk dan keluar untuk workload menggunakan batasan ingress dan egress yang dijelaskan di bagian Jaringan project.

Jaringan proyek

Anda men-deploy semua virtual machine (VM) dan beban kerja yang di-container ke dalam project. Project menyediakan batas segmentasi jaringan dalam organisasi.

Workload dalam project dapat saling berkomunikasi secara langsung. Namun, kebijakan jaringan default mencegah komunikasi antara workload di project yang berbeda. Kebijakan jaringan project (ProjectNetworkPolicy) memungkinkan Anda mengonfigurasi project mana di organisasi yang dapat berkomunikasi satu sama lain. Jika kebijakan jaringan project mengizinkan, beban kerja dalam organisasi dapat saling terhubung di lapisan jaringan L3 menggunakan alamat IP masing-masing. Anda harus mengaktifkan batasan ingress dan egress secara eksplisit ke dan dari organisasi untuk setiap workload yang memerlukan traffic masuk atau keluar.

Mengonfigurasi load balancer

Load balancer mendistribusikan traffic di seluruh workload backend aplikasi Anda, sehingga memastikan stabilitas dan ketersediaan. Buat load balancer eksternal dan internal untuk beban kerja pod dan VM. GDC menyediakan tiga metode untuk mengonfigurasi load balancer. Untuk mengetahui informasi selengkapnya, lihat Mengelola load balancer.

Batasan ingress

Mekanisme yang digunakan untuk mengekspos workload di luar organisasi berbeda-beda, bergantung pada apakah workload tersebut berbasis VM atau container.

Anda mengekspos beban kerja berbasis VM di luar organisasi menggunakan kemampuan akses eksternal VM. Anda mengaktifkan kemampuan ini untuk setiap VM. Setiap VM mendapatkan alamat IP-nya sendiri dari rentang eksternal organisasi.

Di sisi lain, Anda mengekspos beban kerja yang di-container di luar organisasi menggunakan fitur load balancer eksternal. Anda dapat membuat load balancer eksternal, dan GDC akan menetapkan alamat IP eksternal. Kemudian, traffic dapat di-load balance di seluruh rangkaian beban kerja pod backend.

Batasan keluar

Anda harus mengaktifkan traffic keluar secara eksplisit untuk setiap project dan workload agar dapat berkomunikasi di luar organisasi. Mengaktifkan traffic keluar akan mengubah IP dari beban kerja menjadi IP eksternal menggunakan Network Address Translation (NAT) saat terhubung di luar organisasi. Untuk mengetahui informasi selengkapnya tentang cara mengizinkan traffic keluar, lihat Mengelola traffic keluar dari organisasi.

Model penerapan kebijakan jaringan

Postur keamanan untuk workload dalam organisasi adalah gabungan dari kebijakan jaringan project default dan yang dibuat pengguna.

Penerapan kebijakan didasarkan pada alur traffic Layer-3 dan Layer-4. Alur menjelaskan koneksi 5-tuple sebagai berikut:

  • Alamat IP Sumber
  • Alamat IP tujuan
  • Port sumber
  • Port tujuan
  • Protokol, seperti TCP atau UDP

Kebijakan jaringan melakukan penegakan traffic keluar pada traffic di node yang menghosting beban kerja sumber dan penegakan traffic masuk saat traffic tiba di node yang menghosting beban kerja tujuan. Oleh karena itu, untuk membuat koneksi, Anda harus mengizinkan kebijakan meninggalkan sumber untuk tujuan dan tiba di tujuan dari sumber.

Traffic balasan, seperti segmen SYN-ACK (sinkronkan-konfirmasi) yang membalas segmen SYN, tidak tunduk pada penegakan. Oleh karena itu, traffic balasan selalu diizinkan jika traffic yang memulai diizinkan. Oleh karena itu, Anda hanya mengamati waktu tunggu koneksi karena penerapan kebijakan dari klien yang memulai koneksi. Traffic yang ditolak akan dibuang selama transfer data keluar dari node sumber atau transfer data masuk di node tujuan. Workload penerima tidak pernah mengamati koneksi.

Penerapan didasarkan pada aturan kebijakan berbasis izin yang bersifat kumulatif. Penegakan yang dihasilkan untuk beban kerja adalah "kecocokan apa pun" untuk alur traffic terhadap gabungan semua kebijakan yang diterapkan ke beban kerja tersebut. Jika ada beberapa kebijakan, aturan yang diterapkan ke setiap beban kerja akan digabungkan secara aditif, sehingga traffic diizinkan jika cocok dengan setidaknya salah satu aturan. Anda tidak memiliki aturan penolakan, hanya aturan izin.

Saat kebijakan jaringan menolak alur, Anda tidak menerima paket respons dan mengamati waktu tunggu koneksi. Oleh karena itu, koneksi tingkat protokol yang ditolak atau direset atau error HTTP bukan merupakan akibat langsung dari penegakan jaringan.

Untuk mengetahui informasi selengkapnya tentang kebijakan jaringan Kubernetes, lihat https://kubernetes.io/docs/concepts/services-networking/network-policies/#the-two-sorts-of-pod-isolation.