NEG ไฮบริดแบบไฮบริดของ Looker PSC ไปยังภายในองค์กร

1. บทนำ

ในโค้ดแล็บนี้ คุณจะทำการเชื่อมต่อไปทางใต้กับฐานข้อมูล postgres ในองค์กรผ่าน H-VPN โดยใช้ตัวจัดสรรภาระงานพร็อกซี TCP ภายในและกลุ่มปลายทางเครือข่ายแบบผสมผสานที่เรียกใช้จาก PSC ของ Looker ในฐานะผู้บริโภคบริการ

Private Service Connect เป็นความสามารถของเครือข่าย Google Cloud ที่ช่วยให้ผู้บริโภคเข้าถึงบริการที่มีการจัดการแบบส่วนตัวได้จากภายในเครือข่าย VPC ในทํานองเดียวกัน ฟีเจอร์นี้ยังช่วยให้ผู้ผลิตบริการที่มีการจัดการโฮสต์บริการเหล่านี้ในเครือข่าย VPC แยกต่างหากของตนเองและมอบการเชื่อมต่อส่วนตัวแก่ผู้บริโภคได้ ตัวอย่างเช่น เมื่อคุณใช้ Private Service Connect เพื่อเข้าถึง Looker แสดงว่าคุณเป็นผู้บริโภคบริการ และ Google เป็นผู้ให้บริการ ดังที่ไฮไลต์ในรูปที่ 1

รูปที่ 1

145ea4672c3a3b14.png

การเข้าถึงจากฝั่งเซาท์หรือที่เรียกว่า PSC แบบย้อนกลับช่วยให้ผู้บริโภคสร้างบริการที่เผยแพร่ในฐานะผู้ผลิตเพื่ออนุญาตให้ Looker เข้าถึงอุปกรณ์ปลายทางในสถานที่ตั้งใน VPC, บริการที่มีการจัดการ และระบบแบบผสมได้ การเชื่อมต่อขาออกสามารถติดตั้งใช้งานได้ในทุกภูมิภาค ไม่ว่าจะติดตั้ง Looker PSC ไว้ที่ใดก็ตาม ดังที่ไฮไลต์ไว้ในรูปที่ 2

รูปที่ 2

259493afd914f68b.png

สิ่งที่คุณจะได้เรียนรู้

  • ข้อกำหนดเกี่ยวกับเครือข่าย
  • สร้างบริการของผู้ผลิต Private Service Connect
  • สร้างปลายทาง Private Service Connect ใน Looker
  • สร้างการเชื่อมต่อกับฐานข้อมูล postgres ในสถานที่ตั้งจาก Looker โดยใช้การเชื่อมต่อทดสอบ

สิ่งที่ต้องมี

def88091b42bfe4d.png

2. สิ่งที่คุณจะสร้าง

คุณจะต้องสร้างเครือข่ายผู้ผลิต looker-psc-demo เพื่อติดตั้งใช้งานตัวจัดสรรภาระงานพร็อกซี TCP ภายในและ NEG แบบผสมที่เผยแพร่เป็นบริการผ่าน Private Service Connect (PSC) หากต้องการสาธิตฐานข้อมูลในองค์กร คุณจะต้องติดตั้งใช้งาน VPC on-prem-demo ที่เชื่อมต่อกับ VPC looker-psc-demo โดยใช้ HA-VPN

คุณจะต้องดำเนินการต่อไปนี้เพื่อตรวจสอบสิทธิ์เข้าถึงบริการ Producer

  • สร้างปลายทาง PSC ใน Looker ที่เชื่อมโยงกับไฟล์แนบบริการของผู้ผลิต
  • ใช้คอนโซล Looker เพื่อตรวจสอบการเชื่อมต่อกับฐานข้อมูล PostgreSQL ในองค์กร

3. ข้อกำหนดเกี่ยวกับเครือข่าย

ด้านล่างนี้คือรายละเอียดข้อกําหนดของเครือข่ายสําหรับเครือข่ายของผู้ผลิต โดยผู้บริโภคในโค้ดแล็บนี้คืออินสแตนซ์ PSC ของ Looker

คอมโพเนนต์

คำอธิบาย

VPC (looker-psc-demo)

VPC โหมดที่กำหนดเอง

VPC (on-prem-demo)

VPC โหมดที่กำหนดเอง

ซับเน็ต NAT ของ PSC

ระบบจะแปลแพ็กเก็ตจากเครือข่าย VPC ของผู้บริโภคโดยใช้ Source NAT (SNAT) เพื่อให้ระบบแปลงที่อยู่ IP ต้นทางเดิมเป็นที่อยู่ IP ต้นทางจากซับเน็ต NAT ในเครือข่าย VPC ของผู้ผลิต

ซับเน็ตกฎการส่งต่อ PSC

ใช้เพื่อจัดสรรที่อยู่ IP สําหรับตัวจัดสรรภาระงานพร็อกซี TCP ภายในระดับภูมิภาค

ซับเน็ต NEG ของ PSC

ใช้เพื่อจัดสรรที่อยู่ IP สําหรับกลุ่มปลายทางของเครือข่าย

ซับเน็ตเฉพาะพร็อกซี

พร็อกซี แต่ละรายการของตัวจัดสรรภาระงานจะได้รับที่อยู่ IP ภายใน แพ็กเก็ตที่ส่งจากพร็อกซีไปยัง VM หรืออุปกรณ์ปลายทางในแบ็กเอนด์จะมีที่อยู่ IP ต้นทางจากซับเน็ตของพร็อกซีเท่านั้น

