Mengonfigurasi akses internet untuk VM workload

Anda mengonfigurasi layanan jaringan akses internet untuk workload VMware di Google Cloud VMware Engine berdasarkan per wilayah. Anda dapat mengarahkan traffic yang terikat internet dari VM workload Anda dengan menggunakan edge internet Google Cloudatau koneksi lokal.

VMware Engine menawarkan metode berikut untuk mengonfigurasi akses internet bagi VM workload:

VM beban kerja yang dapat mengakses internet juga dapat mengakses Google Cloud layanan 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 region
  • Hingga 100 aturan akses eksternal per kebijakan jaringan
  • Throughput hingga 2 Gbps untuk setiap region
  • Protokol TCP, UDP, dan ICMP

Layanan jaringan akses internet tidak mendukung kemampuan Application Level Gateway (ALG).

Sebelum memulai

Untuk membuat perubahan pada 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 layanan jaringan IP publik atau akses internet, 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 harus memenuhi persyaratan berikut:

  • Mematuhi RFC 1918 sebagai rentang pribadi.
  • Tidak tumpang-tindih dengan rentang alamat VMware Engine lainnya, seperti rentang alamat yang digunakan untuk appliance pengelolaan atau segmen NSX.
  • Tidak tumpang-tindih dengan rentang alamat yang diiklankan ke VMware Engine, seperti yang digunakan untuk subnet jaringan Virtual Private Cloud (VPC) atau jaringan lokal.
  • Tentukan 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 konfigurasi alat seperti yang dijelaskan di bawah.

gcloud

  1. Tetapkan project ID default Anda:

    gcloud config set project PROJECT_ID
    
  2. Tetapkan 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 set dokumentasi ini menggunakan alat command line cURL untuk mengirim kueri ke API. Token akses yang valid diperlukan sebagai bagian dari permintaan cURL request. 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. Pastikan TOKEN ditetapkan 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. Untuk 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. Konfigurasi informasi ADC dengan menjalankan perintah tersebut di shell Anda:

    gcloud auth application-default login
    

    Atau, gunakan file kunci Akun Layanan:

    export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

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

Mengonfigurasi layanan akses internet

Untuk memberikan akses internet ke VM workload Anda, buat atau perbarui 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. Di konsol Google Cloud , buka halaman Network policies.

    Buka Kebijakan jaringan

  2. Klik Pilih project, lalu pilih organisasi, folder, atau project yang berisi jaringan VMware Engine yang ingin Anda aktifkan layanan akses internetnya.

  3. Klik Buat untuk membuat kebijakan baru. Jika Anda ingin mengedit kebijakan jaringan yang ada, klik ikon Lainnya di akhir baris, lalu pilih Edit.

  4. Isi detail kebijakan jaringan Anda, termasuk memilih jaringan dan region tempat kebijakan diterapkan.

  5. Aktifkan Akses internet ke Diaktifkan dan, secara opsional, aktifkan Layanan alamat IP eksternal.

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

  7. Klik Create.

Status layanan akan berubah menjadi Diaktifkan 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 diterapkan
  • 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" diperlukan.
  • 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. Nilai 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" diperlukan.
  • 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)

Panduan untuk Jaringan yang Dioptimalkan Mobilitas (MON) HCX

Jika Anda memigrasikan VM menggunakan HCX dengan Mobility Optimized Networking (MON), Anda memerlukan konfigurasi perutean tertentu untuk memastikan konektivitas internet.

Jika Anda telah mengaktifkan MON untuk segmen Layer 2 Extension (L2E), VMware Engine tidak akan otomatis mengiklankan rute untuk VM yang dimigrasikan ke layanan internetnya. Untuk memastikan VM ini dapat mengakses internet, Anda harus mengaktifkan redistribusi rute statis ke BGP di router Tingkat-1.

Langkah ini diperlukan untuk mengiklankan rute segmen yang mendukung MON, yang memungkinkan segmen tersebut merutekan traffic internet melalui lingkungan VMware Engine. Tanpa konfigurasi ini, VM di segmen ini tidak dapat mengakses internet publik.

Menonaktifkan layanan akses internet di suatu region

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

