Membuat kebijakan jaringan traffic lintas project

Halaman ini memberikan petunjuk untuk mengonfigurasi kebijakan jaringan traffic lintas project di perangkat Google Distributed Cloud (GDC) dengan air gap.

Traffic lintas project mengacu pada komunikasi antara layanan dan workload dari namespace project yang berbeda, tetapi dalam organisasi yang sama.

Layanan dan workload dalam project diisolasi dari layanan dan workload eksternal secara default. Namun, layanan dan workload dari namespace project yang berbeda dan dalam organisasi yang sama dapat saling berkomunikasi dengan menerapkan kebijakan jaringan traffic lintas project.

Sebelum memulai

Untuk mengonfigurasi kebijakan jaringan traffic intra-project, Anda harus memiliki hal berikut:

Membuat kebijakan traffic lintas project

Anda dapat menentukan kebijakan traffic lintas project masuk atau keluar untuk mengelola komunikasi antar-project.

Membuat aturan firewall masuk untuk traffic lintas project

Agar beban kerja atau layanan project mengizinkan koneksi dari beban kerja lain di project lain, Anda harus mengonfigurasi aturan firewall masuk untuk mengizinkan traffic masuk dari beban kerja project lain.

Ikuti langkah-langkah berikut untuk membuat aturan firewall baru dan mengizinkan traffic masuk dari beban kerja di project lain:

Konsol

  1. Di konsol GDC project yang Anda konfigurasi, buka Networking > Firewall di menu navigasi untuk membuka halaman Firewall.
  2. Klik Buat di panel tindakan untuk mulai membuat aturan firewall baru.
  3. Di halaman Detail aturan firewall, isi informasi berikut:

    1. Di kolom Nama, masukkan nama yang valid untuk aturan firewall Anda.
    2. Di bagian Direction of traffic, pilih Ingress untuk mengizinkan traffic masuk dari beban kerja di project lain.
    3. Di bagian Target, pilih salah satu opsi berikut:
      • Semua beban kerja pengguna: mengizinkan koneksi ke beban kerja project yang Anda konfigurasi.
      • Layanan: menunjukkan bahwa aturan firewall ini menargetkan layanan tertentu dalam project yang Anda konfigurasi.
    4. Jika target Anda adalah layanan project, pilih nama layanan dari daftar layanan yang tersedia di menu drop-down Layanan.
    5. Di bagian Dari, pilih salah satu dari dua opsi berikut:
      • Semua project: mengizinkan koneksi dari beban kerja di semua project.
      • Project lain dan Semua workload pengguna: mengizinkan koneksi dari workload di project lain.
    6. Jika Anda hanya ingin mentransfer beban kerja dari project lain, pilih project yang dapat Anda akses dari daftar project di menu drop-down Project ID.
    7. Jika target Anda adalah semua workload pengguna, pilih salah satu opsi berikut di bagian Protocols and ports:
      • Izinkan semua: mengizinkan koneksi menggunakan protokol atau port apa pun.
      • Protokol dan port yang ditentukan: mengizinkan koneksi hanya menggunakan protokol dan port yang Anda tentukan di kolom yang sesuai untuk aturan firewall ingress.
  4. Di halaman Firewall rule details, klik Create.

Anda kini telah mengizinkan koneksi dari workload project lain. Setelah membuat aturan firewall, aturan tersebut akan terlihat dalam tabel di halaman Firewall.

API

Kebijakan berikut memungkinkan workload dalam project PROJECT_1 mengizinkan koneksi dari workload dalam project PROJECT_2, serta traffic kembali untuk alur yang sama. Terapkan kebijakan:

kubectl --kubeconfig API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT_1
  name: allow-inbound-traffic-from-PROJECT_2
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projectSelector:
        projects:
          matchNames:
          - PROJECT_2
EOF

Ganti API_SERVER dengan jalur kubeconfig server API. Jika Anda belum membuat file kubeconfig untuk server API, lihat Login untuk mengetahui detailnya.

Perintah sebelumnya mengizinkan PROJECT_2 untuk membuka PROJECT_1, tetapi tidak mengizinkan koneksi yang dimulai dari PROJECT_1 ke PROJECT_2. Untuk kasus terakhir, Anda memerlukan kebijakan timbal balik di project PROJECT_2. Menerapkan kebijakan timbal balik:

kubectl --kubeconfig API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT_2
  name: allow-inbound-traffic-from-PROJECT_1
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projectSelector:
        projects:
          matchNames:
          - PROJECT_1
EOF

Koneksi kini diizinkan ke dan dari PROJECT_1 dan PROJECT_2.