NEG แบบผสม

ระบบจะถือว่าบริการระบบคลาวด์ในองค์กรและบริการระบบคลาวด์อื่นๆ เป็นแบ็กเอนด์ระบบกระจายโหลดในระบบคลาวด์อื่นๆ ความแตกต่างที่สำคัญคือคุณใช้ NEG การเชื่อมต่อแบบผสมเพื่อกำหนดค่าปลายทางของแบ็กเอนด์เหล่านี้ ปลายทางต้องเป็นชุดค่าผสม IP:พอร์ตที่ถูกต้องซึ่งตัวจัดสรรภาระงานเข้าถึงได้โดยใช้ผลิตภัณฑ์การเชื่อมต่อแบบผสม เช่น Cloud VPN หรือ Cloud Interconnect

บริการแบ็กเอนด์

บริการแบ็กเอนด์ทำหน้าที่เป็นบริดจ์ระหว่างตัวจัดสรรภาระงานกับทรัพยากรแบ็กเอนด์ ในบทแนะนำ บริการแบ็กเอนด์จะเชื่อมโยงกับ NEG แบบผสม

Cloud Router

  • Cloud NAT อาศัยเราเตอร์ระบบคลาวด์ เพื่อความสามารถของ Control Plane แต่ไม่ได้อาศัยเพื่อการจัดการเซสชัน BGP
  • เราเตอร์ Cloud ใช้สำหรับ BGP ที่จัดตั้งขึ้นเพื่อการสร้าง HA-VPN ระหว่าง VPC psc-looker-demo และ on-prem-demo

HA-VPN

HA VPN ระหว่างเครือข่าย VPC ของ Google Cloud ในโทโพโลยีนี้ คุณสามารถเชื่อมต่อเครือข่าย Google Cloud VPC 2 เครือข่ายโดยใช้เกตเวย์ VPN ความพร้อมใช้งานสูงในแต่ละเครือข่าย เครือข่าย VPC จะอยู่คนละภูมิภาคหรือภูมิภาคเดียวกันก็ได้

Cloud NAT

ใช้โดย VPC บนเครื่องเดโมสำหรับการส่งออกไปยังอินเทอร์เน็ต

4. โทโพโลยีของ Codelab

79aeb28b38f237da.png

5. การตั้งค่าและข้อกําหนด

การตั้งค่าสภาพแวดล้อมด้วยตนเอง

  1. ลงชื่อเข้าใช้ Google Cloud Console และสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ คุณจะอัปเดตได้ทุกเมื่อ
  • รหัสโปรเจ็กต์จะต้องไม่ซ้ำกันสำหรับโปรเจ็กต์ Google Cloud ทั้งหมดและจะเปลี่ยนแปลงไม่ได้ (เปลี่ยนแปลงไม่ได้หลังจากตั้งค่าแล้ว) คอนโซล Cloud จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นคืออะไร ในโค้ดแล็บส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (ปกติจะระบุเป็น PROJECT_ID) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสอื่นแบบสุ่มได้ หรือจะลองใช้อุปกรณ์ของคุณเองเพื่อดูว่าอุปกรณ์พร้อมใช้งานหรือไม่ก็ได้ คุณจะเปลี่ยนแปลงชื่อหลังจากขั้นตอนนี้ไม่ได้ และชื่อนี้จะคงอยู่ตลอดระยะเวลาของโปรเจ็กต์
  • โปรดทราบว่ามีค่าที่ 3 ซึ่งเป็นหมายเลขโปรเจ็กต์ที่ API บางรายการใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 รายการนี้ได้ในเอกสารประกอบ
  1. ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตามโค้ดแล็บนี้จะไม่เสียค่าใช้จ่ายมากนัก หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินหลังจากบทแนะนำนี้ คุณก็ลบทรัพยากรที่สร้างไว้หรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD

เริ่ม Cloud Shell

แม้ว่า Google Cloud จะทำงานจากระยะไกลจากแล็ปท็อปได้ แต่ในโค้ดแล็บนี้ คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์

จากคอนโซล Google Cloud ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน

55efc1aaa7a4d3ad.png

การจัดสรรและเชื่อมต่อกับสภาพแวดล้อมจะใช้เวลาเพียงไม่กี่นาที เมื่อดำเนินการเสร็จแล้ว คุณควรเห็นข้อมูลดังต่อไปนี้

7ffe5cbb04455448.png

เครื่องเสมือนนี้โหลดเครื่องมือการพัฒนาทั้งหมดที่คุณต้องการ ซึ่งจะมีไดเรกทอรีหลักขนาด 5 GB ถาวรและทำงานบน Google Cloud ซึ่งจะช่วยเพิ่มประสิทธิภาพเครือข่ายและการรับรองได้อย่างมีประสิทธิภาพ คุณทํางานทั้งหมดในโค้ดแล็บนี้ได้ภายในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไรเลย

6. ก่อนเริ่มต้น

เปิดใช้ API

ใน Cloud Shell ให้ตรวจสอบว่าได้ตั้งค่ารหัสโปรเจ็กต์แล้ว โดยทำดังนี้

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone=[YOUR-ZONE]
echo $project
echo $region

เปิดใช้บริการที่จำเป็นทั้งหมด

gcloud services enable compute.googleapis.com

7. สร้างเครือข่าย VPC ของผู้ผลิต

เครือข่าย VPC

ใน Cloud Shell ให้ทําดังนี้

gcloud compute networks create looker-psc-demo --subnet-mode custom

