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

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

สิ่งที่คุณจะได้เรียนรู้
- ข้อกำหนดเกี่ยวกับเครือข่าย
- อัปเดตรายการที่อนุญาตของ Looker สำหรับการเข้าถึงขาออก
- สร้างแบ็กเอนด์ Private Service Connect ใน VPC ของผู้ใช้บริการ
- ใบรับรองที่ Google ออกให้เทียบกับใบรับรองแบบ Self-signed
สิ่งที่คุณต้องมี
- โปรเจ็กต์ Google Cloud ที่มีสิทธิ์เจ้าของ
- โดเมนที่จดทะเบียน
- อินสแตนซ์ Looker PSC ที่มีอยู่

2. สิ่งที่คุณจะสร้าง
คุณจะสร้างเครือข่ายผู้บริโภคที่อยู่ในรายการที่อนุญาต looker-psc-demo เพื่อทำให้ใช้งานได้ตัวจัดสรรภาระงานแอปพลิเคชัน L7 ภายนอกระดับภูมิภาคและ NEG แบ็กเอนด์ PSC ที่ต้องใช้ใบรับรอง Google หรือใบรับรองที่ลงนามด้วยตนเอง ไม่ว่าจะใช้วิธีใด คุณจะต้องมีโดเมนที่จดทะเบียนซึ่งตรงกับโดเมนที่กำหนดเองที่กำหนดไว้ใน Looker
3. ข้อกำหนดเกี่ยวกับเครือข่าย
รายละเอียดข้อกำหนดของเครือข่ายมีดังนี้
คอมโพเนนต์ | คำอธิบาย |
VPC (looker-psc-demo) | VPC โหมดที่กำหนดเอง |
ซับเน็ต PSC NEG | ใช้เพื่อจัดสรรที่อยู่ IP สำหรับกลุ่มปลายทางเครือข่าย |
ซับเน็ตเฉพาะพร็อกซี | พร็อกซี ของตัวจัดสรรภาระงานแต่ละรายการจะได้รับที่อยู่ IP ภายใน แพ็กเกตที่ส่งจากพร็อกซีไปยัง VM หรือปลายทางแบ็กเอนด์จะมีที่อยู่ IP ต้นทางจากเครือข่ายย่อยเฉพาะพร็อกซี |
บริการแบ็กเอนด์ | บริการแบ็กเอนด์ทำหน้าที่เป็นสะพานเชื่อมระหว่างตัวจัดสรรภาระงานกับทรัพยากรแบ็กเอนด์ ในบทแนะนำนี้ บริการแบ็กเอนด์จะเชื่อมโยงกับ NEG ของ PSC |
4. โทโพโลยี Codelab

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



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

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

เครื่องเสมือนนี้มาพร้อมเครื่องมือพัฒนาซอฟต์แวร์ทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักแบบถาวรขนาด 5 GB และทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก คุณสามารถทำงานทั้งหมดใน Codelab นี้ได้ภายในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไร
6. ก่อนเริ่มต้น
เปิดใช้ API
ใน Cloud Shell ให้ตรวจสอบว่าได้ตั้งค่ารหัสโปรเจ็กต์แล้ว
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region
เปิดใช้บริการที่จำเป็นทั้งหมด
gcloud services enable compute.googleapis.com
7. เครือข่ายผู้บริโภค
ในส่วนต่อไปนี้ คุณจะสร้างเครือข่ายผู้บริโภคที่จะได้รับการอัปเดตในรายการที่อนุญาตของ Looker PSC VPC
เครือข่าย VPC
ใน Cloud Shell ให้ทำดังนี้
gcloud compute networks create looker-psc-demo --subnet-mode custom
สร้างซับเน็ต
สร้างเครือข่ายย่อยของกลุ่มปลายทางของเครือข่ายผู้ใช้ภายใน Cloud Shell โดยทำดังนี้
gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.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 ของตัวจัดสรรภาระงาน
ใน Cloud Shell ให้จองที่อยู่ IP ภายนอกสำหรับตัวจัดสรรภาระงานโดยทำดังนี้
gcloud compute addresses create regional-alb-static-ip \
--region=$region \
--network-tier=STANDARD
ดูที่อยู่ IP ที่สงวนไว้ใน Cloud Shell โดยทำดังนี้
gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
ตัวอย่างเอาต์พุต
user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
address: 35.208.202.244
8. สร้างโดเมนที่กำหนดเอง
คุณต้องทำตามขั้นตอนต่อไปนี้เพื่อสร้างโดเมนที่กำหนดเอง
ตัวอย่างโดเมนที่กำหนดเอง
โดเมนที่กำหนดเอง looker.cosmopup.com มีอยู่เป็นโดเมนย่อย DNS สาธารณะที่เชื่อมโยงกับระเบียน A ของที่อยู่ IP แบบคงที่ (regional-alb-static-ip) ที่กำหนดไว้ก่อนหน้านี้ ดูภาพหน้าจอที่ถ่ายจากเทอร์มินัลที่ตรวจสอบการค้นหา DNS

