Private Service Connect untuk Google API

1. Pengantar

Dengan Private Service Connect, Anda dapat membuat endpoint pribadi menggunakan alamat IP internal global dalam jaringan VPC untuk mengakses Google API. Anda bisa menetapkan nama DNS ke alamat IP internal tersebut dengan nama yang bermakna seperti storage-pscendpoint.p.googleapis.com dan bigtable-adsteam.p.googleapis.com. Daripada mengirim permintaan API ke endpoint layanan publik seperti storage.googleapis.com, Anda dapat mengirim permintaan tersebut ke endpoint Private Service Connect yang bersifat pribadi dan internal untuk jaringan VPC Anda.

Nama dan alamat IP ini bersifat internal untuk jaringan VPC Anda dan setiap jaringan lokal yang terhubung menggunakan tunnel Cloud VPN atau lampiran Cloud Interconnect (VLAN).

Anda dapat mengontrol traffic mana yang menuju ke endpoint, dan dapat menunjukkan bahwa traffic tetap berada di dalam Google Cloud.

Yang akan Anda pelajari

  • Kasus penggunaan koneksi layanan pribadi
  • Persyaratan jaringan
  • API yang didukung
  • Membuat endpoint Private Service Connect
  • Membuat bucket Cloud Storage
  • Membuat dan mengupdate zona pribadi Cloud DNS
  • Membuat NAT GW untuk mengakses googleapis publik
  • Membuat dan mengupdate file konfigurasi BOTO
  • Jalankan daftar gsutil di VM1 yang di-resolve terhadap endpoint layanan PSC Anda
  • Jalankan gsutil list pada VM2 yang di-resolve terhadap googleapis.com publik.
  • Menggunakan Tcpdump untuk memvalidasi resolusi DNS

Yang Anda butuhkan

  • Mengetahui editor DNS, nano, atau vi

2. Kasus penggunaan koneksi layanan pribadi

Anda dapat membuat beberapa endpoint Private Service Connect di jaringan VPC yang sama. Tidak ada batasan bandwidth untuk endpoint tertentu. Karena endpoint Private Service Connect menggunakan alamat IP internal global, endpoint tersebut dapat digunakan oleh resource apa pun di jaringan VPC Anda.

Dengan beberapa endpoint, Anda dapat menentukan jalur jaringan yang berbeda menggunakan Cloud Router dan aturan firewall.

  • Anda dapat membuat aturan firewall untuk mencegah beberapa VM mengakses Google API melalui endpoint Private Service Connect, sekaligus mengizinkan VM lain memiliki akses.
  • Anda dapat memiliki aturan firewall pada instance VM yang melarang semua traffic ke internet; traffic yang dikirim ke endpoint Private Service Connect masih akan menjangkau Google.
  • Jika memiliki host lokal yang terhubung ke VPC menggunakan tunnel Cloud VPN atau lampiran Cloud Interconnect (VLAN), Anda dapat mengirim beberapa permintaan melalui tunnel atau VLAN saat mengirim permintaan lain melalui internet publik. Konfigurasi ini memungkinkan Anda melewati tunnel atau VLAN untuk layanan seperti Google Buku yang tidak didukung oleh Akses Google Pribadi. Untuk membuat konfigurasi ini, buat endpoint Private Service Connect, beri tahu alamat IP endpoint Private Service Connect menggunakan iklan rute kustom Cloud Router, dan aktifkan kebijakan penerusan masuk Cloud DNS. Aplikasi dapat mengirim beberapa permintaan melalui tunnel Cloud VPN atau lampiran Cloud Interconnect (VLAN) dengan menggunakan nama endpoint Private Service Connect, dan lainnya melalui internet dengan menggunakan nama DNS default.
  • Jika Anda menghubungkan jaringan lokal ke jaringan VPC menggunakan beberapa lampiran Cloud Interconnect (VLAN), Anda dapat mengirim beberapa traffic dari infrastruktur lokal melalui satu VLAN dan sisanya melalui satu VLAN, seperti yang ditunjukkan pada gambar 2. Hal ini memungkinkan Anda menggunakan jaringan area luas Anda sendiri, bukan jaringan Google, dan untuk mengontrol perpindahan data guna memenuhi persyaratan geografis. Untuk membuat konfigurasi ini, buat dua endpoint Private Service Connect. Buat pemberitahuan rute kustom untuk endpoint pertama pada sesi BGP Cloud Router yang mengelola VLAN pertama, dan buat iklan rute kustom yang berbeda untuk endpoint kedua pada sesi BGP Cloud Router yang mengelola VLAN kedua. Host lokal yang dikonfigurasi untuk menggunakan nama endpoint Private Service Connect akan mengirim traffic melalui lampiran Cloud Interconnect (VLAN) yang sesuai.
  • Anda juga dapat menggunakan beberapa lampiran Cloud Interconnect (VLAN) dalam topologi aktif/aktif. Jika Anda mengiklankan alamat IP endpoint Private Service Connect yang sama menggunakan pemberitahuan rute kustom untuk sesi BGP di Cloud Router yang mengelola VLAN, maka paket yang dikirim dari sistem lokal ke endpoint akan dirutekan melalui VLAN menggunakan ECMP.