สร้างซับเน็ต

ระบบจะเชื่อมโยงซับเน็ต PSC กับไฟล์แนบบริการ PSC เพื่อวัตถุประสงค์ในการเปลี่ยนค่าที่อยู่เครือข่าย

สร้างซับเน็ต NAT ของ PSC ใน Cloud Shell โดยทำดังนี้

gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

สร้างซับเน็ตกฎการส่งต่อของผู้ผลิตใน Cloud Shell โดยทำดังนี้

gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access

สร้างซับเน็ตเฉพาะพร็อกซีระดับภูมิภาคของผู้ผลิตใน Cloud Shell โดยทำดังนี้

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=looker-psc-demo \
  --range=10.10.10.0/24

สำรองที่อยู่ IP ของตัวจัดสรรภาระงาน

จองที่อยู่ IP ภายในสำหรับตัวจัดสรรภาระงานใน Cloud Shell โดยทำดังนี้

gcloud compute addresses create hybrid-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

ดูที่อยู่ IP ที่สงวนไว้ภายใน Cloud Shell

gcloud compute addresses describe hybrid-neg-lb-ip \
  --region=$region | grep -i address:

ตัวอย่างเอาต์พุต

gcloud compute addresses describe hybrid-neg-lb-ip   --region=$region | grep -i address:
address: 172.16.20.2

ตั้งค่า NEG แบบผสม

สร้าง NEG แบบผสม และตั้งค่า –network-endpoint-type เป็น NON_GCP_PRIVATE_IP_PORT

สร้าง NEG แบบผสมใน Cloud Shell เพื่อใช้เข้าถึงฐานข้อมูลในระบบภายใน โดยทำดังนี้

gcloud compute network-endpoint-groups create on-prem-hybrid-neg \
    --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
    --network=looker-psc-demo \
    --zone=$zone

ใน Cloud Shell ให้อัปเดต NEG แบบผสมด้วย IP:Port ของฐานข้อมูลในเครื่อง ซึ่งก็คือ 192.168.10.4 และพอร์ต 5432 ที่สร้างขึ้นในขั้นตอนต่อๆ ไปในบทแนะนำ

gcloud compute network-endpoint-groups update on-prem-hybrid-neg \
    --add-endpoint=ip=192.168.10.4,port=5432 \
    --zone=$zone

สร้างการตรวจสอบประสิทธิภาพการทำงานระดับภูมิภาค

ใน Cloud Shell ให้สร้างการตรวจสอบประสิทธิภาพการทำงานที่ตรวจสอบพอร์ตฐานข้อมูลในระบบ 5432 โดยทำดังนี้

gcloud compute health-checks create tcp on-prem-5432-healthcheck \
    --region=$region \
    --port=5432

สร้างนโยบายไฟร์วอลล์ของเครือข่ายและกฎไฟร์วอลล์

ใน Cloud Shell ให้ทําดังนี้

gcloud compute network-firewall-policies create looker-psc-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy

กฎไฟร์วอลล์ต่อไปนี้อนุญาตให้การรับส่งข้อมูลจากช่วงซับเน็ต NAT ของ PSC ไปยังอินสแตนซ์ทั้งหมดในเครือข่าย

ใน Cloud Shell ให้ทําดังนี้

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

8. สร้างบริการของผู้ผลิต

สร้างคอมโพเนนต์ตัวจัดสรรภาระงาน

สร้างบริการแบ็กเอนด์ใน Cloud Shell โดยทำดังนี้

gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=on-prem-5432-healthcheck --health-checks-region=$region

ใน Cloud Shell ให้เพิ่มแบ็กเอนด์ NEG แบบผสมลงในบริการแบ็กเอนด์ โดยทำดังนี้

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=on-prem-hybrid-neg --network-endpoint-group-zone=$zone --balancing-mode=CONNECTION --max-connections=100 --region=$region

ใน Cloud Shell ให้สร้างพร็อกซี TCP เป้าหมายเพื่อกำหนดเส้นทางคำขอไปยังบริการแบ็กเอนด์ โดยทำดังนี้

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

สร้างกฎการส่งต่อ (ตัวจัดสรรภาระงานพร็อกซี TCP ภายใน) ในไวยากรณ์ต่อไปนี้

ใน Cloud Shell ให้ทําดังนี้

gcloud compute forwarding-rules create producer-hybrid-neg-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=looker-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=hybrid-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --ports=5432

สร้างไฟล์แนบของบริการ

สร้างไฟล์แนบบริการ onpremdatabase1-svc-attachment ใน Cloud Shell ดังนี้

gcloud compute service-attachments create onpremdatabase1-svc-attachment --region=$region --producer-forwarding-rule=producer-hybrid-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

ถัดไป ให้บันทึกไฟล์แนบบริการที่แสดงใน URI ของ selfLink ที่ขึ้นต้นด้วยโปรเจ็กต์เพื่อกำหนดค่าปลายทาง PSC ใน Looker

selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/onpremdatabase1-svc-attachment

ใน Cloud Shell ให้ทําดังนี้

gcloud compute service-attachments describe onpremdatabase1-svc-attachment --region=$region

ตัวอย่างผลลัพธ์ที่คาดหวัง

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-09-01T16:07:51.600-07:00'
description: ''
enableProxyProtocol: false
fingerprint: cFt9rERR1iE=
id: '2549689544315850024'
kind: compute#serviceAttachment
name: onpremdatabase1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '19348441121424360'
  low: '2549689544315850024'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/onpremdatabase1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-hybrid-neg-fr

