Menggunakan rute

Halaman ini menjelaskan cara membuat dan mengelola rute untuk jaringan Virtual Private Cloud (VPC) di Google Cloud. Halaman ini mengasumsikan bahwa Anda telah memahami berbagai jenis rute Google Cloud dan karakteristiknya seperti yang dijelaskan di Rute.

Setiap jaringan baru memiliki dua jenis rute yang dihasilkan sistem: rute default, yang dapat Anda hapus atau ganti, dan satu rute subnet untuk setiap subnetnya. Anda tidak dapat menghapus rute subnet kecuali Anda juga menghapus subnetnya.

Selain rute yang dihasilkan sistem, Anda dapat membuat rute statis kustom lainnya.

Menampilkan daftar rute untuk jaringan VPC

Anda dapat menggunakan Google Cloud CLI atau API untuk menampilkan dan melihat detail tentang jenis rute berikut:

Baik perintah gcloud CLI maupun metode API tidak menampilkan jenis rute berikut:

Untuk melihat tampilan rute lengkap, gunakan Konsol Google Cloud. Untuk menampilkan dan menjelaskan rute berbasis kebijakan, lihat Menggunakan rute berbasis kebijakan.

Konsol

  1. Di Konsol Google Cloud, buka halaman Routes.

    Buka Rute

  2. Pada tab Effective routes, lakukan hal berikut:

    • Pilih jaringan VPC.
    • Pilih region.
  3. Klik View.

  4. Anda dapat memfilter berdasarkan jenis rute, rentang IP tujuan, jenis next hop, dan lainnya.

gcloud

Gunakan perintah gcloud CLI berikut untuk menampilkan dan melihat detail rute yang dicantumkan sebelumnya:

gcloud compute routes list \
    --filter="network=NETWORK_NAME" \
    --project=PROJECT_ID
gcloud compute routes describe ROUTE_NAME \
    --format="flattened()" \
    --project=PROJECT_ID

Ganti kode berikut:

  • NETWORK_NAME: Nama jaringan VPC.
  • PROJECT_ID: project ID yang berisi jaringan VPC Anda.
  • ROUTE_NAME: nama rute.

API

Gunakan metode API berikut untuk menampilkan dan melihat detail tentang rute yang dicantumkan sebelumnya:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes?filter=network="NETWORK_URL
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes/ROUTE_NAME

Ganti kode berikut:

  • PROJECT_ID: project ID yang berisi jaringan VPC Anda.
  • NETWORK_URL: URL jaringan VPC.
  • ROUTE_NAME: nama rute.

Untuk informasi selengkapnya, lihat metode routes.list dan metode routes.get.

Menampilkan daftar rute yang berlaku untuk antarmuka jaringan VM

Anda dapat menggunakan Konsol Google Cloud untuk melihat rute yang berlaku untuk antarmuka jaringan VM. Tampilan ini mempersempit daftar rute yang dapat Anda gunakan untuk traffic keluar.

Untuk melihat rute yang berlaku bagi antarmuka jaringan VM tertentu, ikuti langkah-langkah berikut.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Temukan instance VM dalam daftar. Pada menu More actions di akhir baris, pilih View network details.

  3. Jika sebuah instance memiliki beberapa antarmuka jaringan, di bagian Network interface details, pilih antarmuka jaringan yang ingin Anda lihat.

  4. Di bagian Detail firewall dan rute, klik tab Routes untuk melihat semua rute yang berlaku untuk antarmuka jaringan, yang diurutkan berdasarkan nama rute.

Menambahkan dan menghapus rute statis

Anda dapat menambahkan atau menghapus rute statis dan rute berbasis kebijakan yang bersifat lokal untuk jaringan VPC Anda. Bagian ini menjelaskan cara menambahkan dan menghapus rute statis lokal. Untuk mengetahui informasi selengkapnya tentang cara menambahkan dan menghapus rute berbasis kebijakan, lihat Menggunakan rute berbasis kebijakan.

Rute subnet ditambahkan dan dihapus secara otomatis saat Anda menambah atau menghapus subnet. Untuk mengetahui informasi selengkapnya tentang cara menambahkan dan menghapus subnet, lihat Menggunakan subnet.

Semua rute di jaringan VPC yang terhubung oleh Peering Jaringan VPC harus dimanipulasi di jaringan VPC yang mengekspor rute tersebut. Untuk mengetahui informasi selengkapnya, lihat Opsi pertukaran rute.

Sebelum menambahkan rute statis