5e142c2fbf6f010e.pngS

Gambar 1. Dengan mengonfigurasi Private Service Connect, Cloud Router, dan host lokal, Anda dapat mengontrol lampiran Cloud Interconnect (VLAN) mana yang digunakan untuk mengirim traffic ke Google API.

3. Persyaratan jaringan

Untuk menggunakan Private Service Connect, instance virtual machine (VM) tanpa alamat IP eksternal harus memiliki antarmuka utamanya di subnet dengan Akses Google Pribadi diaktifkan.

VM dengan alamat IP eksternal dapat mengakses Google API dan layanan Google menggunakan endpoint Private Service Connect, terlepas dari apakah Akses Google Pribadi diaktifkan untuk subnetnya atau tidak. Konektivitas ke endpoint Private Service Connect tetap berada dalam jaringan Google.

Endpoint Private Service Connect tidak dapat diakses dari jaringan VPC yang di-peering.

API yang didukung

Saat membuat endpoint Private Service Connect, Anda memilih paket API yang perlu diakses: all-apis atau vpc-sc.

Paket API memberikan akses ke API yang sama yang tersedia melalui VIP Akses Google Pribadi.

  • Paket all-apis menyediakan akses ke API yang sama dengan private.googleapis.com.
  • Paket vpc-sc menyediakan akses ke API yang sama dengan restricted.googleapis.com.

4. Topologi Codelab & kasus penggunaan

2ac275eb86f26338.pngS

Gambar1 - Topologi Codelab

Kasus penggunaan Codelab -

Pelanggan membutuhkan kombinasi akses googleapis pribadi (interkoneksi) dan publik untuk transfer data penyimpanan cloud. Untuk memenuhi persyaratan pelanggan, kami akan men-deploy Private Service Connect yang terdiri dari alamat /32 unik, konfigurasi BOTO, dan pembaruan data DNS. Mesin virtual 1 akan menggunakan PSC untuk akses bucket penyimpanan cloud; sebaliknya, VM2 akan menggunakan rentang IP googleapis.com publik melalui NAT GW.

Semua aspek lab di-deploy dalam Google Cloud Platform, tetapi kasus penggunaan yang sama berlaku untuk deployment Hybrid Cloud yang memerlukan pemisahan traffic.

5. Penyiapan dan Persyaratan

Penyiapan lingkungan mandiri

  1. Login ke Cloud Console lalu buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.

96a9c957bc475304.png

b9a10ebdf5b5a448.png

a1e3c01a38fa61c2.png

Ingat project ID, nama unik di semua project Google Cloud (maaf, nama di atas telah digunakan dan tidak akan berfungsi untuk Anda!) Project ID tersebut selanjutnya akan dirujuk di codelab ini sebagai PROJECT_ID.

  1. Selanjutnya, Anda harus mengaktifkan penagihan di Cloud Console untuk menggunakan resource Google Cloud.

Menjalankan operasi dalam codelab ini seharusnya tidak memerlukan banyak biaya, bahkan mungkin tidak sama sekali. Pastikan untuk mengikuti petunjuk yang ada di bagian "Membersihkan" yang memberi tahu Anda cara menonaktifkan resource sehingga tidak menimbulkan penagihan di luar tutorial ini. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai$300 USD.

Mulai Cloud Shell

Meskipun Google Cloud dapat dioperasikan dari jarak jauh menggunakan laptop Anda, dalam codelab ini, Anda akan menggunakan Google Cloud Shell, lingkungan command line yang berjalan di Cloud.

Dari GCP Console, klik ikon Cloud Shell di toolbar kanan atas:

bce75f34b2c53987.png

Hanya perlu waktu beberapa saat untuk penyediaan dan terhubung ke lingkungan. Jika sudah selesai, Anda akan melihat tampilan seperti ini:

f6ef2b5f13479f3a.png

Mesin virtual ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Semua pekerjaan Anda di lab ini dapat dilakukan hanya dengan browser.

6. Sebelum memulai

Mengaktifkan API

Di dalam Cloud Shell, pastikan project ID Anda sudah disiapkan

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname

Aktifkan semua layanan yang diperlukan

gcloud services enable compute.googleapis.com
gcloud services enable servicedirectory.googleapis.com
gcloud services enable dns.googleapis.com

7. Buat jaringan VPC

Jaringan VPC

Dari Cloud Shell

gcloud compute networks create psc-lab --subnet-mode custom

Buat Subnet

Dari Cloud Shell

gcloud compute networks subnets create psclab-subnet \
--network psc-lab --range 10.0.0.0/24 --region us-central1 --enable-private-ip-google-access

Membuat Aturan Firewall

Agar IAP dapat terhubung ke instance VM Anda, buat aturan firewall yang:

  • Berlaku untuk semua instance VM yang Anda inginkan agar dapat diakses dengan menggunakan IAP.
  • Mengizinkan traffic masuk dari rentang IP 35.235.240.0/20. Rentang ini berisi semua alamat IP yang digunakan IAP untuk penerusan TCP.

Dari Cloud Shell

gcloud compute firewall-rules create psclab-ssh \
    --network psc-lab --allow tcp:22 --source-ranges=35.235.240.0/20

Membuat instance Cloud NAT

Membuat Cloud Router

Dari Cloud Shell

gcloud compute routers create crnat \
    --network psc-lab \
    --asn 65000 \
    --region us-central1

Membuat Cloud NAT

Dari Cloud Shell

gcloud compute routers nats create cloudnat \
    --router=crnat \
    --auto-allocate-nat-external-ips \
    --nat-all-subnet-ip-ranges \
    --enable-logging \
    --region us-central1

8. Membuat endpoint Private Service Connect

Saat mengonfigurasi IP endpoint Private Service Connect <pscendpointip>, Anda harus memberikan alamat IP unik yang tidak ditentukan di VPC Anda.

Dari Cloud Shell

gcloud compute addresses create psc-ip \
    --global \
    --purpose=PRIVATE_SERVICE_CONNECT \
    --addresses=192.168.255.250 \
    --network=psc-lab

Simpan 'pscendpointip' selama durasi lab

pscendpointip=$(gcloud compute addresses list --filter=name:psc-ip --format="value(address)")

echo $pscendpointip

Buat aturan penerusan untuk menghubungkan endpoint ke Google API dan layanan Google.

Dari Cloud Shell

gcloud compute forwarding-rules create pscendpoint \
    --global \
    --network=psc-lab \
    --address=psc-ip \
    --target-google-apis-bundle=all-apis

Mencantumkan endpoint Private Service Connect yang dikonfigurasi

Dari Cloud Shell

gcloud compute forwarding-rules list  \
--filter target="(all-apis OR vpc-sc)" --global

Menjelaskan endpoint Private Service Connect yang dikonfigurasi

Dari Cloud Shell

gcloud compute forwarding-rules describe \
    pscendpoint --global

9. Membuat bucket

Buat bucket Cloud Storage dan ganti BUCKET_NAME dengan nama unik global yang Anda inginkan.

Dari Cloud Shell

gsutil mb  -l us-central1 -b on gs://BUCKET_NAME

Simpan ‘BUCKET_NAME' selama durasi lab

BUCKET_NAME=YOUR BUCKET NAME
echo $BUCKET_NAME

10. Konfigurasi DNS

Saat Anda membuat endpoint Private Service Connect, Direktori Layanan akan membuat data DNS untuk API dan layanan yang disediakan menggunakan endpoint tersebut.

Data DNS mengarah ke alamat IP endpoint Private Service Connect Anda, dan dalam format ini: SERVICE-ENDPOINT.p.googleapis.com.

Anda dapat menggunakan nama DNS ini dalam permintaan API untuk mengarahkan permintaan ke endpoint Private Service Connect. Anda juga dapat menggunakan nama DNS ini di header Host permintaan Anda.

