ALB ภายนอกระดับภูมิภาคของ Looker PSC ในระดับเหนือ

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

145ea4672c3a3b14.png

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

รูปที่ 2

259493afd914f68b.png

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

  • ข้อกำหนดเกี่ยวกับเครือข่าย
  • อัปเดตรายการที่อนุญาตของ Looker สำหรับการเข้าถึงจากฝั่งที่ส่งออกข้อมูล
  • สร้างแบ็กเอนด์ Private Service Connect ใน VPC ของผู้บริโภค
  • ใบรับรองของ Google กับใบรับรองที่ลงนามด้วยตนเอง

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

def88091b42bfe4d.png

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

คุณจะต้องสร้างเครือข่ายผู้บริโภคที่ได้รับอนุญาต, Looker-psc-Demo เพื่อติดตั้งใช้งานตัวจัดสรรภาระงานแอปพลิเคชัน L7 ภายนอกและ NEG แบ็กเอนด์ของ PSC ซึ่งต้องใช้ใบรับรองของ Google หรือใบรับรองที่ลงนามด้วยตนเอง ไม่ว่าวิธีใดก็ตาม คุณต้องระบุโดเมนที่ลงทะเบียนซึ่งตรงกับโดเมนที่กำหนดเองซึ่งกำหนดไว้ใน Looker

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

รายละเอียดข้อกำหนดของเครือข่ายมีดังนี้

คอมโพเนนต์

คำอธิบาย

VPC (การสาธิต Looker-PSC)

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

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

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

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

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

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

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

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

7f06f9b9876f76c4.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 การใช้งาน Codelab นี้จะไม่มีค่าใช้จ่ายใดๆ หากมี หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินหลังจากบทแนะนำนี้ คุณก็ลบทรัพยากรที่สร้างไว้หรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud ใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรี$300 USD

เริ่ม Cloud Shell

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

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

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

เครื่องเสมือนนี้เต็มไปด้วยเครื่องมือการพัฒนาทั้งหมดที่คุณต้องการ ซึ่งจะมีไดเรกทอรีหลักขนาด 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

6be44a9b2536e3f4.png

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

5424ce99136d5b3a.png

ตัวอย่าง OAuth

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

c7e5b8c7d2cc6a01.png

9. ใบรับรอง

คุณสร้างใบรับรอง Compute Engine หรือ Certificate Manager ก็ได้ ใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อสร้างใบรับรองโดยใช้ตัวจัดการใบรับรอง

10. การอนุญาต VPC ใน Looker

ดู VPC ที่อนุญาต

ในส่วนต่อไปนี้ คุณจะใช้ UI ของ Cloud Console เพื่อดูรายการ VPC ที่อนุญาตของ Looker

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

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

ตัวอย่างด้านล่างนี้ไม่มีรายการในรายการ VPC ที่อนุญาต

ad33177a2d721ea7.png

อัปเดต VPC ที่อนุญาต

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

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

Looker → อินสแตนซ์ Looker → แก้ไข

cbbc069688890b82.png

การเชื่อมต่อ → VPC ที่อนุญาต

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

dc931643e1b220a.png

3e26d16d83cceae9.png

ตรวจสอบ VPC ที่อนุญาต

ดูรายการ VPC ที่อนุญาตที่อัปเดตแล้ว

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

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

e34664c867929c66.png

11. สร้างแบ็กเอนด์ PSC

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

ระบุไฟล์แนบบริการ PSC ของ Looker

ใน Cloud Console ให้ไปยังส่วนต่างๆ และคัดลอก URI ของไฟล์แนบบริการด้วยคำสั่งต่อไปนี้

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

a253f94e946a1eef.png

สร้างกลุ่มปลายทางของเครือข่าย 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 ให้ไปที่

บริการเครือข่าย → การจัดสรรภาระงาน → สร้างตัวจัดสรรภาระงาน

e3474ca153d7c55a.png

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

63c2e656953444f2.png

สร้างการกำหนดค่าฟรอนท์เอนด์

เลือกตัวเลือกต่อไปนี้และปรับแต่งสภาพแวดล้อมตามการใช้งาน

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

a1c24bd4650b27d3.png

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

aac196a6fa1ee3d5.png

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

64a390bda0c9c3f1.png

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

758a1921e3020854.png

สร้างการกำหนดค่าแบ็กเอนด์

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

e9bf17b1277bd597.png

af3b4a59864b15bc.png

6c784cc0169c892b.png

ba3bf9fa7d3497a5.png

สร้างกฎการกำหนดเส้นทาง

เลือกตัวเลือกต่อไปนี้ (ตัวเลือกเริ่มต้น)

8884421f10a50ce0.png

ตรวจสอบและทำให้สิ้นสุด

ตรวจสอบการกำหนดค่าและเลือกสร้าง:

bdf5793ba8f46bb9.png

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

61adc0509f07ab15.png

เข้าถึง UI ของ Looker

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

ด้านล่างนี้คือตัวอย่าง (ใบรับรองที่ไม่น่าเชื่อถือ) ของการเข้าถึงโดเมนที่กำหนดเองของ Looker ซึ่งก็คือ looker.cosmopup.com ที่ได้รับสิทธิ์เข้าถึง UI ของ Looker จากฝั่งเหนือ

ae43d0d0d7136044.png

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 เจ๋งสุดๆ

c911c127bffdee57.jpeg

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

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

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

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