Traffic keluar VPC langsung dengan jaringan VPC

Anda dapat mengaktifkan layanan atau tugas Cloud Run untuk mengirim traffic ke jaringan VPC menggunakan traffic keluar VPC Langsung tanpa memerlukan konektor Akses VPC Serverless.

Sebelum memulai

  • Buat jaringan VPC di project Anda jika belum memilikinya.

  • Jika Anda menggunakan VPC Bersama, lihat Menghubungkan ke jaringan VPC Bersama.

  • Jika menggunakan subnet VPC, subnet harus berupa /24 atau yang lebih besar.

  • Guna memastikan Anda memiliki alamat IP yang cukup untuk digunakan di seluruh Cloud Run, perhatikan kondisi berikut:

    • Subnet tempat Anda berencana men-deploy layanan atau revisi Cloud Run harus memiliki minimal ratusan alamat IP yang tersedia.
    • Dalam keadaan stabil, jika jumlah total instance Cloud Run yang menggunakan subnet adalah 100 atau lebih, cadangkan alamat IP yang cukup untuk setidaknya 4 kali (4X) jumlah instance. Saat revisi diperkecil, perhatikan bahwa Cloud Run mempertahankan alamat IP-nya hingga 20 menit. Misalnya, jika Anda mengupgrade revisi agar revision 1 melakukan penskalaan dari 100 instance ke nol, sementara revision 2 melakukan penskalaan dari nol hingga 100, Cloud Run akan mempertahankan alamat IP revision 1 hingga 20 menit setelah memperkecil skala. Dalam kasus ini, selama periode 20 menit, Anda harus mencadangkan setidaknya 800 alamat IP ((100 + 100) * 4).

Batasan

Batasan berikut berlaku untuk layanan dan tugas Cloud Run:

  • Cloud Run mendukung throughput hingga 1 Gbps per instance individu. Melebihi jumlah ini akan menyebabkan throttling performa.
  • Kuota penggunaan Cloud Run membatasi jumlah maksimum instance yang dapat Anda konfigurasi untuk menggunakan traffic keluar VPC Langsung. Jumlah maksimum dikonfigurasi per revisi Cloud Run atau eksekusi tugas. Untuk meningkatkan batas default, lihat cara meningkatkan kuota. Anda dapat memeriksa kuota menggunakan Konsol Google Cloud.

  • Layanan dan tugas Cloud Run mungkin mengalami gangguan koneksi selama peristiwa pemeliharaan infrastruktur jaringan. Sebaiknya gunakan library klien yang dapat menangani reset koneksi sesekali.
  • Mengaktifkan traffic keluar VPC Langsung di lingkungan eksekusi generasi kedua dapat meningkatkan waktu cold start container.
Batasan berikut hanya berlaku untuk tugas Cloud Run, bukan layanan:
  • Traffic keluar VPC langsung untuk tugas Cloud Run hanya tersedia dalam Pratinjau.
  • Untuk memastikan eksekusi tugas yang tepat, hanya gunakan traffic keluar VPC Langsung untuk tugas yang tidak memerlukan lebih dari 8 instance serentak dan pastikan untuk mencadangkan minimal 1.024 alamat IP.

Item berikut tidak didukung oleh traffic keluar VPC Langsung:

  • Log Aliran VPC dan Logging Aturan Firewall tidak menyediakan nama layanan atau revisi Cloud Run.
  • Duplikasi Paket
  • Network Intelligence Center
  • Traffic IPv6
  • Menggunakan tag jaringan dalam aturan firewall ingress yang diterapkan ke resource tujuan.
  • Menggunakan identitas layanan sebagai akun layanan sumber dalam aturan firewall ingress yang diterapkan ke resource tujuan.
  • Aturan firewall tidak dapat menggunakan tag Resource Manager yang terpasang ke workload Cloud Run.
  • Tugas Cloud Run yang berjalan lebih dari 1 jam mungkin mengalami gangguan koneksi. Hal ini dapat terjadi selama peristiwa pemeliharaan yang memigrasikan tugas dari satu komputer ke komputer lainnya. Penampung menerima sinyal SIGTSTP 10 detik sebelum peristiwa dan sinyal SIGCONT setelah peristiwa. Setelah penampung menerima sinyal SIGCONT, coba lagi koneksi.