Jika Anda ingin menggunakan endpoint Private Service Connect dengan klien atau aplikasi yang mengakses Google API dan layanan Google, perbarui klien atau aplikasi Anda agar menggunakan nama DNS p.googleapis.com.

Lihat dokumentasi library klien atau klien Anda untuk mengetahui detailnya. Contoh:

  • Python: Anda dapat mengonfigurasi api_endpoint di Class opsi klien dalam paket google-api-core.
  • Go: Anda dapat mengonfigurasi WithEndpoint di Paket opsi klien dalam paket api.
  • gcloud: Anda dapat mengonfigurasi api_endpoint_overrides menggunakan perintah ini. gcloud config set api_endpoint_overrides/SERVICE ENDPOINT_URL

Misalnya: gcloud config set api_endpoint_overrides/storage https://storage-xyz.p.googleapis.com/storage/v1/

Jika Anda tidak dapat mengonfigurasi klien atau aplikasi untuk menggunakan endpoint yang berbeda, buat data DNS agar cocok dengan nama DNS default. Misalnya, storage.googleapis.com. Lihat Membuat data DNS menggunakan nama DNS default.

Validasi data DNS

Dari konsol cloud, validasi entri dns yang dihasilkan yang terletak di bagian Layanan Jaringan → Cloud DNS. Catat nama DNS yang dihasilkan ‘p.googleapis.com'.

11. Membuat Virtual Machine

Membuat Virtual Machine (psc-instance-1) yang digunakan untuk memvalidasi Private Service Connect

Dari Cloud Shell

  gcloud compute instances create psc-instance-1 \
    --subnet psclab-subnet \
    --zone us-central1-a \
    --image=centos-7-v20210122 \
    --image-project=centos-cloud \
    --no-address \
    --metadata=startup-script=yum\ install\ tcpdump\ -y$'\n'yum\ install\ bind-utils\ -y$'\n'yum\ install\ nano\ -y 

Login ke instance VM (psc-instance-1)

Jalankan SSH ke VM melalui Cloud Shell

gcloud compute ssh --zone "us-central1-a" "psc-instance-1" --project "$projectname"

Buat terminal Cloud Shell tambahan dengan mengklik + (screenshot di bawah) tiga kali.

69ea94e1527912bb.pngS

Membuat Virtual Machine (psc-instance-2) yang digunakan untuk memvalidasi Googleapis publik

Dari tab 2

  gcloud compute instances create psc-instance-2 \
    --subnet psclab-subnet \
    --zone us-central1-a \
    --image=centos-7-v20210122 \
    --image-project=centos-cloud \
    --no-address \
    --metadata=startup-script=yum\ install\ tcpdump\ -y$'\n'yum\ install\ bind-utils\ -y$'\n'yum\ install\ nano\ -y 

Dari tab 2 SSH ke VM melalui Cloud Shell

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname


gcloud compute ssh --zone "us-central1-a" "psc-instance-2" --project "$projectname"

Dari tab 3 SSH ke psc-instance-1 melalui Cloud Shell

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname


gcloud compute ssh --zone "us-central1-a" "psc-instance-1" --project "$projectname"

Dari tab 4 Shell SSH ke psc-instance-2 melalui Cloud Shell

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname


gcloud compute ssh --zone "us-central1-a" "psc-instance-2" --project "$projectname"

12. Memverifikasi perilaku Gsutil yang ada

Dari tab 4 (psc-instance-2), mulai tcpdump dan pantau traffic DNS

sudo tcpdump -vv -i eth0 port 53

Periksa pencarian DNS bucket penyimpanan dari tab 2 (psc-instance-2)

BUCKET_NAME=YOUR BUCKET NAME
echo $BUCKET_NAME
gsutil -D ls gs://$BUCKET_NAME

Periksa gsutil debug, HOST storage.googleapis.com digunakan untuk resolusi DNS

<snip>
send: 'GET /storage/v1/b/$BUCKET_NAME/o?delimiter=%2F&projection=noAcl&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&alt=json&maxResults=1000 HTTP/1.1\r\nHost: storage.googleapis.com\r\ncontent-length: 0\r\nauthorization: Bearer ya29.c.KpkB7wfaMjfc_WXEKCeNF4Md0fEHnfDU7tqBf3cd0u43yEmYXqj8fX_X5wWdNdDVH6k1EkjeAeIJDzKGvyjPOkf1Io2kVeUqYX69sDv53huW1NslffjAHKchbZ0CP3Cg83TS3Pa55jLcuE0TLbYycVrgSbD3H90LaapUGbWD3kj4IsJLf9J8R98Bqobu8HZwwqk92hlZ4zVzRqOM\r\naccept-encoding: gzip, deflate\r\naccept: application/json\r\nuser-agent: apitools Python/2.7.5 gsutil/4.57 (linux2) analytics/disabled interactive/True command/ls google-cloud-sdk/324.0.0\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
<snip>