ใน Cloud Console ให้ไปที่

บริการเครือข่าย → Private Service Connect → บริการที่เผยแพร่

9f436251a3ae2cc7.png

4c3e8e73d40d1238.png

9. สร้างการเชื่อมต่อปลายทาง PSC ใน Looker

ในส่วนต่อไปนี้ คุณจะเชื่อมโยงไฟล์แนบบริการของผู้ผลิตกับ PSC ของ Looker Core ผ่านการใช้ Flag –psc-service-attachment ใน Cloud Shell สําหรับโดเมนเดียว

ใน Cloud Shell ให้สร้างการเชื่อมโยง psc โดยอัปเดตพารามิเตอร์ต่อไปนี้ให้ตรงกับสภาพแวดล้อมของคุณ

  • INSTANCE_NAME: ชื่ออินสแตนซ์ Looker (Google Cloud Core)
  • DOMAIN_1: onprem.database1.com
  • SERVICE_ATTACHMENT_1: URI ที่บันทึกไว้เมื่อสร้างไฟล์แนบบริการ onpremdatabase1-svc-attachment
  • ภูมิภาค: ภูมิภาคที่โฮสต์อินสแตนซ์ Looker (Google Cloud Core)

ใน Cloud Shell ให้ทําดังนี้

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

ตัวอย่าง

gcloud looker instances update looker-psc-instance --psc-service-attachment domain=onprem.database1.com,attachment=projects/$project/regions/$region/serviceAttachments/onpremdatabase1-svc-attachment --region=$region

ใน Cloud Shell ให้ตรวจสอบว่า connectionStatus ของ serviceAttachments เป็น "ACCEPTED" แล้วอัปเดตด้วยชื่ออินสแตนซ์ PSC ของ Looker

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

ตัวอย่าง

gcloud looker instances describe looker-psc-instance --region=$region --format=json

ตัวอย่าง

{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "looker.cosmopup.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.14.18",
  "name": "projects/$project/locations/$region/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
      "projects/$project/global/networks/looker-psc-demo",
      "projects/$project/global/networks/looker-shared-vpc"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "onprem.database1.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/onpremdatabase1-svc-attachment"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-09-01T23:15:07.426372901Z"
}

ตรวจสอบปลายทาง PSC ใน Cloud Console

คุณสามารถตรวจสอบการเชื่อมต่อ PSC จาก Cloud Console

ใน Cloud Console ให้ไปที่

Looker → อินสแตนซ์ Looker → รายละเอียด

2d4684d722d31e4b.png

993cdaf748f4c030.png

สร้างเครือข่าย VPC ในองค์กร

เครือข่าย VPC

ใน Cloud Shell ให้ทําดังนี้

gcloud compute networks create on-prem-demo --project=$project --subnet-mode=custom

สร้างซับเน็ตฐานข้อมูล Postgresql

ใน Cloud Shell ให้ทําดังนี้

gcloud compute networks subnets create database-subnet --project=$project --range=192.168.10.0/28 --network=on-prem-demo --region=$region

ใน Cloud Shell ให้สำรองที่อยู่ IPv4 ภายในที่ใช้สำหรับ onprem.database1.com, 192.168.10.4 ดังนี้

gcloud compute addresses create on-prem-database1-ip --region=$region --subnet=database-subnet --addresses 192.168.10.4

สร้าง Cloud Router สำหรับ VPC บนระบบภายใน

ระบบจะใช้ Cloud NAT ในบทแนะนำสำหรับการติดตั้งแพ็กเกจซอฟต์แวร์เนื่องจากอินสแตนซ์ VM ไม่มีที่อยู่ IP ภายนอก

สร้าง Cloud Router ที่ใช้ใน Cloud NAT และ HA-VPN ใน Cloud Shell โดยทำดังนี้

gcloud compute routers create on-prem-cr \
   --region=$region \
   --network=on-prem-demo \
   --asn=65002

สร้างเกตเวย์ NAT ใน Cloud Shell โดยทำดังนี้

gcloud compute routers nats create on-prem-nat --router=on-prem-cr --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region $region

สร้างอินสแตนซ์การทดสอบฐานข้อมูล

สร้างอินสแตนซ์ฐานข้อมูล postgres ที่จะใช้ในการทดสอบและตรวจสอบการเชื่อมต่อกับ Looker

สร้างอินสแตนซ์ใน Cloud Shell โดยทำดังนี้

gcloud compute instances create postgres-database \
    --project=$project \
    --zone=$zone \
    --machine-type=e2-medium \
    --subnet=database-subnet \
    --no-address \
    --private-network-ip 192.168.10.4 \
    --image-family debian-12 \
    --image-project debian-cloud  \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt -y install postgresql postgresql-client postgresql-contrib -y"

สร้างนโยบายไฟร์วอลล์ของเครือข่ายและกฎไฟร์วอลล์

ใน Cloud Shell ให้ทําดังนี้

gcloud compute network-firewall-policies create on-prem-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy on-prem-demo-policy --network on-prem-demo --name on-prem-demo --global-firewall-policy

หากต้องการอนุญาตให้ IAP เชื่อมต่อกับอินสแตนซ์ VM ให้สร้างกฎไฟร์วอลล์ที่มีลักษณะดังนี้

  • มีผลกับอินสแตนซ์ VM ทั้งหมดที่คุณต้องการเข้าถึงโดยใช้ IAP
  • อนุญาตการรับส่งข้อมูลขาเข้าจากช่วง IP 35.235.240.0/20 ช่วงนี้มีที่อยู่ IP ทั้งหมดที่ IAP ใช้สำหรับการส่งต่อ TCP

