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

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

    • Subnet tempat Anda berencana men-deploy Cloud Run layanan atau revisi Anda harus memiliki setidaknya beberapa ratus alamat IP tersedia.
    • Dalam keadaan stabil, jika jumlah total instance Cloud Run menggunakan subnet 100 atau lebih, cadangkan alamat IP yang cukup untuk setidaknya 4 dikalikan (4X) jumlah instance. Ketika sebuah revisi memperkecil skala, perhatikan bahwa Cloud Run akan menyimpan alamat IP-nya hingga 20 menit. Sebagai misalnya, jika Anda mengupgrade revisi agar revision 1 diskalakan dari 100 instance ke nol, sedangkan revision 2 menskalakan dari nol hingga 100, Cloud Run menyimpan alamat IP revision 1 hingga maksimal 20 menit setelah memperkecil skala. Selama jangka waktu 20 menit dalam kasus ini, 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 individu di instance Compute Engine. Jika jumlah ini terlampaui, performa akan menurun.
  • Kuota penggunaan Cloud Run membatasi jumlah maksimum instance yang dapat dikonfigurasikan untuk menggunakan Direct Traffic keluar VPC. Jumlah maksimum dikonfigurasi per Cloud Run revisi 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 koneksi selama peristiwa pemeliharaan infrastruktur jaringan. Sebaiknya Anda menggunakan pustaka klien yang dapat menangani pengaturan ulang koneksi sesekali.
Batasan berikut hanya berlaku untuk tugas Cloud Run dan tidak layanan:
  • Traffic keluar VPC langsung untuk tugas Cloud Run tersedia di Pratinjau saja.
  • 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 minimum 1.024 alamat IP.

Item berikut tidak didukung oleh traffic keluar VPC Langsung:

  • Log Aliran VPC tidak menyediakan nama Layanan atau revisi Cloud Run.
  • Log Aliran VPC tidak dilaporkan dari resource non-VM seperti Cloud Run, atau komputer lokal.
  • Firewall Rules Logging
  • Duplikasi Paket
  • Network Intelligence Center
  • Traffic IPv6
  • Secure Web Proxy
  • 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 selama lebih dari 1 jam mungkin dialami koneksi terputus. Ini dapat terjadi selama peristiwa pemeliharaan yang memigrasikan pekerjaan dari satu komputer ke komputer lainnya. Container menerima SIGTSTP sinyal 10 detik sebelum peristiwa dan Sinyal SIGCONT setelah peristiwa. Setelah container menerima Sinyal SIGCONT, coba lagi koneksinya.

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 memungkinkan peningkatan skala dengan cepat jika terjadi lonjakan traffic, Cloud Run mengalokasikan alamat IP sebelum dibutuhkan.

Pada suatu waktu, 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

Bahkan setelah semua layanan atau tugas diturunkan skalanya ke nol, Cloud Run mencadangkan beberapa alamat IP dari {i>subnet<i} hingga 20 menit jika ada layanan atau tugas harus ditingkatkan skalanya lagi dengan cepat. Setiap instance memerlukan satu alamat IP, tetapi Cloud Run mencadangkan subnet mask minimum /28 di awal. Setelah Anda menggunakan ke-16 instance tersebut, Cloud Run akan membuat di subnet yang berbeda.

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 Cloud Run Service Agent: Secara default, Agen layanan Cloud Run memiliki Peran Agen Layanan Cloud Run (roles/run.serviceAgent) yang berisi izin yang diperlukan.

  • Izin khusus: Untuk kontrol yang lebih terperinci, berikan izin kepada Cloud Run agen layanan dengan izin tambahan berikut pada 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 Pengguna Jaringan Compute: Jika Anda tidak menggunakan peran default Peran Agen Layanan Cloud Run atau izin kustom, berikan Peran Pengguna Jaringan Compute (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." \
    --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 Anda.

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

  3. Jika Anda mengonfigurasi layanan baru, isi layanan awal setelan sesuai kebutuhan, lalu klik Container, volume, networking, security untuk luaskan 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 berada di jaringan VPC Anda, 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. 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:

    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 update 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"
    
      template {
        containers {
          image = "us-docker.pkg.dev/cloudrun/container/hello"
        }
        vpc_access {
          network_interfaces {
            network    = "default"
            subnetwork = "default"
            tags       = ["tag1", "tag2", "tag3"]
          }
        }
      }
    }
    

Opsional, jadikan layanan Anda publik jika Anda ingin mengizinkan akses yang tidak diautentikasi ke layanan.

Buat 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 Jobs dan isi halaman pengaturan pekerjaan 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 berada di jaringan VPC Anda, klik tugas, lalu klik tab Configuration. 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 sudah ada, download konfigurasi YAML:

    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 dengan menggunakan salah satu strategi berikut:

  • Buat aturan firewall masuk yang merujuk ke service atau tugas dengan menggunakan alamat IP Rentang IP.
  • Buat aturan firewall keluar yang mengacu pada service atau tugas.

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

Tag jaringan untuk traffic keluar

Tambahkan lapisan keamanan jaringan tambahan menggunakan tag jaringan saat traffic keluar aturan firewall.

Konsol

Untuk mengaitkan tag jaringan dengan layanan atau pekerjaan:

  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.

  3. Klik tab Jaringan untuk layanan, atau tab Koneksi untuk lowongan kerja.

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

  5. Di kolom Subnet, pilih subnet tempat layanan akan diterima dari alamat IP. 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 pekerjaan Anda.

  7. Klik Deploy atau Update.

Untuk layanan, setiap revisi layanan dapat memiliki kumpulan tag jaringan yang berbeda karena tag jaringan ditetapkan di level revisi. Untuk pekerjaan, lowongan 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 Anda atau dan dipisahkan koma yang dipisahkan koma.
  • REGION dengan nama wilayah Anda.

Untuk layanan, setiap revisi layanan dapat memiliki kumpulan tag jaringan yang berbeda karena tag jaringan ditetapkan di level revisi. Untuk pekerjaan, lowongan 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, 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. 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 pekerjaan 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 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. 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 terlebih dahulu menghapus atau men-deploy ulang semua resource yang menggunakan anotasi. Jika Cloud Run menggunakan subnet, putuskan koneksi Cloud Run service atau tugas dari jaringan VPC atau memindahkannya 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