Dari tab 4 (psc-instance-2), pastikan data DNS publik GoogleAPI.com A digunakan saat mengakses bucket penyimpanan.

metadata.google.internal.domain > psc-instance-2.c.yourprojectname.internal.33973: [udp sum ok] 36442 q: A? storage.googleapis.com. 11/0/0 storage.googleapis.com. A 108.177.111.128, storage.googleapis.com. A 142.250.128.128, storage.googleapis.com. A 74.125.70.128, storage.googleapis.com. A 74.125.201.128, storage.googleapis.com. A 64.233.183.128, storage.googleapis.com. A 173.194.198.128, storage.googleapis.com. A 172.217.219.128, storage.googleapis.com. A 142.250.136.128, storage.googleapis.com. A 209.85.234.128, storage.googleapis.com. A 172.217.212.128, storage.googleapis.com. A 172.217.214.128

13. Memodifikasi perilaku Gsutil

Ingat di langkah sebelumnya, Anda membuat Zona DNS Pribadi dan data A yang dipetakan ke alamat IP endpoint PSC. Pada langkah berikut, sekarang kita akan mengontrol perilaku gsutil dengan memperbarui file VM BOTO di psc-instance-1.

Lihat konfigurasi BOTO default dari terminal instance VM dari tab 1 (psc-instance-1)

[psc-instance ~]$ more  /etc/boto.cfg

Output (project_id Anda akan berbeda)

[GSUtil]
default_project_id  = [your project number]
default_api_version = 2

[GoogleCompute]
service_account = default

Update konfigurasi BOTO menggunakan Editor nano atau VI, pastikan untuk menyalin dan menempelkan semua entri.

Contoh: sudo nano /etc/boto.cfg

atau

Contoh: sudo vi /etc/boto.cfg

Dari tab terminal instance VM 1(psc-instance-1)

[Credentials]
gs_host = storage-pscendpoint.p.googleapis.com
gs_host_header = storage.googleapis.com
gs_json_host = storage-pscendpoint.p.googleapis.com
gs_json_host_header = www.googleapis.com

Validasi konfigurasi, urutan [Credentials] sangat penting untuk pencarian DNS

more /etc/boto.cfg
[Credentials]
gs_host = storage-pscendpoint.p.googleapis.com
gs_host_header = storage.googleapis.com
gs_json_host = storage-pscendpoint.p.googleapis.com
gs_json_host_header = www.googleapis.com

[GSUtil]
default_project_id  = [your project number
default_api_version = 2

[GoogleCompute]
service_account = default

14. Memverifikasi perilaku pencarian gsutil yang diperbarui

Dari tab 3 (psc-instance-1), mulai tcpdump dan pantau traffic DNS

sudo tcpdump -vv -i eth0 port 53

Memeriksa pencarian gsutil bucket penyimpanan dari tab 1 (psc-instance-1)

BUCKET_NAME=YOUR BUCKET NAME
echo $BUCKET_NAME

gsutil -D ls gs://$BUCKET_NAME

Log debug mengonfirmasi bahwa bucket penyimpanan dapat dijangkau melalui endpoint "pscendpoint" Private Service Connect

Output:

<snip>
INFO 0131 22:14:18.795986 base_api.py] Making http GET to https://storage-pscendpoint.p.googleapis.com/storage/v1/b/$BUCKET_NAME/o?delimiter=%2F&projection=noAcl&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&alt=json&maxResults=1000
INFO 0131 22:14:18.796415 base_api.py] Headers: {u'Host': 'www.googleapis.com',
 'accept': 'application/json',
 'accept-encoding': 'gzip, deflate',
 'content-length': '0',
 'user-agent': 'apitools Python/2.7.5 gsutil/4.57 (linux2) analytics/disabled interactive/True command/ls google-cloud-sdk/324.0.0'}