ใน Cloud Shell ให้ทําดังนี้

gcloud compute network-firewall-policies rules create 1000 --action ALLOW --firewall-policy on-prem-demo-policy --description "SSH with IAP" --direction INGRESS --src-ip-ranges 35.235.240.0/20 --layer4-configs tcp:22  --global-firewall-policy

กฎไฟร์วอลล์ต่อไปนี้อนุญาตให้การรับส่งข้อมูลจากช่วงซับเน็ตเฉพาะพร็อกซีไปยังอินสแตนซ์ทั้งหมดในเครือข่าย

ใน Cloud Shell ให้ทําดังนี้

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy on-prem-demo-policy --description "allow traffic from proxy only subnet" --direction INGRESS --src-ip-ranges 10.10.10.0/24 --global-firewall-policy --layer4-configs=tcp

10. การเชื่อมต่อแบบผสม

ในส่วนต่อไปนี้ คุณจะได้สร้าง Cloud Router ซึ่งช่วยให้คุณแลกเปลี่ยนเส้นทางระหว่าง Virtual Private Cloud (VPC) กับเครือข่ายเพียร์แบบไดนามิกได้โดยใช้ Border Gateway Protocol (BGP)

เราเตอร์ Cloud สามารถตั้งค่าเซสชัน BGP ผ่านอุโมงค์ Cloud VPN เพื่อเชื่อมต่อเครือข่าย โดยจะเรียนรู้ช่วงที่อยู่ IP ใหม่ของซับเน็ตโดยอัตโนมัติและประกาศให้เครือข่ายเพียร์ทราบ

ในขั้นตอนต่อไปนี้ คุณจะใช้ HA VPN ระหว่าง VPC looker-psc-demo กับ VPC on-prem-demo เพื่อสาธิตการเชื่อมต่อ NEG แบบผสมกับ onprem.database1.com

สร้าง HA VPN GW สําหรับ looker-psc-demo

เมื่อสร้างเกตเวย์แต่ละรายการ ระบบจะจัดสรรที่อยู่ IPv4 ภายนอก 2 รายการโดยอัตโนมัติ โดยจัดสรร 1 รายการสำหรับอินเทอร์เฟซเกตเวย์แต่ละรายการ

สร้าง HA VPN GW ใน Cloud Shell โดยทำดังนี้

gcloud compute vpn-gateways create looker-psc-demo-vpn-gw \
   --network=looker-psc-demo \
   --region=$region

สร้าง HA VPN GW สําหรับเดโมในเครื่อง

เมื่อสร้างเกตเวย์แต่ละรายการ ระบบจะจัดสรรที่อยู่ IPv4 ภายนอก 2 รายการโดยอัตโนมัติ โดยจัดสรร 1 รายการสำหรับอินเทอร์เฟซเกตเวย์แต่ละรายการ

สร้าง HA VPN GW ใน Cloud Shell โดยทำดังนี้

gcloud compute vpn-gateways create on-prem-vpn-gw \
   --network=on-prem-demo\
   --region=$region

ตรวจสอบการสร้าง GW VPN ความพร้อมใช้งานสูง

ใช้คอนโซลเพื่อไปที่การเชื่อมต่อแบบผสมผสาน → VPN → เกตเวย์ Cloud VPN

7f1b504616504866.png

สร้าง Cloud Router สำหรับ looker-psc-demo

สร้าง Cloud Router ใน Cloud Shell โดยทำดังนี้

gcloud compute routers create looker-psc-demo-cr \
   --region=$region \
   --network=looker-psc-demo\
   --asn=65001

สร้างอุโมงค์ข้อมูล VPN สําหรับ looker-psc-demo

คุณจะต้องสร้างอุโมงค์ข้อมูล VPN 2 รายการในเกตเวย์ VPN HA แต่ละรายการ

สร้างอุโมงค์ข้อมูล VPN0

สร้าง tunnel0 ใน Cloud Shell โดยทำดังนี้

gcloud compute vpn-tunnels create looker-psc-demo-tunnel0 \
    --peer-gcp-gateway on-prem-vpn-gw \
    --region $region \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router looker-psc-demo-cr \
    --vpn-gateway looker-psc-demo-vpn-gw \
    --interface 0

สร้างอุโมงค์ข้อมูล VPN1

สร้าง tunnel1 ใน Cloud Shell โดยทำดังนี้

gcloud compute vpn-tunnels create looker-psc-demo-tunnel1 \
    --peer-gcp-gateway on-prem-vpn-gw \
    --region $region \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router looker-psc-demo-cr \
    --vpn-gateway looker-psc-demo-vpn-gw \
    --interface 1

สร้างอุโมงค์ข้อมูล VPN สําหรับการสาธิตในองค์กร

คุณจะต้องสร้างอุโมงค์ข้อมูล VPN 2 รายการในเกตเวย์ VPN HA แต่ละรายการ

สร้างอุโมงค์ข้อมูล VPN0

สร้าง tunnel0 ใน Cloud Shell โดยทำดังนี้

gcloud compute vpn-tunnels create on-prem-tunnel0 \
    --peer-gcp-gateway looker-psc-demo-vpn-gw \
    --region $region \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router on-prem-cr \
    --vpn-gateway on-prem-vpn-gw \
   --interface 0

สร้างอุโมงค์ข้อมูล VPN1

สร้าง tunnel1 ใน Cloud Shell โดยทำดังนี้