Alokasi alamat IP

Untuk menempatkan layanan atau tugas Cloud Run pada jaringan VPC, Anda harus menentukan jaringan atau subnet. Cloud Run mengalokasikan alamat IP dari subnet Anda.

Alamat IP bersifat sementara, jadi jangan buat kebijakan berdasarkan IP individual. Jika perlu membuat kebijakan berdasarkan IP, seperti pada aturan firewall, Anda harus menggunakan rentang alamat IP seluruh subnet.

Untuk mengubah jaringan atau subnet yang digunakan oleh layanan dan tugas Anda, deploy revisi layanan baru atau jalankan tugas baru yang menggunakan nilai jaringan dan subnet baru.

Peningkatan skala

Untuk mengaktifkan peningkatan skala jika terjadi lonjakan traffic, Cloud Run mengalokasikan alamat IP sebelum dibutuhkan.

Pada waktu tertentu, kemungkinan ada lebih banyak alamat IP yang dialokasikan daripada jumlah instance yang ada. Untuk memastikan bahwa Cloud Run dapat memperoleh alamat IP yang cukup, pastikan subnet Anda memiliki setidaknya beberapa ratus alamat IP yang tersedia. Jika jumlah total instance subnet di semua layanan dan tugas Cloud Run bertambah melebihi 100, sebaiknya sediakan setidaknya 4 kali (4X) jumlah total yang tersedia. Jika tidak bisa mengalokasikan lebih banyak alamat IP, Cloud Run tidak dapat memulai instance layanan atau tugas lagi hingga alamat IP lainnya tersedia Jika ruang alamat IP Anda terbatas, lihat, Rentang IP yang Didukung untuk opsi selengkapnya. Untuk efisiensi alokasi IP dan kemudahan pengelolaan, tempatkan beberapa layanan atau tugas di subnet yang sama.

Perkecil skala

Meskipun semua layanan atau tugas telah diperkecil skalanya hingga nol, Cloud Run akan mencadangkan beberapa alamat IP dari subnet untuk mengantisipasi apabila layanan atau tugas harus kembali ditingkatkan skalanya segera.

Untuk menghapus subnet, Anda harus menghapus atau men-deploy ulang layanan atau tugas Cloud Run terlebih dahulu untuk menggunakan subnet, kemudian tunggu hingga 1-2 jam.

Rentang IP yang didukung

Cloud Run mendukung rentang IPv4 berikut untuk subnet Anda:

  • RFC 1918 (disarankan)
    • 10.0.0.0/8
    • 172.16.0.0/12
    • 192.168.0.0/16
  • RFC 6598
    • 100.64.0.0/10
  • Class E (tidak disarankan dengan penyiapan lokal)
    • 240.0.0.0/4

Menyiapkan izin IAM

Pastikan Cloud Run memiliki akses ke jaringan VPC dengan menggunakan salah satu metode berikut:

  • Peran Agen Layanan Cloud Run: Secara default, agen layanan Cloud Run memiliki peran Agen Layanan Cloud Run (roles/run.serviceAgent) yang berisi izin yang diperlukan.

  • Izin kustom: Untuk kontrol yang lebih terperinci, berikan izin tambahan berikut kepada agen layanan Cloud Run pada project:

    • compute.networks.get
    • compute.subnetworks.get
    • compute.subnetworks.use di project atau subnet tertentu
    • compute.addresses.get
    • compute.addresses.list
    • compute.addresses.createInternal
    • compute.addresses.deleteInternal
  • Peran Compute Network User: Jika Anda tidak menggunakan peran Agen Layanan Cloud Run default atau izin kustom, berikan peran Compute Network User (roles/compute.networkUser) pada akun layanan Agen Layanan Cloud Run dengan menjalankan perintah berikut:

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:service-PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \
    --role "roles/compute.networkUser"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.
    • PROJECT_NUMBER: nomor project tempat Anda men-deploy layanan atau tugas Cloud Run.

