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

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

145ea4672c3a3b14.png

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

รูปที่ 2

259493afd914f68b.png

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

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

สิ่งที่คุณต้องมี

def88091b42bfe4d.png

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

7f06f9b9876f76c4.png

5. การตั้งค่าและข้อกำหนด

การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง

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

fbef9caa1602edd0.pnga99b7ace416376c4.png5e3ff691252acf41.png

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

เริ่มต้น Cloud Shell

แม้ว่าคุณจะใช้งาน Google Cloud จากระยะไกลในแล็ปท็อปได้ แต่ใน Codelab นี้คุณจะใช้ 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. เครือข่ายผู้บริโภค

ในส่วนต่อไปนี้ คุณจะสร้างเครือข่ายผู้ใช้ที่จะได้รับการอัปเดตในรายการที่อนุญาตของ 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

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.png3e26d16d83cceae9.png

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

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

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

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

e34664c867929c66.png

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

PSC ของ Looker ในฐานะผู้ผลิตบริการจะสร้าง URI ของไฟล์แนบบริการที่ผู้ใช้บริการใช้เพื่อติดตั้งใช้งานปลายทางและแบ็กเอนด์เพื่อให้ได้รับสิทธิ์เข้าถึง Looker ในทิศทางเหนือ ในขั้นตอนถัดไป คุณจะต้องระบุ URI ของไฟล์แนบบริการ PSC ของ Looker จากนั้นสร้างแบ็กเอนด์กลุ่มปลายทางเครือข่าย Private Service Connect (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.pngaf3b4a59864b15bc.png6c784cc0169c892b.pngba3bf9fa7d3497a5.png

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

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

8884421f10a50ce0.png

ตรวจสอบและทำให้เสร็จสมบูรณ์

ยืนยันการกำหนดค่าแล้วเลือกสร้าง

bdf5793ba8f46bb9.png

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

61adc0509f07ab15.png

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

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

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

ae43d0d0d7136044.png

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 โดยใช้โดเมนของลูกค้าและตัวจัดสรรภาระงานแอปพลิเคชันภายนอกระดับภูมิภาคเรียบร้อยแล้ว

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

Cosmopup คิดว่า Codelab ยอดเยี่ยมมาก!!

c911c127bffdee57.jpeg

สิ่งต่อไปที่ควรทำ

ลองใช้ Codelab เหล่านี้

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

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