Sebelum menambahkan rute statis, pastikan Anda memahami hal berikut:

  • Pastikan Anda memahami berbagai jenis next hop yang dapat digunakan rute statis. Untuk mengetahui informasi tentang berbagai jenis next hop rute statis, termasuk yang mendukung tujuan IPv6, lihat Next hop dan fitur.
  • Kecuali Anda menggunakan subnet hybrid, rute statis tidak boleh memiliki rentang tujuan yang cocok atau lebih spesifik daripada rentang tujuan subnet atau rute subnet peering. Untuk detail selengkapnya, lihat Interaksi dengan rute statis kustom di Ringkasan rute dan Interaksi rute subnet dan statis dalam dokumentasi Peering Jaringan VPC.
  • Untuk menghindari konflik saat menggunakan jaringan mode otomatis, jangan buat rute statis yang tujuannya sesuai dengan 10.128.0.0/9. Tinjau Rentang IP yang dicadangkan untuk jaringan mode otomatis guna mengetahui detailnya.
  • Tujuan untuk rute statis kustom tidak boleh tumpang tindih denganrentang internal yang dialokasikan.
  • Pastikan Anda telah memahami instance sebagai next hop sebelum membuat rute statis kustom yang menggunakan VM sebagai next hop-nya. Google Cloud hanya memvalidasi bahwa VM ada pada saat Anda membuat rute jika Anda memilih instance next-hop.
  • Jika Anda membuat rute menggunakan tag jaringan, hanya VM dengan tag tersebut yang akan menerima rute. Namun, VM yang diberi tag tetap menerima semua rute yang tidak memiliki tag jaringan.

Menambahkan rute statis

Menambahkan rute statis ke jaringan. Untuk mengetahui informasi selengkapnya tentang berbagai jenis next hop rute statis, termasuk yang mendukung tujuan IPv6, lihat Hop dan fitur berikutnya.

Konsol

  1. Di Konsol Google Cloud, buka halaman Routes.

    Buka Rute

  2. Klik tab Route management.

  3. Klik Create route.

  4. Tentukan nama dan deskripsi rute.

  5. Dalam daftar Network, pilih jaringan yang ada untuk rute.

  6. Di daftar Route type, pilih Static route.

  7. Dalam daftar IP version, pilih versi IP yang diperlukan:

    • Untuk membuat rute statis IPv4, pilih IPv4.
    • Untuk membuat rute statis IPv6, pilih IPv6.
  8. Tentukan rentang IP tujuan. Tujuan paling luas adalah 0.0.0.0/0 untuk IPv4 atau ::/0 untuk IPv6.

  9. Tentukan prioritas rute tersebut. Prioritas dapat berupa dari 0 (prioritas tertinggi) ke 65535 (prioritas terendah).

  10. Agar rute hanya berlaku untuk instance tertentu dengan tag jaringan yang cocok, tentukan tag tersebut di kolom Instance tags. Biarkan kolom ini kosong agar rute dapat diterapkan ke semua instance dalam jaringan.

  11. Pilih next hop untuk rute:

    • Default internet gateway: mengirimkan paket ke internet serta ke Google API dan layanan Google
    • Specify an instance: mengirimkan paket ke antarmuka jaringan instance VM. Tentukan instance VM berdasarkan nama dan zona. Jika tujuan rute adalah alamat IPv6, instance VM harus berupa dual-stack.
    • Specify IP address of an instance: tentukan alamat IPv4 internal utama dari instance yang ada dalam jaringan VPC.
    • Specify VPN tunnel: mengirimkan paket ke tunnel VPN Klasik yang ada menggunakan perutean statis.
    • Specify a forwarding rule name or IP address of an internal passthrough Network Load Balancer: mengirimkan paket ke Load Balancer Jaringan passthrough internal yang ditentukan oleh nama aturan penerusan internal (atau alamat IPv4) dan regionnya.
  12. Klik Create.

gcloud

Buat rute statis kustom baru dengan perintah gcloud CLI berikut:

gcloud compute routes create ROUTE_NAME \
    --network=NETWORK \
    --destination-range=DESTINATION_RANGE \
    --priority=PRIORITY \
    NEXT_HOP_SPECIFICATION