Men-deploy layanan

Traffic keluar VPC langsung memungkinkan layanan Cloud Run Anda mengirim traffic ke jaringan VPC tanpa konektor Akses VPC Serverless. Biaya jaringan diskalakan ke nol seperti layanan itu sendiri. Anda juga dapat menggunakan tag jaringan secara langsung pada revisi layanan Cloud Run untuk keamanan jaringan yang terperinci.

Anda dapat mengonfigurasi Traffic keluar VPC Langsung dengan layanan menggunakan konsol Google Cloud, Google Cloud CLI, atau YAML

Konsol

  1. Buka Cloud Run

  2. Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi dan men-deploy layanan yang ada, klik layanan, lalu klik Edit and deploy new revision.

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal sesuai kebutuhan, lalu klik Container(s), volume, networking, security untuk memperluas halaman konfigurasi layanan.

  4. Klik tab Networking.

  5. Klik Hubungkan ke VPC untuk traffic keluar.

  6. Klik Kirim traffic langsung ke VPC.

  7. Di kolom Network, pilih jaringan VPC yang ingin Anda kirimi traffic.

  8. Di kolom Subnet, pilih subnet tempat alamat IP diterima oleh layanan Anda. Anda dapat men-deploy beberapa layanan di subnet yang sama.

  9. Opsional: Masukkan nama tag jaringan yang ingin dikaitkan dengan layanan Anda atau layanan lainnya. Tag jaringan ditentukan pada tingkat revisi. Setiap revisi layanan dapat memiliki tag jaringan yang berbeda, seperti network-tag-2.

  10. Untuk Pemilihan rute traffic, pilih salah satu opsi berikut:

    • Rutekan hanya permintaan IP pribadi ke VPC untuk hanya mengirim traffic ke alamat internal melalui jaringan VPC.
    • Rutekan semua traffic ke VPC untuk mengirim semua traffic keluar melalui jaringan VPC.
  11. Klik Buat atau Deploy.

  12. Untuk memverifikasi bahwa layanan Anda sudah berada di jaringan VPC, klik layanan, lalu klik tab Networking. Jaringan dan subnet tercantum dalam kartu VPC.

    Kini Anda dapat mengirim permintaan dari layanan Cloud Run ke resource mana pun di jaringan VPC, sebagaimana diizinkan oleh aturan firewall Anda.

gcloud

Untuk men-deploy layanan Cloud Run tanpa konektor dari Google Cloud CLI:

  1. Pastikan Compute Engine API diaktifkan untuk project Anda:

    gcloud services enable compute.googleapis.com
    
  2. Deploy layanan Cloud Run Anda dengan perintah berikut:

    gcloud run deploy SERVICE_NAME \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --vpc-egress=EGRESS_SETTING \
    --region=REGION
    

    Ganti:

    • SERVICE_NAME dengan nama layanan Cloud Run Anda.
    • IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
    • NETWORK dengan nama jaringan VPC Anda.
    • SUBNET dengan nama subnet Anda. Anda dapat men-deploy atau menjalankan beberapa layanan atau tugas di subnet yang sama.
    • Opsional: NETWORK_TAG_NAMES dengan nama tag jaringan yang dipisahkan koma yang ingin Anda kaitkan dengan layanan. Untuk layanan, tag jaringan ditentukan pada tingkat revisi. Setiap revisi jaringan dapat memiliki tag jaringan yang berbeda, seperti network-tag-2.
    • EGRESS_SETTING dengan nilai setelan traffic keluar:
      • all-traffic: Mengirim semua traffic keluar melalui jaringan VPC.
      • private-ranges-only: Hanya mengirim traffic ke alamat internal melalui jaringan VPC.
    • REGION dengan region untuk layanan Anda.
  3. Untuk memverifikasi bahwa layanan Anda berada di jaringan VPC, jalankan perintah berikut:

    gcloud run services describe SERVICE_NAME \
    --region=REGION
    

    Ganti:

    • SERVICE_NAME dengan nama layanan Anda.
    • REGION dengan region untuk layanan yang Anda tentukan di langkah sebelumnya.

    Output harus berisi nama jaringan, subnet, dan setelan egress, misalnya:

    VPC access:
      Network:       default
      Subnet:        subnet
      Egress:        private-ranges-only
    

