1. บทนำ
ในโค้ดแล็บนี้ คุณจะได้สร้าง L7 Regional Application Load Balancer และ Private Service Connect Backend เพื่อรับสิทธิ์เข้าถึง 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-demo) | 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 การทำตามโค้ดแล็บนี้จะไม่เสียค่าใช้จ่ายมากนัก หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินหลังจากบทแนะนำนี้ คุณก็ลบทรัพยากรที่สร้างไว้หรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD
เริ่ม Cloud Shell
แม้ว่า Google Cloud จะทำงานจากระยะไกลจากแล็ปท็อปได้ แต่ในโค้ดแล็บนี้ คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์
จากคอนโซล Google Cloud ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน
การจัดสรรและเชื่อมต่อกับสภาพแวดล้อมจะใช้เวลาเพียงไม่กี่นาที เมื่อดำเนินการเสร็จแล้ว คุณควรเห็นข้อมูลดังต่อไปนี้
เครื่องเสมือนนี้โหลดเครื่องมือการพัฒนาทั้งหมดที่คุณต้องการ ซึ่งจะมีไดเรกทอรีหลักขนาด 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]
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
ดูที่อยู่ 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 ระดับภูมิภาค ไม่รองรับการแมปใบรับรอง เครื่องมือจัดการใบรับรองรองรับใบรับรองที่จัดการโดย 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
PSC ของ Looker ในฐานะ Service Producer จะสร้าง URI ของไฟล์แนบบริการที่ Service Consumer ใช้ในการติดตั้งใช้งานปลายทางและแบ็กเอนด์เพื่อรับสิทธิ์เข้าถึง 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. ล้างข้อมูล
ลบคอมโพเนนต์ของห้องทดลองจากเทอร์มินัล 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 ภายใน
- เข้าถึง 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