Konsol

  1. Di konsol Google Cloud , buka halaman Network policies.

    Buka Kebijakan jaringan

  2. Klik Pilih project, lalu pilih organisasi, folder, atau project yang berisi jaringan VMware Engine yang ingin Anda nonaktifkan layanan akses internetnya.

  3. Di baris yang sesuai dengan kebijakan jaringan yang relevan, klik ikon Lainnya.

  4. Alihkan Akses internet ke Dinonaktifkan.

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

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

gcloud

Dengan menggunakan alat gcloud, jalankan perintah berikut untuk mengupdate 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)

Menggunakan VPC di project Anda untuk akses internet workload

Secara opsional, Anda dapat mengarahkan traffic yang terikat internet dari VM workload di VMware Engine melalui VPC dalam project Anda. Opsi ini hanya tersedia untuk jaringan VMware Engine standar yang di-peering dengan jaringan VPC Anda.

Untuk mengakses internet dari VM workload melalui VPC di project Anda, Anda harus menyelesaikan langkah-langkah berikut:

  1. Konfigurasi akses internet di VPC Anda.
    • Jika Anda menggunakan Cloud NAT: Pastikan Cloud NAT dikonfigurasi untuk memberikan akses internet ke resource di jaringan VPC Anda. Tidak ada rute khusus untuk 0.0.0.0/0 yang diperlukan, karena Cloud NAT menyediakan konektivitas internet secara langsung.
    • Jika Anda tidak menggunakan Cloud NAT: Pastikan Anda memiliki rute di VPC untuk tujuan 0.0.0.0/0 yang mengarahkan traffic ke next hop yang menyediakan akses internet, seperti firewall atau proxy berbasis instance. Selain itu, Anda harus mengonfigurasi Peering Jaringan VPC untuk bertukar rute kustom. Perbarui koneksi peering untuk mengekspor rute kustom dari VPC Anda dan mengimpor rute kustom ke VPC tersebut.
  2. Nonaktifkan layanan IP publik dan akses internet untuk jaringan VMware Engine dengan mengikuti langkah-langkah di Menonaktifkan layanan akses internet di suatu region.

Setelah Anda menyelesaikan langkah-langkah ini, traffic yang terikat ke internet dari VM workload Anda akan dirutekan melalui koneksi peering ke jaringan VPC Anda dan menggunakan solusi akses internet yang dikonfigurasi di sana.

Untuk mengetahui detail selengkapnya, lihat Mengonfigurasi akses internet untuk VM workload menggunakan VPC.

Menggunakan koneksi lokal untuk akses internet workload

Secara opsional, Anda dapat mengarahkan traffic yang terikat internet dari VM workload di VMware Engine melalui koneksi lokal. Cara VMware Engine mengarahkan traffic bergantung pada status berikut:

  • Pemberitahuan 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 dan VMware Engine (khusus jaringan VMware Engine lama)

Mengaktifkan perutean traffic internet melalui koneksi lokal

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

  1. Mengiklankan 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 layanan IP publik dan akses internet untuk jaringan VMware Engine.

Konsol

  1. Di konsol Google Cloud , buka halaman Network policies.

    Buka Kebijakan jaringan

  2. Klik Pilih project, lalu pilih organisasi, folder, atau project yang berisi jaringan VMware Engine yang ingin Anda aktifkan layanan akses internetnya.

  3. Di baris yang sesuai dengan kebijakan jaringan yang relevan, klik ikon Lainnya.

  4. Alihkan Public IP ke Disabled.

  5. Alihkan Akses internet ke Dinonaktifkan.

  6. Klik Simpan.

  7. Jika menggunakan jaringan VMware Engine Lama: aktifkan kontrol layanan VPC pada koneksi peering VPC antara jaringan VPC dan VMware Engine 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 mengupdate 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 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 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

Tetapkan 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 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

Jika menggunakan jaringan Google Cloud VMware Engine lama, Anda harus mengaktifkan Kontrol Layanan VPC untuk merutekan akses internet VEN lama melalui koneksi lokal atau VPC di project Anda. Persyaratan ini hanya berlaku untuk jaringan Google Cloud VMware Engine lama, bukan VEN standar.

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

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

Contoh:

Untuk mengaktifkan Kontrol Layanan VPC untuk koneksi yang melakukan peering pada jaringan bernama "my-network" di 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

Menonaktifkan perutean traffic internet melalui koneksi lokal

Untuk menonaktifkan perutean traffic internet dari VM workload Anda melalui koneksi lokal, hentikan pemberitahuan 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, 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 berikutnya