Kini Anda dapat mengirim permintaan dari layanan Cloud Run ke resource mana pun di jaringan VPC, sebagaimana diizinkan oleh aturan firewall Anda.

YAML

Anda dapat menyimpan spesifikasi layanan dalam fileYAML kemudian men-deploy-nya menggunakan gcloud CLI.

  1. Buat file baru bernama service.yaml dengan konten berikut:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE_NAME
      labels:
        cloud.googleapis.com/location: REGION
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'
            run.googleapis.com/vpc-access-egress: EGRESS_SETTING
        spec:
          containers:
          - image: IMAGE

    Ganti:

    • SERVICE_NAME dengan nama layanan Cloud Run Anda. Nama layanan harus terdiri dari 49 karakter atau kurang dan harus unik per region dan project.
    • REGION dengan region untuk layanan Cloud Run, yang harus sesuai dengan region subnet Anda.
    • NETWORK dengan nama jaringan VPC Anda.
    • SUBNET dengan nama subnet Anda. Anda dapat men-deploy atau menjalankan beberapa layanan atau tugas di subnet yang sama.
    • Opsional NETWORK_TAG_NAMES dengan nama tag jaringan yang ingin Anda kaitkan dengan layanan. Untuk layanan, tag jaringan ditentukan pada tingkat revisi. Setiap revisi jaringan dapat memiliki tag jaringan yang berbeda, seperti network-tag-2.
    • EGRESS_SETTING dengan nilai setelan traffic keluar:
      • all-traffic: Mengirim semua traffic keluar melalui jaringan VPC.
      • private-ranges-only: Hanya mengirim traffic ke alamat internal melalui jaringan VPC.
    • IMAGE dengan URL image container layanan Anda.

    Anda juga dapat menentukan lebih banyak konfigurasi, seperti variabel lingkungan atau batas memori.

  2. Deploy layanan baru dengan menjalankan perintah berikut:

    gcloud run services replace service.yaml
  3. Sebagai opsi, tampilkan layanan Anda ke publik jika ingin mengizinkan akses tanpa autentikasi ke layanan.

Jika Anda perlu mendownload atau melihat konfigurasi layanan yang sudah ada, gunakan perintah berikut untuk menyimpan hasilnya ke file YAML:

gcloud run services describe SERVICE --format export > service.yaml

Dari file YAML konfigurasi layanan, ubah atribut turunan spec.template sesuai kebutuhan untuk memperbarui setelan revisi, lalu deploy revisi baru:

gcloud run services replace service.yaml

Membuat tugas

Traffic keluar VPC langsung memungkinkan tugas Cloud Run Anda mengirim traffic ke jaringan VPC tanpa konektor Akses VPC Serverless.

Anda dapat mengonfigurasi traffic keluar VPC Langsung dengan tugas menggunakan Konsol Google Cloud, Google Cloud CLI, atau YAML.

