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 Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.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 Console ให้คลิกไอคอน 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 เพื่อรองรับการเข้าถึง Northbound โดยเพิ่ม 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 ของไฟล์แนบบริการที่ผู้ใช้บริการใช้เพื่อทำให้ใช้งานได้ซึ่งเป็นปลายทางและแบ็กเอนด์เพื่อให้ได้รับสิทธิ์เข้าถึง 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. ล้างข้อมูล

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

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

Cosmopup คิดว่า Codelab นั้นยอดเยี่ยม!!

c911c127bffdee57.jpeg

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

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

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

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