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 berukuran /24 atau lebih besar.

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

    • Subnet tempat Anda berencana men-deploy layanan atau revisi Cloud Run harus memiliki setidaknya beberapa ratus alamat IP yang tersedia.
    • Pada status stabil, jika jumlah total instance Cloud Run yang menggunakan subnet adalah 100 atau lebih, siapkan alamat IP yang cukup setidaknya 4 kali (4X) jumlah instance. Saat revisi diskalakan, perhatikan bahwa Cloud Run mempertahankan alamat IP-nya hingga 20 menit. Misalnya, jika Anda mengupgrade revisi sehingga revision 1 diskalakan dari 100 instance menjadi nol, sedangkan revision 2 diskalakan dari nol menjadi 100, Cloud Run akan mempertahankan alamat IP revision 1 hingga 20 menit setelah penskalaan ke bawah. Dalam kasus ini, selama periode 20 menit, Anda harus mengusulkan 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 individual. Melebihi jumlah ini akan menyebabkan throttling performa.
  • Kuota penggunaan Cloud Run membatasi jumlah maksimum instance yang dapat Anda konfigurasikan untuk menggunakan egress VPC Direct. Jumlah maksimum dikonfigurasi per revisi atau eksekusi tugas Cloud Run. Untuk meningkatkan batas default, lihat cara meningkatkan kuota.

  • Layanan dan tugas Cloud Run mungkin mengalami gangguan koneksi selama peristiwa pemeliharaan infrastruktur jaringan. Sebaiknya gunakan library klien yang dapat menangani reset koneksi sesekali.
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 tidak memberikan nama layanan atau revisi Cloud Run.
  • Log Aliran VPC tidak dilaporkan dari resource non-VM seperti Cloud Run atau mesin lokal.
  • Firewall Rules Logging
  • Duplikasi Paket
  • Network Intelligence Center
  • Traffic IPv6
  • Private NAT
  • 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 lain. Penampung menerima sinyal SIGTSTP 10 detik sebelum peristiwa dan sinyal SIGCONT setelah peristiwa. Setelah penampung menerima sinyal SIGCONT, coba hubungkan kembali.

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 pribadi. 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 hingga 20 menit untuk mengantisipasi apabila layanan atau tugas harus kembali ditingkatkan skalanya dengan cepat. Setiap instance memerlukan satu alamat IP, tetapi Cloud Run mencadangkan subnet mask /28 minimum di awal. Setelah Anda menggunakan semua 16 instance, Cloud Run akan membuat subnet baru.

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 di project:

    • compute.networks.get
    • compute.subnetworks.get
    • compute.subnetworks.use pada 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 Cloud Run Service Agent default atau izin kustom, berikan peran Compute Network User (roles/compute.networkUser) di akun layanan Cloud Run Service Agent 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 hingga ke nol seperti layanan itu sendiri. Anda juga dapat menambahkan tag jaringan secara langsung pada revisi layanan Cloud Run untuk keamanan jaringan yang lebih terperinci, seperti menerapkan aturan firewall VPC.

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

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 sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal sesuai kebutuhan, lalu klik Container, 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 berada di jaringan VPC, klik layanan tersebut, 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. Update komponen gcloud ke versi terbaru:

    gcloud components update
  2. Pastikan Compute Engine API diaktifkan untuk project Anda:

    gcloud services enable compute.googleapis.com
    
  3. 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.
  4. 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

  1. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Perbarui atribut 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.

  3. Buat atau perbarui layanan menggunakan perintah berikut:

    gcloud run services replace service.yaml

Terraform

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

  1. Tambahkan kode berikut ke file main.tf Anda:

    /**
     * Copyright 2024 Google LLC
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    # Example configuration of a Cloud Run service with direct VPC
    
    resource "google_cloud_run_v2_service" "default" {
      name     = "cloudrun-service"
      location = "us-central1"
    
      deletion_protection = false # set to "true" in production
    
      template {
        containers {
          image = "us-docker.pkg.dev/cloudrun/container/hello"
        }
        vpc_access {
          network_interfaces {
            network    = "default"
            subnetwork = "default"
            tags       = ["tag1", "tag2", "tag3"]
          }
        }
      }
    }
    

Sebagai opsi, tampilkan layanan Anda ke publik jika Anda ingin mengizinkan akses tanpa autentikasi ke layanan.

Buat tugas

Traffic keluar VPC langsung memungkinkan tugas Cloud Run Anda mengirim traffic ke jaringan VPC tanpa konektor Akses VPC Serverless. Anda juga dapat menambahkan tag jaringan secara langsung pada tugas Cloud Run untuk keamanan jaringan yang lebih terperinci, seperti menerapkan aturan firewall VPC.

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 sesuai kebutuhan. 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 Perbarui.

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

    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. Update komponen gcloud ke versi terbaru:

    gcloud components update
  2. Pastikan Compute Engine API diaktifkan untuk project Anda:

    gcloud services enable compute.googleapis.com
    
  3. 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.
  4. 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

  1. Jika Anda membuat tugas baru, lewati langkah ini. Jika Anda mengupdate tugas yang ada, download konfigurasi YAML-nya:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Perbarui atribut 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 tugas Anda.
  3. Buat atau perbarui tugas menggunakan perintah berikut:

    gcloud run jobs replace job.yaml

Membatasi akses dengan aturan firewall

Batasi akses ke resource di jaringan VPC menggunakan aturan firewall VPC. Tambahkan batasan ini 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 tertaut, rentang IP subnet, atau tag jaringan terkait.

Tag jaringan untuk traffic keluar

Tambahkan lapisan keamanan jaringan tambahan dengan menggunakan tag jaringan dalam aturan firewall egress.

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 dan deploy revisi baru untuk layanan atau Edit untuk tugas.

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

  4. Pastikan Anda telah memilih Menghubungkan ke VPC untuk traffic keluar dan Mengirim traffic langsung ke VPC.

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

  6. Di kolom Network tags, 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 yang dimiliki 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 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 yang dimiliki 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 dan deploy revisi baru.

    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 yang berisi tag jaringan yang ingin Anda hapus, kemudian klik Edit dan deploy revisi baru.

    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. Download konfigurasi YAML layanan:

      gcloud run services describe SERVICE_NAME --format export > service.yaml
    2. 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.
    3. 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. Download konfigurasi YAML layanan:

      gcloud run services describe SERVICE_NAME --format export > service.yaml
    2. 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.
    3. 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 dan deploy revisi baru.

    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 dan deploy revisi baru.

    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. Download konfigurasi YAML tugas:

      gcloud run jobs describe JOB_NAME --format export > job.yaml
    2. 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.
    3. Perbarui tugas dengan menjalankan perintah berikut:

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

    1. Download konfigurasi YAML tugas:

      gcloud run jobs describe JOB_NAME --format export > job.yaml
    2. 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.
    3. Perbarui tugas dengan menjalankan perintah berikut:

      gcloud run jobs replace job.yaml

Pemecahan masalah

Tidak dapat menghapus subnet

Untuk menghapus subnet, Anda harus menghapus atau men-deploy ulang semua resource yang menggunakannya terlebih dahulu. 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