Konsol

  1. Buka Cloud Run

  2. Jika Anda mengonfigurasi tugas baru, klik tab Tugas dan isi halaman setelan tugas awal seperti yang diinginkan. Jika Anda mengonfigurasi tugas yang sudah ada, klik tugas, kemudian klik Edit.

  3. Klik Container, Variabel, & Rahasia, Koneksi, Keamanan untuk memperluas halaman properti tugas.

  4. Klik tab Koneksi.

  5. Klik Hubungkan ke VPC untuk traffic keluar.

  6. Klik Kirim traffic langsung ke VPC.

  7. Di kolom Network, pilih jaringan VPC yang ingin Anda kirimi traffic.

  8. Di kolom Subnet, pilih subnet tempat alamat IP diterima oleh tugas Anda. Anda dapat menjalankan beberapa tugas di subnet yang sama.

  9. Untuk Pemilihan rute traffic, pilih salah satu opsi berikut:

    • Rutekan hanya permintaan IP pribadi ke VPC untuk hanya mengirim traffic ke alamat internal melalui jaringan VPC.
    • Rutekan semua traffic ke VPC untuk mengirim semua traffic keluar melalui jaringan VPC.
  10. Opsional: Masukkan nama tag jaringan yang ingin dikaitkan dengan layanan Anda atau layanan lainnya. Tag jaringan ditentukan pada tingkat revisi. Setiap revisi layanan dapat memiliki tag jaringan yang berbeda, seperti network-tag-2.

  11. Opsional: Masukkan nama tag jaringan yang ingin dikaitkan dengan tugas Anda. Untuk tugas, tag jaringan ditentukan pada tingkat eksekusi. Setiap eksekusi tugas dapat memiliki tag jaringan yang berbeda, seperti network-tag-2.

  12. Klik Buat atau Update.

  13. Untuk memverifikasi bahwa tugas Anda berada di jaringan VPC, klik tugas tersebut, lalu klik tab Konfigurasi. Jaringan dan subnet tercantum dalam kartu VPC.

    Sekarang Anda dapat menjalankan tugas Cloud Run dan mengirim permintaan dari tugas ke resource mana pun di jaringan VPC, sebagaimana diizinkan oleh aturan firewall Anda.

gcloud

Untuk membuat tugas Cloud Run tanpa konektor dari Google Cloud CLI:

  1. Pastikan Compute Engine API diaktifkan untuk project Anda:

    gcloud services enable compute.googleapis.com
    
  2. Buat tugas Cloud Run dengan perintah berikut:

    gcloud run jobs create JOB_NAME \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --vpc-egress=EGRESS_SETTING \
    --region=REGION
    

    Ganti:

    • JOB_NAME dengan nama tugas Cloud Run Anda
    • IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/job:latest
    • NETWORK dengan nama jaringan VPC Anda.
    • SUBNET dengan nama subnet Anda. Anda dapat men-deploy atau menjalankan beberapa layanan atau tugas di subnet yang sama.
    • Opsional: NETWORK_TAG_NAMES dengan nama tag jaringan yang ingin Anda kaitkan dengan tugas. Untuk tugas, tag jaringan ditentukan pada tingkat eksekusi. Setiap eksekusi tugas dapat memiliki tag jaringan yang berbeda, seperti network-tag-2.
    • EGRESS_SETTING dengan nilai setelan traffic keluar:
      • all-traffic: Mengirim semua traffic keluar melalui jaringan VPC.
      • private-ranges-only: Hanya mengirim traffic ke alamat internal melalui jaringan VPC.
    • REGION dengan region untuk tugas Anda.
  3. Untuk memverifikasi bahwa tugas berada di jaringan VPC Anda, jalankan perintah berikut:

    gcloud run jobs describe JOB_NAME \
      --region=REGION
      

    Ganti:

    • JOB_NAME dengan nama tugas Anda.
    • REGION dengan region untuk tugas yang Anda tentukan di langkah sebelumnya.

    Output harus berisi nama jaringan dan subnet, misalnya:

    VPC network:
      Network:       default
      Subnet:        default
    