Ganti kode berikut:

  • ROUTE_NAME: nama rute
  • NETWORK: nama jaringan VPC yang berisi rute
  • DESTINATION_RANGE: alamat IPv4 atau IPv6 tujuan tempat rute ini diterapkan. Tujuan paling luas adalah 0.0.0.0/0 untuk IPv4 atau ::/0 untuk IPv6.
  • PRIORITY: prioritas rute, yang dapat berupa dari 0 (prioritas tertinggi) ke 65535 (prioritas terendah)
  • NEXT_HOP_SPECIFICATION: next hop untuk rute statis. Gunakan salah satu parameter berikut atau kombinasi parameter:

    • --next-hop-gateway=default-internet-gateway: mengirimkan paket ke internet serta ke Google API dan layanan Google.
    • --next-hop-instance=INSTANCE_NAME dan --next-hop-instance-zone=ZONE: mengirimkan paket ke antarmuka jaringan instance VM yang sudah ada. Tentukan instance VM berdasarkan nama dan zona. Jika tujuan rute adalah alamat IPv6, instance VM harus berupa dual-stack.
    • --next-hop-address=ADDRESS: menentukan alamat IPv4 utama dari instance yang ada di jaringan VPC.
    • --next-hop-vpn-tunnel=VPN_TUNNEL_NAME dan --next-hop-vpn-tunnel-region=REGION: mengirimkan paket ke tunnel VPN Klasik yang ada menggunakan perutean statis.
    • --next-hop-ilb=FORWARDING_RULE dan --next-hop-ilb-region=REGION: mengirimkan paket ke Load Balancer Jaringan passthrough internal. Tentukan instance VM berdasarkan nama aturan penerusan internal (atau alamat IPv4) dan region.

    Agar rute statis kustom hanya berlaku untuk VM tertentu berdasarkan tag jaringan, tambahkan flag --tags dan tentukan satu atau beberapa tag jaringan. Untuk mengetahui informasi selengkapnya tentang cara tag jaringan dan rute statis kustom berfungsi bersama, lihat Rute yang berlaku di ringkasan Rute. Anda dapat memasang tag ke rute statis kustom manapun.

Untuk mengetahui informasi lebih lanjut mengenai sintaks gcloud CLI, lihat dokumentasi SDK.

API

