Subnet dual-stack memungkinkan resource Cloud Run Anda mengirim traffic IPv4 dan IPv6 ke jaringan VPC dengan traffic keluar VPC Langsung. Anda dapat mengubah subnet khusus IPv4 (single-stack) yang ada menjadi subnet dual stack.
Jenis subnet
Jaringan VPC mendukung jenis subnet Compute Engine berikut:
Subnet khusus IPv4 (single-stack), dengan hanya rentang subnet IPv4
Subnet IPv4 dan IPv6 (dual-stack), dengan rentang subnet IPv4 dan IPv6
Batasan stack ganda
Sebelum mengubah jenis stack pada resource Cloud Run yang ada, pertimbangkan batasan berikut:
Dukungan stack ganda hanya tersedia dengan subnet di jaringan VPC mode kustom. Agar jenis akses internal tersedia untuk subnet stack ganda, rentang IPv6 internal jaringan VPC harus diaktifkan. Siapkan atau konversi jaringan VPC ke mode kustom.
Dibandingkan dengan subnet khusus IPv4, subnet dual-stack mungkin mengalami latensi cold-start yang lebih tinggi, sehingga membatasi seberapa cepat aplikasi Anda dapat melakukan penskalaan.
NAT64 tidak didukung.
Sebelum memulai
Pastikan agen layanan Cloud Run
memiliki peran Admin IP Publik Compute (roles/compute.publicIpAdmin)
untuk menggunakan subnet dengan IPv6 eksternal.
Menambahkan subnet stack ganda pada resource
Subnet stack ganda memiliki rentang alamat IPv4 dan IPv6.
Untuk menambahkan subnet stack ganda pada resource Cloud Run, lakukan langkah-langkah berikut:
Konsol
Di konsol Google Cloud :
Aktifkan Compute Engine API:
Buka halaman VPC networks:
Klik Create VPC network jika Anda membuat jaringan mode kustom baru. Jika Anda menggunakan jaringan VPC yang sudah ada, klik nama jaringan VPC untuk menampilkan halaman VPC network details.
Jika Anda membuat jaringan baru atau mengonversi jaringan yang sudah ada, masukkan nama dan pastikan Subnet creation mode disetel ke Custom, lalu pilih Configure a ULA internal IPv6 range for this VPC Network.
Dari tab Subnets, klik Add subnet. Pada panel yang muncul:
- Berikan Nama.
- Pilih Region.
- Untuk IP stack type, pilih IPv4 and IPv6 (dual-stack).
- Masukkan rentang IPv4. Ini adalah rentang IPv4 utama untuk subnet.
Pilih IPv6 access type.
Jika opsi Internal tidak tersedia dan Anda memerlukannya, periksa apakah rentang IPv6 internal telah ditetapkan di jaringan.
Klik Tambahkan.
Deploy layanan Cloud Run, jalankan tugas, atau deploy kumpulan worker di subnet dual-stack yang Anda buat. Saat Anda memasukkan detail resource yang diperlukan, pilih rentang alamat IPv6 baru dengan mengikuti langkah-langkah berikut:
- Klik Container(s), Volumes, Networking, Security, lalu pilih tab Networking.
- Klik Hubungkan ke VPC untuk traffic keluar, lalu Kirim traffic langsung ke VPC.
- Pilih Network yang Anda buat pada langkah sebelumnya.
- Klik kolom Subnet untuk memilih rentang alamat IPv6 yang baru dibuat.
Resource otomatis disediakan dengan jenis stack subnet.
gcloud
Untuk membuat jaringan mode kustom yang mendukung subnet stack ganda, jalankan perintah
gcloud compute networks create.Untuk mengonfigurasi rentang IPv6 internal pada subnet apa pun di jaringan ini, gunakan flag
--enable-ula-internal-ipv6. Opsi ini menetapkan awalan ULA/48dari dalam rentangfd20::/20yang digunakan oleh Google Cloud untuk rentang subnet IPv6 internal.gcloud compute networks create NETWORK \ --subnet-mode=custom \ --enable-ula-internal-ipv6
Ganti
NETWORKdengan nama jaringan VPC yang akan berisi subnet baru.Untuk mengonversi atau mengupdate jaringan mode kustom agar mendukung subnet stack ganda, jalankan perintah berikut:
gcloud compute networks update NETWORK \ --subnet-mode=custom \ --enable-ula-internal-ipv6
Ganti
NETWORKdengan nama jaringan VPC yang akan berisi subnet baru.Untuk membuat subnet stack ganda dengan rentang IPv6, jalankan perintah
subnets createmenggunakan setelan stack ganda:gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --range=PRIMARY_IPv4_RANGE \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=IPV6_ACCESS_TYPE \ --region=REGION
Ganti kode berikut:
SUBNET: nama untuk subnet baru.NETWORK: nama jaringan VPC yang akan berisi subnet baru.PRIMARY_IPv4_RANGE: rentang IPv4 utama untuk subnet baru, dalam notasi CIDR. Untuk informasi selengkapnya, lihat Rentang subnet IPv4.IPV6_ACCESS_TYPE: jenis akses IPv6 untuk subnet baru,internalatauexternal.REGION: Google Cloud region tempat subnet baru akan dibuat.
Deploy layanan Cloud Run, jalankan tugas, atau deploy kumpulan worker di subnet dual-stack yang Anda buat. Resource otomatis disediakan dengan jenis stack subnet.
YAML
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
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, tugas, atau kumpulan pekerja 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.
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.
Tambahkan kode berikut ke file
main.tfAnda:
Sebagai opsi, tampilkan layanan Anda ke publik jika Anda ingin mengizinkan akses tanpa autentikasi ke layanan.
Mengubah subnet dari stack tunggal menjadi stack ganda
Untuk menambahkan rentang subnet IPv6 ke subnet khusus IPv4 yang ada di jaringan VPC mode kustom, lihat Mengubah jenis stack subnet menjadi stack ganda. Kemudian, deploy layanan Cloud Run, jalankan tugas, atau deploy kumpulan pekerja di subnet dual-stack.
Mengubah subnet dari stack ganda menjadi stack tunggal
Untuk mengubah subnet stack ganda resource menjadi subnet stack tunggal, lihat Mengubah subnet stack ganda menjadi khusus IPv4. Kemudian, deploy layanan Cloud Run, jalankan tugas, atau deploy kumpulan pekerja di subnet dual-stack.
Verifikasi jaringan dan subnet
Untuk memeriksa apakah resource Anda berada di jaringan VPC, jalankan perintah berikut:
gcloud run services describe SERVICE_NAME --region=REGION
Ganti REGION dengan Google Cloud region tempat
subnet baru dibuat.
Contoh output berikut menunjukkan jaringan dan subnet Anda:
VPC Access:
Network: example-network
Subnet: example-subnet
Egress: private-ranges-only