INFO 0131 22:14:18.796502 base_api.py] Body: (none)
connect: (storage-pscendpoint.p.googleapis.com, 443)
send: 'GET /storage/v1/b/psc-bucket/o?delimiter=%2F&projection=noAcl&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&alt=json&maxResults=1000 HTTP/1.1\r\ncontent-length: 0\r\naccept-encoding: gzip, deflate\r\naccept: application/json\r\nuser-agent: apitools Python/2.7.5 gsutil/4.57 (linux2) analytics/disabled interactive/True command/ls google-cloud-sdk/324.0.0\r\nhost: www.googleapis.com\r\nauthorization: Bearer ya29.c.KpkB7wd3XWiYeRyTuth5_HPlNV-hPwc2Nn7RSIeMpzrpa_j4EsMPl2m_mDGKAcGHvYIgiC5bT2UVQirAPpSbbpToa6G6lkaBbH5SZwHwgNXYfisp5Ww1UjXe4rTa69a_Wp0WesafcwPNnYzDo3xf5VGh3iGhySA04kTXuyT--MgOU8U-XLII2LJQxUWlV8KEdrvyCuqRb-jsDdk_\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
<snip>

Dari Tab 3 (psc-instance-1), pastikan IP endpoint PSC Anda adalah data A DNS yang digunakan saat mencoba mengakses bucket penyimpanan.

@psc-instance-1 ~]$ sudo tcpdump -vv -i eth0 port 53
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
05:02:33.936256 IP (tos 0x0, ttl 64, id 55416, offset 0, flags [DF], proto UDP (17), length 82)
    psc-instance-1.c.yourprojectname.internal.42296 > metadata.google.internal.domain: [bad udp cksum 0x5e4e -> 0xcceb!] 34796+ A? storage-pscendpoint.p.googleapis.com. (54)
05:02:33.936269 IP (tos 0x0, ttl 64, id 55417, offset 0, flags [DF], proto UDP (17), length 82)
    psc-instance-1.c.yourprojectname.internal.42296 > metadata.google.internal.domain: [bad udp cksum 0x5e4e -> 0x3ebd!] 5632+ AAAA? storage-pscendpoint.p.googleapis.com. (54)
05:02:33.944018 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 98)
    metadata.google.internal.domain > psc-instance-1.c.yourprojectname.42296: [udp sum ok] 34796 q: A? storage-pscendpoint.p.googleapis.com. 1/0/0 storage-pscendpoint.p.googleapis.com. A 10.10.110.10 (70)
05:02:33.946005 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 175)

Verifikasi IP endpoint Private Service Connect kini digunakan untuk resolusi DNS

Dari tab1

nslookup storage-pscendpoint.p.googleapis.com

Output

@psc-instance ~]$ nslookup storage-pscendpoint.p.googleapis.com
Server:         169.254.169.254
Address:        169.254.169.254#53

Non-authoritative answer:
Name:   storage-pscendpoint.p.googleapis.com
Address: <pscip>

15. Langkah-langkah pembersihan

Keluar dari instance VM (semua tab)

exit

Dari satu terminal Cloud Shell, hapus komponen lab

gcloud compute routers nats delete cloudnat --router=crnat --region=us-central1 --quiet

gcloud compute routers delete crnat --region=us-central1 --quiet

gcloud compute forwarding-rules delete pscendpoint --global --quiet

gcloud compute addresses delete psc-ip --global --quiet

gsutil rm -r gs://$BUCKET_NAME

gcloud compute instances delete psc-instance-1 --zone=us-central1-a --quiet

gcloud compute instances delete psc-instance-2 --zone=us-central1-a --quiet

gcloud compute firewall-rules delete psclab-ssh --quiet

gcloud compute networks subnets delete psclab-subnet --region us-central1 --quiet

gcloud compute networks delete psc-lab --quiet

Dari Console, pastikan Anda melihat project yang benar, lalu pilih Layanan Jaringan → Cloud DNS

16. Selamat!

Selamat, Anda telah menyelesaikan codelab.

Yang telah kita bahas

  • Kasus penggunaan koneksi layanan pribadi
  • Persyaratan jaringan
  • API yang didukung
  • Membuat endpoint Private Service Connect
  • Berhasil membuat bucket Cloud Storage
  • Memperbarui file konfigurasi BOTO
  • Membuat NAT GW
  • Jalankan daftar gsutil di VM1 yang di-resolve terhadap endpoint layanan PSC Anda
  • Jalankan gsutil list pada VM2 yang di-resolve terhadap googleapis.com publik.
  • Menggunakan Tcpdump untuk memvalidasi resolusi DNS