Sekarang Anda dapat menjalankan tugas Cloud Run dan mengirim permintaan dari tugas ke resource mana pun di jaringan VPC, sebagaimana diizinkan oleh aturan firewall Anda.

YAML

Anda dapat menyimpan spesifikasi tugas dalam file YAML kemudian men-deploy-nya menggunakan gcloud CLI.

  1. Buat file baru job.yaml dengan konten berikut:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB_NAME
      annotations:
        run.googleapis.com/launch-stage: BETA
      labels:
        cloud.googleapis.com/location: REGION
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'
            run.googleapis.com/vpc-access-egress: EGRESS_SETTING
        spec:
          containers:
          - image: IMAGE

    Ganti:

    • JOB_NAME dengan nama tugas Cloud Run Anda Nama tugas harus terdiri dari 49 karakter atau kurang dan harus unik per region dan project.
    • REGION dengan region untuk tugas Cloud Run, yang harus sesuai dengan region subnet Anda.
    • NETWORK dengan nama jaringan VPC Anda.
    • SUBNET dengan nama subnet Anda. Anda dapat men-deploy atau menjalankan beberapa layanan atau tugas di subnet yang sama.
    • Opsional: NETWORK_TAG_NAMES dengan nama tag jaringan yang ingin Anda kaitkan dengan tugas. Untuk tugas, tag jaringan ditentukan pada tingkat eksekusi. Setiap eksekusi tugas dapat memiliki tag jaringan yang berbeda, seperti network-tag-2.
    • EGRESS_SETTING dengan nilai setelan traffic keluar:
      • all-traffic: Mengirim semua traffic keluar melalui jaringan VPC.
      • private-ranges-only: Hanya mengirim traffic ke alamat internal melalui jaringan VPC.
    • IMAGE dengan URL image container dari tugas Anda.
  2. Deploy tugas baru dengan menjalankan perintah berikut:

    gcloud run jobs replace job.yaml

Jika Anda perlu mendownload atau melihat konfigurasi tugas yang ada, gunakan perintah berikut untuk menyimpan hasilnya ke file YAML:

gcloud run jobs describe JOB --format export > job.yaml

Dari file YAML konfigurasi tugas, ubah atribut turunan spec.template apa pun sesuai kebutuhan untuk memperbarui setelan revisi, lalu deploy ulang:

gcloud run jobs replace job.yaml

Membatasi akses dengan aturan firewall

Batasi akses ke resource di jaringan VPC dengan menggunakan aturan firewall VPC. Tambahkan batasan ini dengan menggunakan salah satu strategi berikut:

  • Buat aturan firewall masuk yang merujuk ke layanan atau tugas Anda menggunakan rentang IP subnet.
  • Buat aturan firewall keluar yang merujuk ke layanan atau tugas Anda.

    Dalam aturan firewall keluar, lihat layanan atau tugas Anda menggunakan identitas layanan akun layanan yang tertaut, rentang IP subnet, atau tag jaringan terkait.

Tag jaringan untuk traffic keluar

Tambahkan lapisan keamanan jaringan tambahan menggunakan tag jaringan dalam aturan firewall keluar.

Konsol

Untuk mengaitkan tag jaringan dengan layanan atau tugas:

  1. Pada konsol Google Cloud, buka halaman Cloud Run.

    Buka Cloud Run

  2. Klik layanan atau tugas yang ingin Anda kaitkan dengan tag jaringan, lalu klik Edit and deploy new revision untuk layanan atau Edit untuk tugas tersebut.

  3. Klik tab Networking untuk layanan, atau tab Connections untuk tugas.

  4. Pastikan Anda telah memilih Hubungkan ke VPC untuk traffic keluar dan Kirim traffic langsung ke VPC.

  5. Di kolom Subnet, pilih subnet tempat layanan Anda menerima alamat IP. Anda dapat men-deploy atau menjalankan beberapa layanan atau tugas di subnet yang sama.

  6. Di kolom Tag jaringan, masukkan nama tag jaringan yang ingin dikaitkan dengan layanan atau tugas Anda.

  7. Klik Deploy atau Update.