จากนั้นสร้างโดเมนของลูกค้าโดยใช้โดเมนย่อย looker.cosmopup.com

ตัวอย่าง OAuth
ด้านล่างนี้คือตัวอย่างข้อมูลเข้าสู่ระบบ OAuth สำหรับต้นทางที่ได้รับอนุญาตและการเรียกกลับสำหรับโดเมนย่อย looker.cosmopup.com

9. ใบรับรอง
คุณจะสร้างใบรับรอง Compute Engine หรือ Certificate Manager ก็ได้ ใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อสร้างใบรับรองโดยใช้เครื่องมือจัดการใบรับรอง
- ใบรับรองที่จัดการด้วยตนเองระดับภูมิภาค ดูข้อมูลเกี่ยวกับการสร้างและการใช้ใบรับรองที่จัดการด้วยตนเองระดับภูมิภาคได้ที่ติดตั้งใช้งานใบรับรองที่จัดการด้วยตนเองระดับภูมิภาค ระบบไม่รองรับแผนที่ใบรับรอง
- ใบรับรองที่จัดการโดย Google ระดับภูมิภาค ระบบไม่รองรับแผนที่ใบรับรอง Certificate Manager รองรับใบรับรองที่ Google จัดการระดับภูมิภาคประเภทต่อไปนี้
- ใบรับรองที่จัดการโดย Google ระดับภูมิภาคที่มีการให้สิทธิ์ DNS ต่อโปรเจ็กต์ ดูข้อมูลเพิ่มเติมได้ที่หัวข้อติดตั้งใช้งานใบรับรองที่ Google จัดการระดับภูมิภาค
- ใบรับรองที่จัดการโดย Google (ส่วนตัว) ระดับภูมิภาคด้วย Certificate Authority Service ดูข้อมูลเพิ่มเติมได้ที่หัวข้อทำให้ใบรับรองระดับภูมิภาคที่ Google จัดการด้วยบริการ CA ใช้งานได้
10. การอนุญาตรายการ VPC ของ Looker
ดู VPC ที่อนุญาต
ในส่วนต่อไปนี้ คุณจะใช้ UI ของ Cloud Console เพื่อดูรายการ VPC ที่อนุญาตของ Looker
ใน Cloud Console ให้ไปที่
Looker → อินสแตนซ์ Looker → รายละเอียด
ตัวอย่างด้านล่างนี้ไม่มีรายการในรายการ VPC ที่อนุญาต

อัปเดต VPC ที่อนุญาต
อัปเดตอินสแตนซ์ Looker เพื่อรองรับการเข้าถึง Northbound โดยเพิ่ม looker-psc-demo เป็น VPC ที่อนุญาต
ใน Cloud Console ให้ไปที่
Looker → อินสแตนซ์ Looker → แก้ไข

การเชื่อมต่อ → VPC ที่อนุญาต
ตรวจสอบว่าได้เลือกโปรเจ็กต์ที่ติดตั้งใช้งาน looker-psc-demo แล้ว ตามด้วย VPC looker-psc-demo จากนั้นคลิก "ดำเนินการต่อ"


ตรวจสอบ VPC ที่อนุญาต
ดูรายการ VPC ที่อนุญาตที่อัปเดตแล้ว
ใน Cloud Console ให้ไปที่
Looker → อินสแตนซ์ Looker → รายละเอียด

11. สร้างแบ็กเอนด์ PSC
Looker PSC ในฐานะผู้ผลิตบริการจะสร้าง URI ของไฟล์แนบบริการที่ผู้ใช้บริการใช้เพื่อทำให้ใช้งานได้ซึ่งเป็นปลายทางและแบ็กเอนด์เพื่อให้ได้รับสิทธิ์เข้าถึง Looker ในทิศทางต้นน้ำ ในขั้นตอนถัดไป คุณจะระบุ URI ของไฟล์แนบบริการ PSC ของ Looker จากนั้นสร้างแบ็กเอนด์กลุ่มปลายทางเครือข่าย (NEG) ของ Private Service Connect ใน VPC ของผู้ใช้
ระบุการแนบบริการ PSC ของ Looker
ใน Cloud Console ให้ไปที่ URI ของการเชื่อมต่อบริการแล้วคัดลอก
Looker → อินสแตนซ์ Looker → รายละเอียด

