Mengonfigurasi akses internet untuk VM workload

Anda mengonfigurasi layanan jaringan akses internet untuk workload VMware di Google Cloud VMware Engine berdasarkan per region. Anda dapat mengarahkan traffic yang terhubung ke internet dari VM workload menggunakan edge internet Google Cloud atau koneksi lokal.

VM workload yang dapat mengakses internet juga dapat mengakses layanan Google Cloud menggunakan Akses Google Pribadi. Akses ke layanan Google Cloud menggunakan Akses Google Pribadi tetap berada dalam jaringan Google Cloud dan tidak keluar ke internet.

Layanan jaringan akses internet mendukung hal berikut:

  • Hingga 100 alamat IP publik untuk setiap wilayah
  • Hingga 300 aturan firewall per tabel firewall
  • Throughput hingga 2 Gbps di 128 ribu koneksi serentak untuk setiap region
  • Protokol TCP, UDP, dan ICMP

Layanan jaringan akses internet tidak mendukung fungsi Gateway Tingkat Aplikasi (ALG).

Sebelum memulai

Untuk mengubah setelan akses internet cloud pribadi, Anda harus memiliki akses admin ke VMware Engine.

Untuk mengaktifkan akses internet, Anda memerlukan rentang alamat CIDR layanan edge. Saat Anda mengaktifkan akses internet atau layanan jaringan IP publik, gateway akan di-deploy dalam konteks tenant layanan.

Gunakan rentang alamat CIDR layanan edge untuk menangani gateway IP publik dan internet VMware Engine. Rentang alamat IP harus memenuhi persyaratan berikut:

  • Patuhi RFC 1918 sebagai rentang pribadi.
  • Tidak tumpang-tindih dengan rentang alamat VMware Engine lainnya, seperti rentang alamat yang digunakan untuk peralatan pengelolaan atau segmen NSX-T.
  • Tidak ada tumpang tindih dengan rentang alamat apa pun yang diiklankan ke VMware Engine, seperti yang digunakan untuk subnet jaringan Virtual Private Cloud (VPC) atau jaringan lokal.
  • Dedikasikan rentang alamat IP dengan 26 bit subnet mask (/26).

Persyaratan Google Cloud CLI dan API

Untuk menggunakan alat command line gcloud atau API guna mengelola resource VMware Engine, sebaiknya konfigurasikan alat seperti yang dijelaskan di bawah.

gcloud

  1. Setel ID project default Anda:

    gcloud config set project PROJECT_ID
    
  2. Menetapkan region dan zona default:

    gcloud config set compute/region REGION
    
    gcloud config set compute/zone ZONE
    

Untuk mengetahui informasi selengkapnya tentang alat gcloud vmware, lihat dokumen referensi Cloud SDK.

API

Contoh API dalam kumpulan dokumentasi ini menggunakan alat command line cURL untuk membuat kueri API. Token akses yang valid diperlukan sebagai bagian dari permintaan cURL. Ada banyak cara untuk mendapatkan token akses yang valid. Langkah-langkah berikut menggunakan alat gcloud untuk membuat token akses:

  1. Login ke Google Cloud:

    gcloud auth login
    
  2. Buat token akses dan ekspor ke TOKEN:

    export TOKEN=`gcloud auth print-access-token`
    
  3. Verifikasi bahwa TOKEN telah disetel dengan benar:

    echo $TOKEN
    

Sekarang, gunakan token otorisasi dalam permintaan Anda ke API. Contoh:

curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations

Python

Contoh kode Python dalam dokumentasi ini menggunakan library VMware Engine untuk berkomunikasi dengan API. Agar dapat menggunakan pendekatan ini, library perlu diinstal dan Kredensial Default Aplikasi harus dikonfigurasi.

  1. Download dan instal library Python:

    pip install google-cloud-vmwareengine
    
  2. Konfigurasikan informasi ADC dengan menjalankan perintah tersebut di shell Anda:

    gcloud auth application-default login
    

    Atau, gunakan file kunci Service Account:

    export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

Untuk mengetahui informasi selengkapnya tentang library ini, kunjungi halaman referensi atau lihat contoh kode di GitHub.

Mengonfigurasi layanan akses internet

Anda dapat mengizinkan VM workload untuk memiliki akses ke internet dengan membuat atau memperbarui kebijakan jaringan.

Secara default, layanan jaringan akses internet dinonaktifkan.

Mengaktifkan layanan akses internet di suatu region

Konsol