Untuk layanan, setiap revisi layanan dapat memiliki kumpulan tag jaringan yang berbeda karena tag jaringan ditentukan pada tingkat revisi. Untuk tugas, eksekusi tugas memiliki tag jaringan yang sama dengan tugas saat eksekusi tugas dibuat.

gcloud

Untuk mengaitkan tag jaringan dengan layanan atau tugas, gunakan perintah gcloud run deploy:

gcloud run deploy SERVICE_JOB_NAME \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --region=REGION

Ganti kode berikut:

  • SERVICE_JOB_NAME dengan nama layanan atau pekerjaan Anda.
  • IMAGE_URL dengan URL gambar layanan atau tugas.
  • NETWORK dengan nama jaringan VPC Anda.
  • SUBNET dengan nama subnet Anda. Anda dapat men-deploy atau menjalankan beberapa layanan atau tugas di subnet yang sama.
  • NETWORK_TAG_NAMES dengan nama tag jaringan Anda atau daftar tag jaringan yang dipisahkan koma.
  • REGION dengan nama wilayah Anda.

Untuk layanan, setiap revisi layanan dapat memiliki kumpulan tag jaringan yang berbeda karena tag jaringan ditentukan pada tingkat revisi. Untuk tugas, eksekusi tugas memiliki tag jaringan yang sama dengan tugas saat eksekusi tugas dibuat.

Memutuskan koneksi layanan

Konsol

  • Untuk menghapus layanan Anda dari jaringan VPC:

    1. Buka Cloud Run

    2. Klik layanan yang ingin Anda hapus, lalu klik Edit and deploy new revision.

    3. Klik tab Networking.

    4. Hapus Menghubungkan ke VPC untuk traffic keluar.

    5. Klik Deploy.

    6. Untuk memverifikasi bahwa layanan Anda tidak lagi berada di jaringan VPC, klik tab Networking. Jaringan dan subnet tidak lagi tercantum dalam kartu VPC.

  • Untuk menghapus tag jaringan saja dan menjaga layanan tetap terhubung ke jaringan VPC:

    1. Klik layanan berisi tag jaringan yang ingin Anda hapus, lalu klik Edit and deploy new revision.

    2. Klik tab Networking.

    3. Hapus nama tag jaringan yang tidak ingin dikaitkan lagi dengan layanan Anda.

    4. Klik Deploy.

gcloud

  • Untuk menghapus layanan Anda dari jaringan VPC, jalankan perintah berikut:

    gcloud run services update SERVICE_NAME --region=REGION \
    --clear-network
    
  • Untuk menghapus tag jaringan saja dan menjaga layanan tetap terhubung ke jaringan VPC, jalankan perintah berikut:

    gcloud run services update SERVICE_NAME --region=REGION \
    --clear-network-tags
    

    Ganti kode berikut:

    • SERVICE_NAME: nama layanan Cloud Run Anda.
    • REGION: region untuk layanan Cloud Run Anda.

YAML

  • Untuk menghapus layanan Anda dari jaringan VPC:

    1. Hapus konten berikut dari file service.yaml Anda:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'

      Dengan

      • NETWORK: nama jaringan VPC Anda.
      • SUBNET: nama subnet Anda.
      • Opsional: NETWORK_TAG_NAMES: nama tag jaringan apabila Anda ingin mengaitkannya dengan layanan.
    2. Deploy revisi layanan dengan menjalankan perintah berikut:

      gcloud run services replace service.yaml
  • Untuk menghapus tag jaringan saja dan menjaga layanan tetap terhubung ke jaringan VPC:

    1. Hapus variabel tags dari konten dalam file service.yaml, dengan membiarkan variabel network dan subnetwork di tempatnya, seperti ditunjukkan dalam contoh berikut:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET"}]'

      Dengan

      • NETWORK: nama jaringan VPC Anda.
      • SUBNET: nama subnet Anda.
    2. Deploy revisi layanan dengan menjalankan perintah berikut:

      gcloud run services replace service.yaml