gcloud compute vpn-tunnels create on-prem-tunnel1 \
    --peer-gcp-gateway looker-psc-demo-vpn-gw \
    --region $region \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router on-prem-cr \
    --vpn-gateway on-prem-vpn-gw \
    --interface 1

ตรวจสอบการสร้างอุโมงค์ข้อมูล VPN

ใช้คอนโซลเพื่อไปที่การเชื่อมต่อแบบผสมผสาน → VPN → อุโมงค์ข้อมูล Cloud VPN

c2fcb340a7614070.png

11. สร้างเพื่อนบ้าน BGP

สร้างอินเทอร์เฟซ BGP และการเพียร์สําหรับ looker-psc-demo

สร้างอินเทอร์เฟซ BGP ใน Cloud Shell โดยทำดังนี้

gcloud compute routers add-interface looker-psc-demo-cr \
    --interface-name if-tunnel0-to-onprem \
    --ip-address 169.254.1.1 \
    --mask-length 30 \
    --vpn-tunnel looker-psc-demo-tunnel0 \
    --region $region

สร้าง Peer BGP ใน Cloud Shell โดยทำดังนี้

gcloud compute routers add-bgp-peer looker-psc-demo-cr \
    --peer-name bgp-on-premises-tunnel0 \
    --interface if-tunnel1-to-onprem \
    --peer-ip-address 169.254.1.2 \
    --peer-asn 65002 \
    --region $region

สร้างอินเทอร์เฟซ BGP ใน Cloud Shell โดยทำดังนี้

gcloud compute routers add-interface looker-psc-demo-cr \
    --interface-name if-tunnel1-to-onprem \
    --ip-address 169.254.2.1 \
    --mask-length 30 \
    --vpn-tunnel looker-psc-demo-tunnel1 \
    --region $region

สร้าง Peer BGP ใน Cloud Shell โดยทำดังนี้

gcloud compute routers add-bgp-peer looker-psc-demo-cr \
    --peer-name bgp-on-premises-tunnel1 \
    --interface if-tunnel2-to-onprem \
    --peer-ip-address 169.254.2.2 \
    --peer-asn 65002 \
    --region $region

สร้างอินเทอร์เฟซ BGP และการเพียร์สําหรับเดโมในองค์กร

สร้างอินเทอร์เฟซ BGP ใน Cloud Shell โดยทำดังนี้

gcloud compute routers add-interface on-prem-cr \
    --interface-name if-tunnel0-to-looker-psc-demo \
    --ip-address 169.254.1.2 \
    --mask-length 30 \
    --vpn-tunnel on-prem-tunnel0 \
    --region $region

สร้าง Peer BGP ใน Cloud Shell โดยทำดังนี้

gcloud compute routers add-bgp-peer on-prem-cr \
    --peer-name bgp-looker-psc-demo-tunnel0 \
    --interface if-tunnel1-to-looker-psc-demo \
    --peer-ip-address 169.254.1.1 \
    --peer-asn 65001 \
    --region $region

สร้างอินเทอร์เฟซ BGP ใน Cloud Shell โดยทำดังนี้

gcloud compute routers add-interface on-prem-cr \
    --interface-name if-tunnel1-to-looker-psc-demo \
    --ip-address 169.254.2.2 \
    --mask-length 30 \
    --vpn-tunnel on-prem-tunnel1 \
    --region $region

สร้าง Peer BGP ใน Cloud Shell โดยทำดังนี้

gcloud compute routers add-bgp-peer on-prem-cr \
    --peer-name bgp-looker-psc-demo-tunnel1\
    --interface if-tunnel2-to-looker-psc-demo \
    --peer-ip-address 169.254.2.1 \
    --peer-asn 65001 \
    --region $region

ไปที่การเชื่อมต่อแบบไฮบริด → VPN เพื่อดูรายละเอียดอุโมงค์ข้อมูล VPN

78ab590317919bf5.png

ตรวจสอบเส้นทางที่ looker-psc-demo เรียนรู้ผ่าน HA VPN

เมื่อสร้างอุโมงค์ HA VPN และเซสชัน BGP แล้ว ลักษณะการทำงานเริ่มต้นของ Cloud Router คือการโฆษณาเส้นทางซับเน็ต ดูเส้นทางที่เรียนรู้ของ looker-psc-demo

ใช้คอนโซลเพื่อไปที่ เครือข่าย VPC → เครือข่าย VPC → looker-psc-demo → ROUTES → REGION → VIEW

สังเกตว่า looker-psc-demo ได้เรียนรู้ซับเน็ตฐานข้อมูล 192.168.10.0/28 จาก VPC on-prem-demo

c11a11ed8b0491c8.png

ตรวจสอบว่า VPC บนเครื่องเดโมในองค์กรได้เรียนรู้เส้นทางผ่าน HA VPN

เนื่องจากลักษณะการทำงานเริ่มต้นของ Cloud Router คือการโฆษณาซับเน็ตทั้งหมด ระบบจึงโฆษณาเฉพาะซับเน็ตของพร็อกซีผ่าน BGP NEG แบบผสมจะใช้ซับเน็ตของพร็อกซี่เท่านั้นเป็นที่อยู่ต้นทางเมื่อสื่อสารกับเซิร์ฟเวอร์ onprem.database1.com

สังเกตว่า on-prem-demo ได้เรียนรู้ซับเน็ตเฉพาะพร็อกซี 10.10.10.0/24 จาก looker-psc-demo

