Menggunakan Public NAT dengan Compute Engine
Halaman ini menunjukkan demonstrasi gateway NAT Publik yang menyediakan layanan penafsiran alamat jaringan untuk instance VM Compute Engine. Sebelum Anda memulai, baca Ringkasan NAT publik.
Prasyarat
Anda harus melakukan hal berikut sebelum menyiapkan NAT Publik.
Mendapatkan izin IAM
Peran roles/compute.networkAdmin memberi Anda izin untuk membuat gateway NAT di Cloud Router, mencadangkan dan menetapkan alamat IP NAT, serta menentukan subnetwork (subnet) yang traffic-nya harus menggunakan terjemahan alamat jaringan oleh gateway NAT.
Menyiapkan Google Cloud
Sebelum memulai, siapkan item berikut di Google Cloud.
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
Contoh
Berikut adalah contoh end-to-end yang menunjukkan contoh gateway NAT Publik dan contoh VM Compute Engine yang menggunakan gateway NAT Publik.
Langkah 1: Buat jaringan dan subnet VPC
Jika sudah memiliki jaringan dan subnet, Anda dapat melewati langkah ini.
Konsol
Di konsol Google Cloud , buka halaman VPC networks.
Klik Create VPC network.
Masukkan Nama
custom-network1.Di bagian Subnets, tetapkan Subnet creation mode ke Custom.
Di bagian New subnet, masukkan Name
subnet-us-east-192.Di Region, pilih us-east4.
Masukkan IP address range
192.168.1.0/24.Klik Done, lalu klik Create.
gcloud
Buat jaringan VPC mode kustom baru di project Anda:
gcloud compute networks create custom-network1 \ --subnet-mode customTentukan awalan subnet untuk region pertama Anda. Dalam contoh ini, kita menetapkan
192.168.1.0/24ke regionus-east4.gcloud compute networks subnets create subnet-us-east-192 \ --network custom-network1 \ --region us-east4 \ --range 192.168.1.0/24
Terraform
Anda dapat menggunakan modul Terraform untuk membuat jaringan Virtual Private Cloud (VPC) dan subnet kustom.
Langkah 2: Buat instance VM tanpa alamat IP eksternal
Konsol
Di konsol Google Cloud , buka halaman VM instances.
Klik Create instance.
Tentukan Name
nat-test-1untuk instance Anda.Tetapkan Region ke us-east4.
Setel Zone ke us-east4-c.
Klik link Management, security, disks, networking, sole tenancy.
Klik tab Networking.
Di bagian Network interfaces, klik Edit untuk antarmuka default VM.
- Setel Network ke
custom-network1. - Tetapkan Subnetwork ke
subnet-us-east-192. - Tetapkan External IP ke None.
- Klik Done.
- Setel Network ke
Untuk membuat dan memulai instance, klik Create.
gcloud
gcloud compute instances create nat-test-1 \
--image-family debian-9 \
--image-project debian-cloud \
--network custom-network1 \
--subnet subnet-us-east-192 \
--zone us-east4-c \
--no-addressTerraform
Anda dapat menggunakan resource Terraform untuk membuat instance VM.
Langkah 3: Buat aturan firewall yang mengizinkan koneksi SSH
Konsol
Di konsol Google Cloud , buka halaman Firewall policies.
Klik Create firewall rule.
Masukkan Nama
allow-ssh.Tentukan Network
custom-network1.Setel Direction of traffic ke Ingress.
Setel Action on match ke Allow.
Tetapkan Targets ke All instances in the network.
Setel Source filter ke IPv4 ranges.
Tetapkan Source IP ranges ke
35.235.240.0/20.Tetapkan Protocols and ports ke Specified protocols and ports.
Pilih kotak centang tcp, lalu masukkan port
22.Klik Create.
gcloud
gcloud compute firewall-rules create allow-ssh \
--network custom-network1 \
--source-ranges 35.235.240.0/20 \
--allow tcp:22Terraform
Anda dapat menggunakan resource Terraform untuk membuat aturan firewall.
Langkah 4: Buat izin SSH IAP untuk instance pengujian Anda
Pada langkah selanjutnya, gunakan Identity-Aware Proxy (IAP) untuk terhubung ke instance pengujian Anda.
Konsol
Di konsol Google Cloud , buka halaman Identity-Aware Proxy.
Pilih tab SSH and TCP resources.
Untuk memperbarui izin anggota pada resource, centang kotak di samping All Tunnel Resources > us-east4-c > nat-test-1.
Di panel kanan, klik Tambahkan anggota.
Untuk memberikan akses ke resource kepada pengguna, grup, atau akun layanan, di kolom Anggota baru, tentukan alamat email mereka.
Jika hanya menguji fitur ini, Anda dapat memasukkan alamat email Anda sendiri.
Untuk memberikan akses anggota ke resource melalui fitur penerusan TCP Cloud IAP, di daftar drop-down Role, pilih Cloud IAP > IAP-secured Tunnel User.
Klik Simpan.
gcloud
Perintah ini memberikan akses SSH menggunakan IAP ke semua instance VM dalam project Anda. Jika Anda ingin memberikan akses SSH menggunakan IAP ke VM tertentu, gunakan petunjuk Google Cloud konsol.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=MEMBER_INFO \
--role=roles/iap.tunnelResourceAccessorGanti kode berikut:
PROJECT_ID: project ID AndaMEMBER_INFO: daftar pasangantype:emailanggota yang dipisahkan koma. Contoh:- Untuk pengguna perorangan:
user:test-user@example.com - Untuk grup:
group:admins@example.com - Untuk akun layanan:
serviceAccount:test123@example.domain.com
- Untuk pengguna perorangan:
Terraform
Anda dapat menggunakan resource Terraform untuk membuat izin SSH IAP bagi instance pengujian Anda.
Langkah 5: Login ke nat-test-1 dan konfirmasi bahwa perangkat tidak dapat terhubung ke internet
Konsol
Di konsol Google Cloud , buka halaman VM instances.