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

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

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-demo)

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 การทำตามโค้ดแล็บนี้จะไม่เสียค่าใช้จ่ายมากนัก หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินหลังจากบทแนะนำนี้ คุณก็ลบทรัพยากรที่สร้างไว้หรือลบโปรเจ็กต์ได้ ผู้ใช้ 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]
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

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

PSC ของ Looker ในฐานะ Service Producer จะสร้าง URI ของไฟล์แนบบริการที่ Service Consumer ใช้ในการติดตั้งใช้งานปลายทางและแบ็กเอนด์เพื่อรับสิทธิ์เข้าถึง Looker จากฝั่งเหนือ ในขั้นตอนถัดไป คุณจะระบุ URI ไฟล์แนบบริการ PSC ของ Looker ตามด้วยการสร้างแบ็กเอนด์กลุ่มปลายทางเครือข่าย (NEG) ของ Private Service Connect ใน 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 โดยใช้โดเมนของลูกค้าและตัวจัดสรรภาระงานแอปพลิเคชันภายนอกระดับภูมิภาคเรียบร้อยแล้ว

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

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

c911c127bffdee57.jpeg

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

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

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

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