ใช้คอนโซลเพื่อไปที่เครือข่าย VPC → เครือข่าย VPC → on-prem-demo → ROUTES → REGION → VIEW

b0073faed026931f.png

12. การสร้างฐานข้อมูล postgres ของ Looker

ในส่วนต่อไปนี้ คุณจะใช้ SSH เข้าสู่ VM ฐานข้อมูล postgres โดยใช้ Cloud Shell

ใน Cloud Shell ให้ใช้ SSH ไปยังอินสแตนซ์ postgres-database**:**

 gcloud compute ssh --zone "$zone" "postgres-database" --project "$project"

ในระบบปฏิบัติการ ให้ระบุและจดที่อยู่ IP (ens4) ของอินสแตนซ์ postgres-database ไว้

ip a

ตัวอย่าง

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc mq state UP group default qlen 1000
    link/ether 42:01:c0:a8:0a:04 brd ff:ff:ff:ff:ff:ff
    altname enp0s4
    inet 192.168.10.4/32 metric 100 scope global dynamic ens4
       valid_lft 66779sec preferred_lft 66779sec
    inet6 fe80::4001:c0ff:fea8:a04/64 scope link 
       valid_lft forever preferred_lft forever

เข้าสู่ระบบ postgresql ในระบบปฏิบัติการโดยทำดังนี้

sudo -u postgres psql postgres

ในระบบปฏิบัติการ ให้ป้อนข้อความแจ้งรหัสผ่าน

\password postgres

ในระบบปฏิบัติการ ให้ตั้งรหัสผ่านเป็น postgres (ป้อนรหัสผ่านเดียวกัน 2 ครั้ง)

postgres

ตัวอย่าง

user@postgres-database:~$ sudo -u postgres psql postgres
\password postgres
psql (13.11 (Debian 13.11-0+deb11u1))
Type "help" for help.
postgres=# \password postgres
Enter new password for user "postgres": 
Enter it again: 

ออกจาก postgres ในระบบปฏิบัติการโดยทำดังนี้

\q

ตัวอย่าง

postgres=# \q
user@postgres-database:~$ 

ในส่วนต่อไปนี้ คุณจะแทรก IP ของอินสแตนซ์ฐานข้อมูล postgres (192.168.10.4) และซับเน็ตสำหรับพร็อกซีเท่านั้น (10.10.10.0/24) ในไฟล์ pg_hba.conf ในส่วนการเชื่อมต่อภายใน IPv4

sudo nano /etc/postgresql/15/main/pg_hba.conf

ภาพหน้าจอด้านล่างคือการอัปเดตที่เสร็จสมบูรณ์แล้ว eaff2ed6d27fa7cc.png

ในส่วนต่อไปนี้ ให้ยกเลิกการคอมเมนต์ postgresql.conf เพื่อฟังที่อยู่ IP ทั้งหมด "*" ตามภาพหน้าจอด้านล่าง

sudo nano /etc/postgresql/15/main/postgresql.conf

ก่อน:

65e0b1074dc48644.png

หลัง:

14a0d1fa5455e23e.png

รีสตาร์ทบริการ postgresql ในระบบปฏิบัติการโดยทำดังนี้

sudo service postgresql restart

ในระบบปฏิบัติการ ให้ตรวจสอบว่าสถานะ postgresql เป็น "ใช้งานอยู่"

sudo service postgresql status

ตัวอย่าง

ในระบบปฏิบัติการ ให้ตรวจสอบว่าสถานะ postgresql เป็น "ใช้งานอยู่"

user@postgres-database:/$ sudo service postgresql status
● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; preset: enabled)
     Active: active (exited) since Mon 2024-09-02 12:10:10 UTC; 1min 46s ago
    Process: 20486 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 20486 (code=exited, status=0/SUCCESS)
        CPU: 2ms

Sep 02 12:10:10 postgres-database systemd[1]: Starting postgresql.service - PostgreSQL RDBMS...
Sep 02 12:10:10 postgres-database systemd[1]: Finished postgresql.service - PostgreSQL RDBMS.

13. สร้างฐานข้อมูล postgres

ในส่วนต่อไปนี้ คุณจะต้องสร้างฐานข้อมูล postgres ชื่อ postgres_looker และสคีมา looker_schema ที่ใช้ตรวจสอบการเชื่อมต่อ Looker กับระบบในองค์กร

เข้าสู่ระบบ postgres ในระบบปฏิบัติการโดยทำดังนี้

sudo -u postgres psql postgres

สร้างฐานข้อมูลในระบบปฏิบัติการโดยทำดังนี้

create database postgres_looker;

แสดงรายการฐานข้อมูลภายในระบบปฏิบัติการ

\l

สร้างผู้ใช้ postgres_looker ด้วยรหัสผ่าน postgreslooker ในระบบปฏิบัติการ โดยทำดังนี้

create user postgres_looker with password 'postgreslooker';

เชื่อมต่อกับฐานข้อมูลในระบบปฏิบัติการโดยทำดังนี้

\c postgres_looker;

สร้างสคีมา looker-schema ในระบบปฏิบัติการ แล้วออกจากพรอมต์ Cloud Shell

create schema looker_schema;
create table looker_schema.test(firstname CHAR(15), lastname CHAR(20));
exit

Exit from the OS, returning you to cloud shell:

\q

ตัวอย่าง

user@postgres-database:/$ sudo -u postgres psql postgres
psql (15.8 (Debian 15.8-0+deb12u1))
Type "help" for help.