Memutus sambungan tugas

Konsol

  • Untuk menghapus tugas Anda dari jaringan VPC:

    1. Buka Cloud Run

    2. Klik tugas yang ingin Anda hapus, lalu klik Edit and deploy new revision.

    3. Klik tab Koneksi.

    4. Hapus Hubungkan ke VPC untuk traffic keluar.

    5. Klik Perbarui.

    6. Untuk memverifikasi bahwa tugas Anda tidak lagi berada di jaringan VPC, klik tab Konfigurasi. Jaringan dan subnet tidak lagi tercantum dalam kartu VPC.

  • Untuk menghapus tag jaringan saja dan menjaga tugas tetap terhubung ke jaringan VPC:

    1. Klik tugas yang berisi tag jaringan yang ingin Anda hapus, lalu klik Edit and deploy new revision.

    2. Klik tab Koneksi.

    3. Hapus nama tag jaringan yang tidak ingin dikaitkan lagi dengan tugas Anda.

    4. Klik Perbarui.

gcloud

  • Untuk menghapus tugas Anda dari jaringan VPC, jalankan perintah berikut:

    gcloud run jobs update JOB_NAME --region=REGION \
      --clear-network
      
  • Untuk menghapus tag jaringan saja dan menjaga tugas tetap terhubung ke jaringan VPC, jalankan perintah berikut:

    gcloud run jobs update JOB_NAME --region=REGION \
      --clear-network-tags
      

    Ganti kode berikut:

    • JOB_NAME: nama tugas Cloud Run Anda.
    • REGION: region untuk tugas Cloud Run Anda.

YAML

  • Untuk menghapus tugas Anda dari jaringan VPC:

    1. Hapus konten berikut dari file job.yaml Anda:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'

      Ganti kode berikut:

      • NETWORK: nama jaringan VPC Anda.
      • SUBNET: nama subnet Anda.
      • Opsional: NETWORK_TAG_NAMES dengan nama tag jaringan jika Anda telah mengaitkannya dengan tugas.
    2. Deploy kembali tugas tersebut dengan menjalankan perintah berikut:

      gcloud run jobs replace job.yaml
  • Untuk menghapus tag jaringan saja dan menjaga tugas tetap terhubung ke jaringan VPC:

    1. Hapus variabel tags dari konten dalam file job.yaml, dengan membiarkan variabel network dan subnetwork di tempatnya, seperti ditunjukkan dalam contoh berikut:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET"}]'

      Ganti kode berikut:

      • NETWORK: nama jaringan VPC Anda.
      • SUBNET: nama subnet Anda.
    2. Deploy kembali tugas tersebut dengan menjalankan perintah berikut:

      gcloud run jobs replace job.yaml

Pemecahan masalah

Tidak dapat menghapus subnet

Untuk menghapus subnet, Anda harus terlebih dahulu menghapus atau men-deploy ulang semua resource yang menggunakannya. Jika Cloud Run menggunakan subnet, putuskan koneksi layanan atau tugas Cloud Run dari jaringan VPC atau pindahkan ke subnet lain sebelum menghapus subnet.

Subnet VPC Langsung kehabisan alamat IP

Jika subnet jaringan VPC kehabisan alamat IP, subnet tersebut akan dicatat ke dalam log oleh Cloud Logging. Jika ini terjadi, Cloud Run tidak dapat memulai instance layanan atau tugas lagi hingga alamat IP lain tersedia.

Melihat alamat IP yang dialokasikan

Untuk melihat alamat IP Cloud Run yang sudah dialokasikan, buka halaman alamat IP di konsol Google Cloud atau jalankan perintah berikut dari Google Cloud CLI:

gcloud compute addresses list