Membuat rute statis kustom baru.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes
{
  "name": "ROUTE_NAME",
  "network": "NETWORK_NAME",
  "destRange": "DESTINATION_RANGE",
  "priority": PRIORITY,
  "NEXT_HOP_SPECIFICATION"
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat rute Anda dibuat
  • ROUTE_NAME: nama rute
  • NETWORK: nama jaringan VPC yang berisi rute.
  • DESTINATION_RANGE: rentang alamat IPv4 atau IPv6 tujuan tempat rute ini diterapkan. Tujuan paling luas adalah 0.0.0.0/0 untuk IPv4 atau ::/0 untuk IPv6.
  • PRIORITY: prioritas rute, yang dapat berupa dari 0 (prioritas tertinggi) ke 65535 (prioritas terendah)
  • NEXT_HOP_SPECIFICATION: next hop untuk rute statis. Gunakan salah satu parameter atau kombinasi parameter berikut:
    • nextHopGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/gateways/default-internet-gateway: mengirimkan paket ke internet serta ke Google API dan layanan Google
    • nextHopInstance: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME: mengirimkan paket ke antarmuka jaringan instance VM. Tentukan instance VM menurut nama dan zona. Jika tujuan rute adalah alamat IPv6, instance VM harus berupa dual-stack.
    • nextHopIp: ADDRESS: menentukan alamat IPv4 utama dari instance yang ada di jaringan VPC.
    • nextHopVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/VPN_TUNNEL_NAME: mengirimkan paket ke tunnel VPN Klasik yang sudah ada menggunakan perutean statis.
    • nextHopIlb: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE: mengirimkan paket ke Load Balancer Jaringan passthrough internal. Tentukan instance VM berdasarkan nama aturan penerusan internal (atau alamat IPv4) dan region.

Agar rute statis kustom hanya berlaku untuk VM tertentu dengan tag jaringan, tambahkan kolom tags dan tentukan satu atau beberapa tag jaringan. Untuk mengetahui informasi selengkapnya tentang cara tag jaringan dan rute statis kustom berfungsi bersama, lihat Rute yang berlaku di ringkasan Rute. Anda dapat memasang tag ke rute statis kustom manapun.

Untuk informasi selengkapnya, lihat metode routes.insert.

Terraform

Anda dapat membuat rute statis menggunakan modul Terraform.

Rute statis ini membuat rute default ke internet.

module "google_compute_route" {
  source       = "terraform-google-modules/network/google//modules/routes"
  version      = "~> 9.0"
  project_id   = var.project_id # Replace this with your project ID in quotes
  network_name = "default"

  routes = [
    {
      name              = "egress-internet"
      description       = "route through IGW to access internet"
      destination_range = "0.0.0.0/0"
      tags              = "egress-inet"
      next_hop_internet = "true"
    }
  ]
}

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

Menambahkan rute default IPv4

Rute statis default IPv4 (0.0.0.0/0) dengan next-hop-gateway yang ditetapkan ke default-internet-gateway dikonfigurasi secara otomatis untuk setiap jaringan VPC. Gunakan langkah-langkah ini untuk membuat ulang rute tersebut jika perlu.

Konsol

  1. Di Konsol Google Cloud, buka halaman Routes.

    Buka Rute

  2. Klik tab Route management.

  3. Klik Create route.

  4. Tentukan nama dan deskripsi rute.

  5. Pilih jaringan yang ada untuk rute tersebut.

  6. Untuk Rentang IP tujuan, masukkan 0.0.0.0/0.

  7. Tentukan prioritas rute tersebut. Prioritas dapat berupa dari 0 (prioritas tertinggi) ke 65535 (prioritas terendah).

  8. Untuk Next hop, pilih Default internet gateway.

  9. Klik Create.

gcloud

Membuat ulang rute default IPv4 untuk jaringan.

gcloud compute routes create ROUTE_NAME \
    --destination-range=0.0.0.0/0 \
    --network=NETWORK \
    --next-hop-gateway=default-internet-gateway

Ganti kode berikut:

  • ROUTE_NAME: nama untuk rute
  • NETWORK: nama jaringan VPC yang berisi rute

API

Membuat ulang rute default IPv4 untuk jaringan.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes
{
  "destRange": "0.0.0.0/0",
  "name": "ROUTE_NAME",
  "network": "NETWORK_NAME",
  "nextHopGateway": "projects/PROJECT_ID/global/gateways/default-internet-gateway"
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat rute Anda dibuat
  • ROUTE_NAME: nama untuk rute
  • NETWORK_NAME: nama jaringan VPC yang berisi rute

Menambahkan rute default IPv6

Rute statis default IPv6 (::/0) dengan next-hop-gateway yang ditetapkan ke default-internet-gateway akan otomatis dikonfigurasi untuk jaringan VPC saat Anda membuat subnet dual-stack dengan jenis akses IP internal. Anda dapat menghapus rute untuk memblokir semua traffic IPv6 dari VM ke internet. Anda juga dapat membuat ulang rute jika perlu.

Konsol

  1. Di Konsol Google Cloud, buka halaman Routes.

    Buka Rute

  2. Klik tab Route management.

  3. Klik Create route.

  4. Tentukan nama dan deskripsi rute.

  5. Pilih jaringan yang ada untuk rute tersebut.

  6. Untuk Rentang IP tujuan, masukkan ::/0.

  7. Tentukan prioritas rute tersebut. Prioritas dapat berupa dari 0 (prioritas tertinggi) ke 65535 (prioritas terendah).

  8. Untuk Next hop, pilih Default internet gateway.

  9. Klik Create.

gcloud

Membuat ulang rute default IPv6 untuk jaringan.

gcloud compute routes create ROUTE_NAME \
    --destination-range=::/0 \
    --network=NETWORK \
    --next-hop-gateway=default-internet-gateway

Ganti kode berikut:

  • ROUTE_NAME: nama untuk rute.
  • NETWORK: nama jaringan VPC yang berisi rute.

API

Membuat ulang rute default IPv6 untuk jaringan.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes
{
  "destRange": "::/0",
  "name": "ROUTE_NAME",
  "network": "NETWORK_NAME",
  "nextHopGateway": "projects/PROJECT_ID/global/gateways/default-internet-gateway"
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat rute Anda dibuat
  • ROUTE_NAME: nama untuk rute
  • NETWORK_NAME: nama jaringan VPC yang berisi rute

Mengubah rute statis

Anda tidak dapat mengedit atau memperbarui rute statis setelah membuatnya. Untuk mengubah rute statis, Anda harus menghapusnya dan membuat pengganti.

Menghapus rute statis

Untuk menghapus rute, lakukan langkah berikut.

Konsol

  1. Di Konsol Google Cloud, buka halaman Routes.

    Buka Rute

  2. Klik tab Route management.

  3. Centang kotak di samping aturan yang ingin Anda hapus.

  4. Klik Delete.

  5. Klik Delete lagi untuk mengonfirmasi.

gcloud

Hapus rute statis kustom menggunakan perintah gcloud CLI berikut:

gcloud compute routes delete ROUTE_NAME

Ganti ROUTE_NAME dengan nama rute yang ingin Anda hapus.

API

Hapus rute statis kustom untuk menghapusnya dari jaringan VPC Anda menggunakan metode routes.delete:

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes/ROUTE_NAME

Ganti kode berikut:

  • PROJECT_ID: ID project tempat rute Anda berada.
  • ROUTE_NAME: nama rute yang akan dihapus.

Penerapan perubahan rute

Saat Anda menambahkan atau menghapus rute statis, rute tersebut akan diterapkan ke semua region dan instance VM di jaringan VPC Anda. Status operasi rute PENDING atau RUNNING menunjukkan bahwa perubahan rute sedang dalam antrean.

Setelah masuk dalam antrean, status operasi rute akan berubah menjadi DONE. Perlu waktu tambahan hingga 30 detik sebelum semua instance VM di jaringan VPC dan jaringan Peering Jaringan VPC Anda menggunakan rute baru atau berhenti menggunakan rute lama.

Jika Anda menambahkan atau menghapus beberapa rute statis secara bersamaan, perubahan dapat diterapkan secara acak. Tidak ada jaminan bahwa urutan pengiriman perubahan rute juga digunakan untuk urutan pemrosesannya. Instance yang berbeda mungkin mengetahui perubahan tersebut pada waktu yang berbeda.

Jika perlu membuat perubahan rute yang bergantung satu sama lain, Anda harus membuat perubahan tersebut secara berurutan dengan melakukan perubahan berikutnya hanya setelah status perubahan sebelumnya adalah DONE dan 30 detik tambahan telah berlalu.

Mengaktifkan penerusan IP untuk instance

Secara default, penerusan IP dinonaktifkan, dan Google Cloud melakukan pemeriksaan alamat sumber yang ketat. Tunduk pada konfigurasi firewall keluar yang efektif, VM dapat mengeluarkan paket dengan sumber berikut:

  • Alamat IPv4 internal utama dari antarmuka jaringan (NIC) instance.
  • Rentang IP alias apa pun yang dikonfigurasi pada NIC instance.
  • Jika rentang alamat IPv6 dikonfigurasi pada subnet, dan instance berupa dual-stack, berarti alamat IPv6 apa pun yang ditetapkan ke NIC.
  • Alamat IP internal atau eksternal yang terkait dengan aturan penerusan, untuk load balancing passthrough atau penerusan protokol, jika instance tersebut adalah backend untuk Load Balancer Jaringan passthrough internal, Load Balancer Jaringan passthrough eksternal, atau direferensikan oleh instance target.

Agar dapat menggunakan VM sebagai next hop untuk suatu rute, VM perlu meneruskan paket yang sumbernya tidak cocok dengan salah satu alamat atau rentang IP dalam daftar sebelumnya. Untuk meneruskan paket dengan alamat sumber arbitrer, Anda harus mengaktifkan penerusan IP:

  • Saat membuat atau mengupdate VM, Anda mengaktifkan penerusan IP dengan mengikuti petunjuk di bagian ini. Pengaktifan penerusan IP berlaku untuk semua NIC di VM.
  • Selain langkah-langkah di bagian ini, Anda harus mengaktifkan penerusan IP dalam sistem operasi tamu VM. Untuk melakukannya di Linux, tetapkan nilai salah satu atau kedua parameter kernel berikut ke 1: net.ipv4.ip_forward (untuk IPv4) atau net.ipv6.conf.all.forwarding (untuk IPv6).

Untuk mengaktifkan penerusan IP saat Anda membuat VM, selesaikan langkah-langkah berikut.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Klik Create instance.

  3. Di bagian Advanced options, luaskan Networking, disks, security, management, sole-tenancy.

  4. Luaskan bagian Networking.

  5. Di bagian IP forwarding, centang kotak Enable.

gcloud

Saat membuat instance, tambahkan flag --can-ip-forward ke perintah Anda:

gcloud compute instances create ... --can-ip-forward

API

Saat membuat instance, gunakan kolom canIpForward untuk mengaktifkan penerusan IP:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "canIpForward": true,
  ...other fields
}

Ganti kode berikut:

  • PROJECT_ID: ID project yang berisi instance
  • ZONE: zona Google Cloud yang berisi instance

Untuk mengetahui informasi selengkapnya, lihat metode instances.insert.

Terraform

Anda dapat menggunakan resource Terraform untuk membuat instance VM dengan penerusan IP yang diaktifkan.

Dalam contoh ini, argumen Terraform memiliki nilai yang telah ditetapkan yang dapat Anda ubah.

resource "google_compute_instance" "default" {
  project      = var.project_id # Replace this with your project ID in quotes
  zone         = "southamerica-east1-b"
  name         = "instance-next-hop"
  machine_type = "e2-medium"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }
  network_interface {
    network = "default"
  }
  can_ip_forward = true
}

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

Setelah mengaktifkan penerusan IP, lanjutkan dengan proses pembuatan VM.

Untuk mengaktifkan penerusan IP pada VM yang ada, update properti instance canIpForward.

Langkah selanjutnya