postgres=# create database postgres_looker;
CREATE DATABASE
postgres=# \l
                                                List of databases
      Name       |  Owner   | Encoding | Collate |  Ctype  | ICU Locale | Locale Provider |   Access privileges   
-----------------+----------+----------+---------+---------+------------+-----------------+-----------------------
 postgres        | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | 
 postgres_looker | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | 
 template0       | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =c/postgres          +
                 |          |          |         |         |            |                 | postgres=CTc/postgres
 template1       | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =c/postgres          +
                 |          |          |         |         |            |                 | postgres=CTc/postgres
(4 rows)

postgres=# create user postgres_looker with password 'postgreslooker';
CREATE ROLE
postgres=# \c postgres_looker;
You are now connected to database "postgres_looker" as user "postgres".
postgres_looker=# create schema looker_schema;
create table looker_schema.test(firstname CHAR(15), lastname CHAR(20));
exit
CREATE SCHEMA
CREATE TABLE
postgres_looker-# \q

14. ผสานรวม Looker กับ postgres-database ของ PostgreSQL

ในส่วนต่อไปนี้ คุณจะใช้ Looker Console เพื่อสร้างการเชื่อมต่อฐานข้อมูลกับอินสแตนซ์ฐานข้อมูล postgres ในองค์กร

ไปที่ผู้ดูแลระบบ → ฐานข้อมูล → การเชื่อมต่อ → เลือกเพิ่มการเชื่อมต่อ

กรอกรายละเอียดการเชื่อมต่อตามภาพหน้าจอด้านล่าง แล้วเลือกเชื่อมต่อ

5900fdf0b698cbfc.png

กำหนดค่าการเชื่อมต่อแล้ว

4817157fd3b1277e.png

15. ตรวจสอบการเชื่อมต่อ Looker

ในส่วนต่อไปนี้ คุณจะได้เรียนรู้วิธีตรวจสอบการเชื่อมต่อ Looker กับฐานข้อมูล postgres ใน on-prem-vpc โดยใช้การดำเนินการ "ทดสอบ" ของ Looker และ TCPDUMP

จาก Cloud Shell ให้เข้าสู่ระบบ postgres-database หากเซสชันหมดเวลา

ใน Cloud Shell ให้ทําดังนี้

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone=[YOUR-ZONE]
echo $project
echo $region
gcloud compute ssh --zone "$zone" "postgres-database" --project "$project"

จากระบบปฏิบัติการ ให้สร้างตัวกรอง TCPDUMP ที่มีซับเน็ตเฉพาะพร็อกซี 10.10.10.0/24

sudo tcpdump -i any net 10.10.10.0/24 -nn

ไปที่การเชื่อมต่อข้อมูล ผู้ดูแลระบบ → ฐานข้อมูล → การเชื่อมต่อ → postgres-database → ทดสอบ

เมื่อเลือก "ทดสอบ" แล้ว Looker จะเชื่อมต่อกับฐานข้อมูล postgres ตามที่ระบุไว้ด้านล่าง

774f9313ece41034.png

ล้างข้อมูล

ลบคอมโพเนนต์ของห้องทดลองจากเทอร์มินัล Cloud Shell เครื่องเดียว

gcloud compute service-attachments delete onpremdatabase1-svc-attachment --region=$region -q

gcloud compute forwarding-rules delete producer-hybrid-neg-fr --region=$region -q

gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q

gcloud compute backend-services delete producer-backend-svc --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy  --name=looker-psc-demo --global-firewall-policy -q

gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q

gcloud compute routers nats delete on-prem-nat --router=on-prem-cr --router-region=$region -q

gcloud compute network-endpoint-groups delete on-prem-hybrid-neg --zone=$zone -q

gcloud compute addresses delete hybrid-neg-lb-ip --region=$region -q

gcloud compute vpn-tunnels delete looker-psc-demo-tunnel0 looker-psc-demo-tunnel1 on-prem-tunnel0 on-prem-tunnel1 --region=$region -q

gcloud compute vpn-gateways delete looker-psc-demo-vpn-gw on-prem-vpn-gw --region=$region -q

gcloud compute routers delete looker-psc-demo-cr on-prem-cr --region=$region -q

gcloud compute instances delete postgres-database --zone=$zone -q

gcloud compute addresses delete on-prem-database1-ip --region=$region -q

gcloud compute networks subnets delete database-subnet --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy on-prem-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 1000 --firewall-policy on-prem-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=on-prem-demo-policy  --name=on-prem-demo --global-firewall-policy -q

gcloud compute networks subnets delete $region-proxy-only-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-nat-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-fr-subnet --region=$region -q

gcloud compute networks delete on-prem-demo -q

gcloud compute networks delete looker-psc-demo -q

16. ขอแสดงความยินดี

ยินดีด้วย คุณได้กําหนดค่าและตรวจสอบการเชื่อมต่อกับฐานข้อมูลในเครื่องผ่าน HA-VPN โดยใช้ Looker Console ที่ทำงานด้วย Private Service Connect เรียบร้อยแล้ว

คุณได้สร้างโครงสร้างพื้นฐานของผู้ผลิต เรียนรู้วิธีสร้าง NEG แบบผสม บริการของผู้ผลิต และปลายทาง PSC ของ Looker ที่อนุญาตให้เชื่อมต่อกับบริการของผู้ผลิต

Cosmopup คิดว่า Codelab เจ๋งสุดๆ

c911c127bffdee57.jpeg

ขั้นตอนถัดไป

ลองดู Codelab เหล่านี้...

การอ่านเพิ่มเติมและวิดีโอ

เอกสารอ้างอิง