Untuk mengaktifkan layanan akses internet di suatu region, lakukan hal berikut:

  1. Akses konsol Google Cloud.
  2. Dari navigasi utama, buka Kebijakan Jaringan.
  3. Klik Create untuk membuat kebijakan baru. Jika Anda ingin mengedit kebijakan jaringan yang sudah ada, klik ikon More di akhir baris dan pilih Edit.
  4. Isi detail kebijakan jaringan Anda, termasuk memilih jaringan dan region tempat kebijakan diterapkan.
  5. Alihkan Internet access ke Enabled dan, jika perlu, aktifkan External IP address service.

  6. Di kolom Edge Services CIDR, masukkan rentang alamat yang akan digunakan saat menangani gateway internet VMware Engine (rentang alamat /26).

  7. Klik Create.

Status layanan berubah menjadi Enabled saat operasi selesai, biasanya setelah beberapa menit.

gcloud

Dengan menggunakan alat gcloud, jalankan perintah berikut untuk membuat kebijakan jaringan:

gcloud vmware network-policies create NETWORK_POLICY_NAME \
    --vmware-engine-network projects/PROJECT_ID/locations/LOCATIONS/vmwareEngineNetworks/NETWORK_ID \
    --edge-services-cidr=IP_RANGE \
    --location=LOCATION \
    --internet-access

Ganti kode berikut:

  • NETWORK_POLICY_NAME: nama untuk kebijakan jaringan ini.
  • NETWORK_ID: jaringan tempat kebijakan jaringan ini berlaku untuk
  • IP_RANGE: rentang CIDR yang akan digunakan untuk akses internet dan gateway akses IP eksternal, dalam notasi CIDR. Blok CIDR RFC 1918 dengan awalan "/26" wajib diisi.
  • LOCATION: global untuk jaringan lama atau region jaringan standar

API

curl -X POST -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies?networkPolicyId=NETWORK_POLICY_NAME

'{
  "vmwareEngineNetwork":"projects/PROJECT_ID/locations/LOCATION/vmwareEngineNetworks/NETWORK_ID",
  "edgeServiceCidr":IP_RANGE,
  "internetAccess: {
    "enabled": true
   },
   "externalIp": {
     "enabled": true
   }
}"

Ganti kode berikut:

  • NETWORK_POLICY_NAME: nama untuk kebijakan jaringan ini. ID ini harus dalam format REGION-default.
  • PROJECT_ID: project ID untuk permintaan ini
  • LOCATION: global untuk jaringan lama atau region jaringan standar
  • IP_RANGE: rentang CIDR yang akan digunakan untuk akses internet dan gateway akses IP eksternal, dalam notasi CIDR. Blok CIDR RFC 1918 dengan awalan "/26" wajib diisi.
  • NETWORK_ID: jaringan untuk kebijakan jaringan ini

Python

from google.api_core import operation
from google.cloud import vmwareengine_v1

def create_network_policy(
    project_id: str,
    region: str,
    ip_range: str,
    internet_access: bool,
    external_ip: bool,
) -> operation.Operation:
    """
    Creates a new network policy in a given network.

    Args:
        project_id: name of the project you want to use.
        region: name of the region you want to use. I.e. "us-central1"
        ip_range: the CIDR range to use for internet access and external IP access gateways,
            in CIDR notation. An RFC 1918 CIDR block with a "/26" suffix is required.
        internet_access: should internet access be allowed.
        external_ip: should external IP addresses be assigned.

    Returns:
        An operation object representing the started operation. You can call its .result() method to wait for
        it to finish.

    Raises:
        ValueError if the provided ip_range doesn't end with /26.
    """
    if not ip_range.endswith("/26"):
        raise ValueError(
            "The ip_range needs to be an RFC 1918 CIDR block with a '/26' suffix"
        )

    network_policy = vmwareengine_v1.NetworkPolicy()
    network_policy.vmware_engine_network = f"projects/{project_id}/locations/{region}/vmwareEngineNetworks/{region}-default"
    network_policy.edge_services_cidr = ip_range
    network_policy.internet_access.enabled = internet_access
    network_policy.external_ip.enabled = external_ip

    request = vmwareengine_v1.CreateNetworkPolicyRequest()
    request.network_policy = network_policy
    request.parent = f"projects/{project_id}/locations/{region}"
    request.network_policy_id = f"{region}-default"

    client = vmwareengine_v1.VmwareEngineClient()
    return client.create_network_policy(request)

Menonaktifkan layanan akses internet di suatu region

Untuk menonaktifkan layanan akses internet di suatu region, lakukan hal berikut:

Konsol

  1. Akses konsol Google Cloud.
  2. Dari navigasi utama, buka Kebijakan Jaringan.
  3. Di baris yang sesuai dengan kebijakan jaringan yang relevan, klik ikon More.
  4. Alihkan Internet access ke Disabled.

    • Anda harus menonaktifkan layanan IP publik sebelum dapat menonaktifkan akses internet.
    • Anda harus menghapus alamat IP publik yang dialokasikan dan gateway VPN point-to-site sebelum dapat menonaktifkan layanan IP publik.
  5. Klik Save.

Status layanan berubah menjadi Disabled saat operasi selesai, biasanya setelah beberapa menit.

gcloud

Dengan menggunakan alat gcloud, jalankan perintah berikut untuk memperbarui kebijakan jaringan:

gcloud vmware network-policies update NETWORK_POLICY_NAME \
  --no-internet-access \
  --location LOCATION

Ganti kode berikut:

  • NETWORK_POLICY_NAME: nama untuk kebijakan jaringan ini
  • LOCATION: global untuk jaringan lama atau region jaringan standar

API

curl -X PATCH -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies/NETWORK_POLICY_NAME?updateMask=internetAccess.enabled,externalIp.enabled -d "{
  "internetAccess: {
    "enabled": false
 },
  "externalIp": {
    "enabled": false
   }
}"

Ganti kode berikut:

  • PROJECT_ID: project ID untuk permintaan ini
  • LOCATION: global untuk jaringan lama atau region jaringan standar
  • NETWORK_POLICY_NAME: nama untuk kebijakan jaringan ini

Python

from google.api_core import operation
from google.cloud import vmwareengine_v1

def update_network_policy(
    project_id: str, region: str, internet_access: bool, external_ip: bool
) -> operation.Operation:
    """
    Updates a network policy in a given network.

    Args:
        project_id: name of the project you want to use.
        region: name of the region you want to use. I.e. "us-central1".
        internet_access: should internet access be allowed.
        external_ip: should external IP addresses be assigned.

    Returns:
        An operation object representing the started operation. You can call its .result() method to wait for
        it to finish.
    """

    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.UpdateNetworkPolicyRequest()
    request.update_mask = "internetAccess.enabled,externalIp.enabled"
    network_policy = vmwareengine_v1.NetworkPolicy()
    network_policy.name = (
        f"projects/{project_id}/locations/{region}/networkPolicies/{region}-default"
    )
    network_policy.vmware_engine_network = f"projects/{project_id}/locations/{region}/vmwareEngineNetworks/{region}-default"
    network_policy.internet_access.enabled = internet_access
    network_policy.external_ip.enabled = external_ip

    request.network_policy = network_policy

    return client.update_network_policy(request)

Gunakan koneksi lokal untuk akses internet workload

Jika ingin, Anda dapat mengarahkan traffic terikat internet dari VM workload di VMware Engine melalui koneksi lokal. Traffic diarahkan berdasarkan status berikut:

  • Iklan rute default (0.0.0.0/0) dari lokal
  • Layanan IP publik VMware Engine
  • Layanan akses internet VMware Engine
  • Kontrol Layanan VPC pada koneksi peering VPC antara jaringan VPC Anda dan VMware Engine

Aktifkan perutean traffic internet melalui koneksi lokal

Untuk mengakses internet dari VM workload melalui koneksi lokal, Anda harus menyelesaikan dua langkah:

  1. Iklankan rute default (0.0.0.0/0) dari lokal melalui koneksi lokal (Cloud VPN atau Cloud Interconnect). Periksa gateway Cloud VPN atau Cloud Router tempat koneksi lokal ke VPN Anda dihentikan.
  2. Nonaktifkan akses internet dan layanan IP publik untuk jaringan VMware Engine.

Konsol

  1. Akses konsol Google Cloud.
  2. Dari navigasi utama, buka Kebijakan Jaringan.
  3. Di baris yang sesuai dengan kebijakan jaringan yang relevan, klik ikon More.
  4. Alihkan Public IP ke Disabled.

  5. Alihkan Internet access ke Disabled.

  6. Klik Save.

  7. Jika menggunakan jaringan VMware Engine Lama: aktifkan kontrol layanan VPC pada koneksi peering VPC antara jaringan VPC dan VMware Engine Anda menggunakan perintah gcloud services vpc-peerings enable-vpc-service-controls:

    gcloud services vpc-peerings enable-vpc-service-controls \
       --network=VPC_NETWORK \
       --service=servicenetworking.googleapis.com

gcloud

Dengan menggunakan alat gcloud, jalankan perintah berikut untuk memperbarui kebijakan jaringan:

gcloud vmware network-policies update NETWORK_POLICY_NAME \
  --no-internet-access \
  --no-external-ip-address \
  --location LOCATION

Ganti kode berikut:

  • NETWORK_POLICY_NAME: nama untuk kebijakan jaringan ini
  • LOCATION: global untuk jaringan lama atau region jaringan standar

Jika menggunakan jaringan VMware Engine Lama: aktifkan kontrol layanan VPC pada koneksi peering VPC antara jaringan VPC dan VMware Engine Anda menggunakan perintah gcloud services vpc-peerings enable-vpc-service-controls:

gcloud services vpc-peerings enable-vpc-service-controls \
   --network=VPC_NETWORK \
   --service=servicenetworking.googleapis.com

API

curl -X PATCH -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies/NETWORK_POLICY_NAME?updateMask=internetAccess.enabled,externalIp.enabled

"{
  "internetAccess: {
    "enabled": false
   },
  "externalIp: {
    "enabled": false
   }
}"

Jika menggunakan jaringan VMware Engine Lama: aktifkan kontrol layanan VPC pada koneksi peering VPC antara jaringan VPC dan VMware Engine Anda menggunakan perintah gcloud services vpc-peerings enable-vpc-service-controls:

gcloud services vpc-peerings enable-vpc-service-controls \
   --network=VPC_NETWORK_NAME \
   --service=servicenetworking.googleapis.com

Python

Setel internet_access dan external_ip ke False.

from google.api_core import operation
from google.cloud import vmwareengine_v1

def update_network_policy(
    project_id: str, region: str, internet_access: bool, external_ip: bool
) -> operation.Operation:
    """
    Updates a network policy in a given network.

    Args:
        project_id: name of the project you want to use.
        region: name of the region you want to use. I.e. "us-central1".
        internet_access: should internet access be allowed.
        external_ip: should external IP addresses be assigned.

    Returns:
        An operation object representing the started operation. You can call its .result() method to wait for
        it to finish.
    """

    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.UpdateNetworkPolicyRequest()
    request.update_mask = "internetAccess.enabled,externalIp.enabled"
    network_policy = vmwareengine_v1.NetworkPolicy()
    network_policy.name = (
        f"projects/{project_id}/locations/{region}/networkPolicies/{region}-default"
    )
    network_policy.vmware_engine_network = f"projects/{project_id}/locations/{region}/vmwareEngineNetworks/{region}-default"
    network_policy.internet_access.enabled = internet_access
    network_policy.external_ip.enabled = external_ip

    request.network_policy = network_policy

    return client.update_network_policy(request)

Jika menggunakan jaringan VMware Engine Lama: aktifkan kontrol layanan VPC pada koneksi peering VPC antara jaringan VPC dan VMware Engine Anda menggunakan perintah gcloud services vpc-peerings enable-vpc-service-controls:

gcloud services vpc-peerings enable-vpc-service-controls \
   --network=VPC_NETWORK \
   --service=servicenetworking.googleapis.com

Mengaktifkan Kontrol Layanan VPC sangat penting untuk mengarahkan traffic internet melalui koneksi lokal atau VPC di project Anda.

Jika Kontrol Layanan VPC diaktifkan, Google Cloud akan membuat perubahan perutean berikut di jaringan VPC produsen layanan (dalam hal ini, project tenant layanan yang di-peering dengan VMware Engine):

  • Menghapus rute default IPv4 (tujuan 0.0.0.0/0, gateway internet default next hop).
  • Memulai penerusan traffic internet menggunakan rute default peering VPC.

Contoh:

Guna mengaktifkan Kontrol Layanan VPC untuk peering koneksi jaringan bernama "my-network" pada project saat ini, gunakan perintah gcloud services vpc-peerings enable-vpc-service-controls:

gcloud services vpc-peerings enable-vpc-service-controls \
    --network=my-network \
    --service=servicenetworking.googleapis.com

Nonaktifkan pemilihan rute traffic internet melalui koneksi lokal

Untuk menonaktifkan perutean traffic internet dari VM workload melalui koneksi lokal, hentikan iklan rute default (0.0.0.0/0) dan nonaktifkan Kontrol Layanan VPC pada koneksi peering VPC.

Jika menggunakan jaringan VMware Engine Lama: nonaktifkan Kontrol Layanan VPC pada koneksi peering VPC antara jaringan VPC dan VMware Engine Anda, gunakan perintah gcloud services vpc-peerings disable-vpc-service-controls:

gcloud services vpc-peerings disable-vpc-service-controls \
    --network=VPC_NETWORK_NAME \
    --service=servicenetworking.googleapis.com

Langkah selanjutnya