สร้างกลุ่มปลายทางของเครือข่าย PSC
ใน Cloud Shell ให้ทำดังนี้โดยตรวจสอบว่าได้อัปเดต psc-target-service แล้ว
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
ตัวอย่าง
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
ตรวจสอบการสร้างกลุ่มปลายทางของเครือข่าย PSC
ใน Cloud Shell ให้ทำดังนี้เพื่อให้มั่นใจว่า pscConnectionStatus ได้รับการยอมรับ
gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
ตัวอย่าง
user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
pscConnectionStatus: ACCEPTED
สร้างตัวจัดสรรภาระงานแอปพลิเคชันระดับภูมิภาค
ในขั้นตอนต่อไปนี้ คุณจะใช้ Cloud Console เพื่อสร้างตัวจัดสรรภาระงานแอปพลิเคชันภายนอกระดับภูมิภาคในขณะที่เชื่อมโยงใบรับรองที่สร้างขึ้นกับการกำหนดค่าฟรอนท์เอนด์
ใน Cloud Console ให้ไปที่
บริการเครือข่าย → การจัดสรรภาระงาน → สร้างตัวจัดสรรภาระงาน

เลือกตัวเลือกต่อไปนี้

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

การเลือกใบรับรองจะแสดงตัวเลือกในการใช้ใบรับรองที่มีอยู่หรือใบรับรองใหม่

อัปโหลดใบรับรองและคีย์ส่วนตัว จากนั้นเลือกสร้าง

เลือก "เสร็จสิ้น" เพื่อทำการกำหนดค่าส่วนหน้าให้เสร็จสมบูรณ์

สร้างการกำหนดค่าแบ็กเอนด์
เลือกตัวเลือกต่อไปนี้




สร้างกฎการกำหนดเส้นทาง
เลือกตัวเลือกต่อไปนี้ (ตัวเลือกเริ่มต้น)

ตรวจสอบและทำให้สิ้นสุด
ยืนยันการกำหนดค่าและเลือกสร้าง

ตอนนี้เปิดใช้ตัวจัดสรรภาระงานแล้ว

เข้าถึง UI ของ Looker
ตอนนี้เมื่อตัวจัดสรรภาระงานทำงานแล้ว คุณจะเข้าถึงโดเมน Looker ที่กำหนดเองผ่านเว็บเบราว์เซอร์ได้ โปรดทราบว่าคุณอาจเห็นคำเตือนขึ้นอยู่กับประเภทของใบรับรองที่ใช้ เช่น ใบรับรองที่ไม่น่าเชื่อถือเทียบกับใบรับรองที่เชื่อถือได้
ต่อไปนี้เป็นตัวอย่าง (ใบรับรองที่ไม่น่าเชื่อถือ) ของการเข้าถึงโดเมนที่กำหนดเองของ Looker ซึ่งคือ looker.cosmopup.com ที่ได้รับการเข้าถึงขาออกไปยัง UI ของ Looker

12. ล้างข้อมูล
ลบคอมโพเนนต์ของ Lab จากเทอร์มินัล Cloud Shell เดียว
gcloud compute forwarding-rules delete regional-external-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-external-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-external-alb --region=$region -q
gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q
gcloud compute addresses delete regional-alb-static-ip --region=$region -q
gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q
gcloud compute networks delete looker-psc-demo -q
13. ขอแสดงความยินดี
ขอแสดงความยินดี คุณได้กำหนดค่าและตรวจสอบการเชื่อมต่อขาออกไปยัง Looker โดยใช้โดเมนของลูกค้าและตัวจัดสรรภาระงานแอปพลิเคชันภายนอกระดับภูมิภาคเรียบร้อยแล้ว
คุณได้สร้างโครงสร้างพื้นฐานสำหรับผู้บริโภค เรียนรู้วิธีสร้าง PSC NEG, โดเมนที่กำหนดเอง และทำความรู้จักกับตัวเลือกใบรับรองต่างๆ มีเรื่องน่าตื่นเต้นมากมายที่จะช่วยให้คุณเริ่มต้นใช้งาน Looker ได้
Cosmopup คิดว่า Codelab นั้นยอดเยี่ยม!!

สิ่งต่อไปที่ควรทำ
ลองใช้ Codelab เหล่านี้
- การใช้ Private Service Connect เพื่อเผยแพร่และใช้บริการ
- เชื่อมต่อกับบริการภายในองค์กรผ่านระบบเครือข่ายแบบไฮบริดโดยใช้ Private Service Connect และตัวจัดสรรภาระงาน TCP Proxy ภายใน
- เข้าถึง Codelab ของ Private Service Connect ที่เผยแพร่ทั้งหมด
อ่านเพิ่มเติมและวิดีโอ
เอกสารอ้างอิง
- ใช้ใบรับรอง SSL ที่จัดการด้วยตนเอง | การจัดสรรภาระงาน | Google Cloud
- ทำให้ใบรับรองที่จัดการโดย Google ระดับภูมิภาคใช้งานได้
- สร้างแบ็กเอนด์ Private Service Connect | VPC | Google Cloud
- สร้างแบ็กเอนด์ Private Service Connect | VPC | Google Cloud
- สร้างอินสแตนซ์ Private Service Connect ของ Looker (Google Cloud Core)
- วิธีเผยแพร่บริการโดยใช้ Private Service Connect