1. บทนำ
ใน Codelab นี้ คุณจะได้สร้างตัวจัดสรรภาระงานแอปพลิเคชันระดับภูมิภาค L7 และ แบ็กเอนด์ Private Service Connect ให้เข้าถึง Looker แบบทิศเหนือได้ การเข้าถึง Looker จากฝั่งเน็ทเวิร์กภายนอกต้องมี VPC ของผู้บริโภคอยู่ในรายการที่อนุญาตของอินสแตนซ์ PSC ของ Looker
Private Service Connect เป็นความสามารถของเครือข่าย Google Cloud ที่ช่วยให้ผู้บริโภคเข้าถึงบริการที่มีการจัดการแบบส่วนตัวได้จากภายในเครือข่าย VPC ในทำนองเดียวกัน ฟีเจอร์นี้ยังช่วยให้ผู้ผลิตบริการที่มีการจัดการโฮสต์บริการเหล่านี้ในเครือข่าย VPC แยกต่างหากของตนเองและมอบการเชื่อมต่อส่วนตัวแก่ผู้บริโภคได้ ตัวอย่างเช่น เมื่อคุณใช้ Private Service Connect เพื่อเข้าถึง Looker แสดงว่าคุณเป็นผู้บริโภคบริการ และ Google เป็นผู้ให้บริการ ดังที่ไฮไลต์ในรูปที่ 1
รูปที่ 1
การเข้าถึงจากฝั่งเซาท์หรือที่เรียกว่า PSC แบบย้อนกลับช่วยให้ผู้บริโภคสร้างบริการที่เผยแพร่ในฐานะผู้ผลิตได้ เพื่ออนุญาตให้ Looker เข้าถึงอุปกรณ์ปลายทางในองค์กร ใน VPC, บริการที่มีการจัดการ และอินเทอร์เน็ต การเชื่อมต่อขาลงสามารถใช้งานได้ในทุกภูมิภาค ไม่ว่าจะติดตั้งใช้งาน Looker PSC ไว้ที่ใดก็ตาม ดังที่ไฮไลต์ในรูปที่ 2
รูปที่ 2
สิ่งที่คุณจะได้เรียนรู้
- ข้อกำหนดเกี่ยวกับเครือข่าย
- อัปเดตรายการที่อนุญาตของ Looker สำหรับการเข้าถึงจากฝั่งที่ส่งออกข้อมูล
- สร้างแบ็กเอนด์ Private Service Connect ใน VPC ของผู้บริโภค
- ใบรับรองของ Google กับใบรับรองที่ลงนามด้วยตนเอง
สิ่งที่ต้องมี
- โปรเจ็กต์ Google Cloud ที่มีสิทธิ์ระดับเจ้าของ
- โดเมนที่จดทะเบียน
- อินสแตนซ์ PSC ของ Looker ที่มีอยู่
2. สิ่งที่คุณจะสร้าง
คุณจะต้องสร้างเครือข่ายผู้บริโภคที่ได้รับอนุญาต, Looker-psc-Demo เพื่อติดตั้งใช้งานตัวจัดสรรภาระงานแอปพลิเคชัน L7 ภายนอกและ NEG แบ็กเอนด์ของ PSC ซึ่งต้องใช้ใบรับรองของ Google หรือใบรับรองที่ลงนามด้วยตนเอง ไม่ว่าวิธีใดก็ตาม คุณต้องระบุโดเมนที่ลงทะเบียนซึ่งตรงกับโดเมนที่กำหนดเองซึ่งกำหนดไว้ใน Looker
3. ข้อกำหนดเกี่ยวกับเครือข่าย
รายละเอียดข้อกำหนดของเครือข่ายมีดังนี้
คอมโพเนนต์ | คำอธิบาย |
VPC (การสาธิต Looker-PSC) | VPC โหมดที่กำหนดเอง |
ซับเน็ต NEG ของ PSC | ใช้เพื่อจัดสรรที่อยู่ IP สำหรับกลุ่มปลายทางของเครือข่าย |
ซับเน็ตเฉพาะพร็อกซี | พร็อกซีแต่ละรายการของตัวจัดสรรภาระงานจะได้รับที่อยู่ IP ภายใน แพ็กเกตที่ส่งจากพร็อกซีไปยัง VM แบ็กเอนด์หรือปลายทางจะมีที่อยู่ IP ต้นทางจากซับเน็ตเฉพาะพร็อกซี |
บริการแบ็กเอนด์ | บริการแบ็กเอนด์ทำหน้าที่เป็นสะพานเชื่อมระหว่างตัวจัดสรรภาระงานและทรัพยากรแบ็กเอนด์ ในบทแนะนำ บริการแบ็กเอนด์จะเชื่อมโยงกับ PSC NEG |
4. โทโพโลยีของ Codelab
5. การตั้งค่าและข้อกำหนด
การตั้งค่าสภาพแวดล้อมในแบบของคุณ
- ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี
- ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ เป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ โดยคุณจะอัปเดตวิธีการชำระเงินได้ทุกเมื่อ
- รหัสโปรเจ็กต์จะซ้ำกันไม่ได้ในโปรเจ็กต์ Google Cloud ทั้งหมดและจะเปลี่ยนแปลงไม่ได้ (เปลี่ยนแปลงไม่ได้หลังจากตั้งค่าแล้ว) คอนโซล Cloud จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นคืออะไร ในโค้ดแล็บส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (ปกติจะระบุเป็น
PROJECT_ID
) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสอื่นแบบสุ่มได้ หรือคุณจะลองดำเนินการเองแล้วดูว่าพร้อมให้ใช้งานหรือไม่ คุณจะเปลี่ยนแปลงหลังจากขั้นตอนนี้ไม่ได้ และชื่อนี้จะคงอยู่ตลอดระยะเวลาของโปรเจ็กต์ - โปรดทราบว่ามีค่าที่ 3 ซึ่งเป็นหมายเลขโปรเจ็กต์ที่ API บางรายการใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 ค่าเหล่านี้ในเอกสารประกอบ
- ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การใช้งาน Codelab นี้จะไม่มีค่าใช้จ่ายใดๆ หากมี หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินหลังจากบทแนะนำนี้ คุณก็ลบทรัพยากรที่สร้างไว้หรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud ใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรี$300 USD
เริ่ม Cloud Shell
แม้ว่า Google Cloud จะทำงานจากระยะไกลจากแล็ปท็อปได้ แต่ในโค้ดแล็บนี้ คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์
จากคอนโซล Google Cloud ให้คลิกไอคอน 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. เครือข่ายของผู้บริโภค
ในส่วนต่อไปนี้ คุณจะต้องสร้างเครือข่ายผู้บริโภคที่จะอัปเดตในรายการที่อนุญาต VPC ของ PSC ของ Looker
เครือข่าย 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 ของตัวจัดสรรภาระงาน
จองที่อยู่ IP ภายนอกสำหรับตัวจัดสรรภาระงานใน Cloud Shell โดยทำดังนี้
gcloud compute addresses create regional-alb-static-ip \
--region=$region \
--network-tier=STANDARD
ใน Cloud Shell ให้ดูที่อยู่ IP ที่สงวนไว้:
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 ระดับภูมิภาค ไม่รองรับการแมปใบรับรอง ตัวจัดการใบรับรองรองรับใบรับรองที่จัดการโดย Google ระดับภูมิภาคประเภทต่อไปนี้
- ใบรับรองระดับภูมิภาคที่ Google จัดการซึ่งมีการให้สิทธิ์ DNS ต่อโปรเจ็กต์ ดูข้อมูลเพิ่มเติมได้ที่ทำให้ใบรับรองระดับภูมิภาคที่ Google จัดการใช้งานได้
- ใบรับรอง (ส่วนตัว) ที่จัดการโดย Google ระดับภูมิภาคที่มีบริการผู้ออกใบรับรอง ดูข้อมูลเพิ่มเติมได้ที่หัวข้อทำให้ใบรับรองระดับภูมิภาคที่ Google จัดการใช้งานได้ด้วยบริการ CA
10. การอนุญาต VPC ใน Looker
ดู VPC ที่อนุญาต
ในส่วนต่อไปนี้ คุณจะใช้ UI ของ Cloud Console เพื่อดูรายการ VPC ที่อนุญาตของ Looker
ใน Cloud Console ให้ไปที่
Looker → อินสแตนซ์ Looker → รายละเอียด
ตัวอย่างด้านล่างนี้ไม่มีรายการในรายการ VPC ที่อนุญาต
อัปเดต VPC ที่อนุญาต
อัปเดตอินสแตนซ์ Looker เพื่อรองรับการเข้าถึงระดับเหนือโดยเพิ่ม 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 ไฟล์แนบบริการที่ใช้โดย Service Consumer เพื่อทำให้ปลายทางและแบ็กเอนด์ใช้งานได้เพื่อให้มีสิทธิ์เข้าถึง Looker ในทิศเหนือ ในขั้นตอนต่อไปนี้ คุณจะระบุ URI ของไฟล์แนบบริการ Looker PSC ตามด้วยการสร้างแบ็กเอนด์กลุ่มปลายทาง (NEG) เครือข่ายบริการส่วนตัวใน 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. ล้างข้อมูล
ลบคอมโพเนนต์ของห้องทดลองจากเทอร์มินัล 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 ทางทิศเหนือเรียบร้อยแล้ว โดยใช้ตัวจัดสรรภาระงานแอปพลิเคชันภายนอกและโดเมนของลูกค้า
คุณได้สร้างโครงสร้างพื้นฐานสำหรับผู้บริโภค, เรียนรู้วิธีสร้าง NEG ของ PSC, โดเมนที่กำหนดเอง และทำความรู้จักกับตัวเลือกใบรับรองต่างๆ มีสิ่งน่าสนใจมากมายที่จะทำให้คุณก้าวไปอีกขั้นด้วย Looker
Cosmopup คิดว่า Codelab เจ๋งสุดๆ
ขั้นตอนถัดไป
ลองดู Codelab เหล่านี้...
- การใช้ Private Service Connect เพื่อเผยแพร่และใช้บริการ
- เชื่อมต่อกับบริการภายในองค์กรผ่านเครือข่ายแบบผสมโดยใช้ Private Service Connect และตัวจัดสรรภาระงานพร็อกซี TCP ภายใน
- สิทธิ์เข้าถึง 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)
- วิธีเผยแพร่บริการโดยใช้ Private Service Connect