Menggunakan lingkungan fleksibel App Engine di jaringan VPC Bersama

Dalam lingkungan fleksibel App Engine, Anda dapat menentukan jaringan untuk men-deploy instance layanan Anda. Halaman ini menunjukkan cara mengonfigurasi project Anda untuk menggunakan lingkungan fleksibel App Engine di jaringan VPC Bersama.

Lihat Menyediakan VPC Bersama untuk informasi selengkapnya tentang penyiapan jaringan VPC Bersama.

Menyiapkan lingkungan fleksibel App Engine dengan VPC Bersama

Men-deploy instance lingkungan fleksibel App Engine di jaringan VPC Bersama memerlukan tiga langkah:

  1. Membuat aturan firewall untuk mengizinkan traffic lingkungan fleksibel App Engine di jaringan VPC Bersama

  2. Memberikan izin yang sesuai ke akun layanan di project layanan VPC Bersama

  3. Mengonfigurasi layanan App Engine untuk menggunakan jaringan VPC Bersama

Jika Anda menggunakan Google Cloud CLI, update ke versi terbaru sebelum mengikuti panduan ini dengan menjalankan perintah:

gcloud components update

Mengizinkan traffic ke jaringan VPC Bersama

Admin VPC Bersama perlu membuat aturan firewall di project host VPC Bersama untuk mengizinkan traffic ke lingkungan fleksibel App Engine di jaringan VPC Bersama. Aturan firewall memungkinkan penyaluran dan health check terhadap traffic ke instance lingkungan fleksibel.

Aturan firewall harus memiliki properti berikut:

  • Network: Nama jaringan VPC Bersama
  • Direction of traffic: Masuk
  • Action on match: Izinkan
  • Targets: Tag target yang ditentukan
  • Target tags: aef-instance
  • Source filter: Rentang IP
  • Source IP ranges: 35.191.0.0/16, 130.211.0.0/22
  • Protocols and ports: Protokol dan port yang ditentukan
    • tcp: 8443, 10402

Admin VPC Bersama dapat membuat aturan firewall menggunakan Konsol Google Cloud atau Google Cloud CLI:

Konsol

Untuk membuat aturan firewall menggunakan Konsol Google Cloud:

  1. Buka halaman pembuatan aturan firewall.

    Membuat aturan firewall

  2. Di kolom Name dan Description, berikan nama dan deskripsi untuk aturan firewall tersebut.

  3. Isi properti yang diperlukan seperti yang ditetapkan di atas.

  4. Klik Create.

gcloud

Untuk membuat aturan firewall menggunakan Google Cloud CLI, jalankan perintah berikut:

gcloud compute firewall-rules create NETWORK_NAME-flex-firewall \
--project HOST_PROJECT_ID \
--network NETWORK_NAME \
--allow tcp:10402,tcp:8443 \
--target-tags aef-instance \
--source-ranges 35.191.0.0/16,130.211.0.0/22 \
--description 'Allows traffic to App Engine flexible environment'

dengan:

  • NETWORK_NAME adalah nama jaringan VPC Bersama.
  • HOST_PROJECT_ID adalah project ID Google Cloud dari project host VPC Bersama.

Menyiapkan izin

Admin VPC Bersama harus memberi dua akun layanan berikut peran Compute Network User agar project layanan dapat men-deploy instance di lingkungan fleksibel App Engine ke jaringan:

  • Agen layanan Google API (PROJECT_NUM@cloudservices.gserviceaccount.com)
  • Agen layanan lingkungan fleksibel App Engine (service-PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com)

Konsol

Untuk menyiapkan izin menggunakan Konsol Google Cloud:

  1. Buka halaman IAM Settings untuk service project dan catat Project number.

    Buka halaman IAM Settings

  2. Buka halaman IAM untuk host project.

    Buka IAM

  3. Klik Add.

  4. Di kolom New members, masukkan alamat email berikut yang dipisahkan dengan koma. Ganti PROJECT_NUM dengan nomor project yang diperoleh di langkah 1.

    • PROJECT_NUM@cloudservices.gserviceaccount.com
    • service-PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com
  5. Pada dropdown Select a role, pilih Compute Engine > Compute Network User.

  6. Klik Simpan.

gcloud

  1. Dapatkan nomor project dari project layanan di mana aplikasi App Engine di-deploy. Jalankan perintah berikut, dengan mengganti SERVICE_PROJECT_ID dengan project ID dari project layanan:

    export SERVICE_PROJECT_NUM=$(gcloud projects describe SERVICE_PROJECT_ID --format="value(projectNumber)")
    
  2. Beri peran compute.networkUser kepada Agen Layanan Google API project layanan di project host:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
    --member=serviceAccount:$SERVICE_PROJECT_NUM@cloudservices.gserviceaccount.com \
    --role=roles/compute.networkUser
    

    dengan HOST_PROJECT_ID adalah project ID Google Cloud dari project host VPC Bersama.

  3. Berikan peran compute.networkUser kepada Agen Layanan Lingkungan Fleksibel App Engine project layanan di project host:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
    --member=serviceAccount:service-$SERVICE_PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com \
    --role=roles/compute.networkUser
    

Mengonfigurasi dan men-deploy layanan Anda

Setelah aturan firewall dan izin yang tepat disiapkan, Anda dapat men-deploy layanan baru atau layanan lingkungan fleksibel App Engine yang sudah ada ke jaringan VPC Bersama.

  1. Dalam file app.yaml, gunakan kolom name setelan jaringan untuk menentukan nama yang sepenuhnya memenuhi syarat dari jaringan VPC Bersama:

    network:
      name: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
    

    dengan

    • HOST_PROJECT_ID adalah project ID Google Cloud dari project host VPC Bersama.
    • NETWORK_NAME adalah nama jaringan VPC Bersama.

    Untuk mengonfigurasi layanan agar menjadi bagian dari subnetwork bernama SUBNETWORK_NAME, tetapkan juga kolom subnetwork_name:

    network:
      name: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
      subnetwork_name: SUBNETWORK_NAME
    
  2. Deploy layanan:

    gcloud app deploy
    

Memverifikasi konfigurasi

Untuk memastikan bahwa layanan lingkungan fleksibel App Engine Anda berjalan pada jaringan VPC Bersama, lihat konfigurasi versi pada halaman App Engine Versions di Konsol Google Cloud:

  1. Buka halaman App Engine Versions.

    Buka halaman App Engine Versions

  2. Di kolom Config di sebelah kanan, klik View untuk versi yang diinginkan.

  3. Pastikan bahwa nama jaringan dalam konfigurasi adalah nama dari jaringan VPC Bersama.