Looker PSC Northbound Regional Internal L7 ALB

1. บทนำ

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

3edfcc67e195d082.png

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

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

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

def88091b42bfe4d.png

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

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

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

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

คอมโพเนนต์

คำอธิบาย

VPC (looker-psc-demo)

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

ซับเน็ต PSC NEG

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

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

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

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

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

4. โทโพโลยี Codelab

2f6bb87ef0e139b2.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 consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.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

8. สร้างโดเมนที่กำหนดเอง

คุณต้องทำตามขั้นตอนต่อไปนี้เพื่อสร้างโดเมนที่กำหนดเอง

ในตัวอย่างด้านล่าง 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

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

c80afa6a28b6d922.png

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

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

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

115627dc54d7a582.png

b3eaa88dd02a95c1.png

cf519145f0259061.png

530527bc9273e002.png

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

ไม่ต้องกำหนดค่า

53a80d74b3c7dd56.png

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

29faa25397025fb4.png

538da2b4930d243b.png

bbc13e921681dd65.png

ตรวจสอบว่าได้เปิดใช้ตัวจัดสรรภาระงานแล้วและรับที่อยู่ IP

ใน Cloud Console → บริการเครือข่าย → การโหลดบาลานซ์ → looker-ilb-alb

abc7d02b4c951c73.png

12. การแปลง DNS

การแปลง DNS เป็นโดเมนที่กำหนดเองอาจเป็น DNS ในองค์กรหรือ Cloud DNS ในบทแนะนำนี้ เราจะกำหนด Cloud DNS เป็นเซิร์ฟเวอร์ที่เชื่อถือได้สำหรับโดเมนที่กำหนดเองของ Looker การเปิดใช้การแปลง DNS จากในองค์กรเป็น GCP ต้องเปิดใช้นโยบายเซิร์ฟเวอร์ขาเข้า เมื่อสร้างนโยบายเซิร์ฟเวอร์ขาเข้า Cloud DNS จะสร้างจุดแรกเข้าของนโยบายเซิร์ฟเวอร์ขาเข้าในเครือข่าย VPC ที่ใช้นโยบายเซิร์ฟเวอร์ จุดแรกเข้าของนโยบายเซิร์ฟเวอร์ขาเข้าคือที่อยู่ IPv4 ภายในที่มาจากช่วงที่อยู่ IPv4 หลักของทุกซับเน็ตในเครือข่าย VPC ที่เกี่ยวข้อง ยกเว้นซับเน็ตพร็อกซีเท่านั้น

ในส่วนต่อไปนี้ จะมีการสร้างโซน DNS ส่วนตัวสำหรับโดเมนที่กำหนดเองของ Looker, looker.cosmopup.com และระเบียน A ซึ่งประกอบด้วยที่อยู่ IP ของตัวจัดสรรภาระงาน

13. สร้างโซน DNS ส่วนตัว

สร้างโซนส่วนตัวของ Cloud DNS ใน Cloud Shell

gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"

ใน Cloud Shell ให้สร้างระเบียน A ที่ประกอบด้วยที่อยู่ IP ของตัวจัดสรรภาระงานซึ่งได้มาในขั้นตอนก่อนหน้า

gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"

ตัวอย่าง

gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"

จากนั้นต้องกำหนดค่าเครือข่ายแบบไฮบริด (เช่น การเชื่อมต่อถึงกัน, HA-VPN) ระหว่าง VPC ของ looker-psc-demo กับเครือข่ายภายในองค์กรเพื่อเปิดใช้การเชื่อมต่อ

ด้านล่างนี้คือขั้นตอนที่จำเป็นในการสร้างการเชื่อมต่อ NEG แบบไฮบริดกับองค์กร

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

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

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

ae43d0d0d7136044.png

14. ล้างข้อมูล

จากเทอร์มินัล Cloud Shell เดียว ให้ลบคอมโพเนนต์ของ Lab ดังนี้

gcloud compute forwarding-rules delete regional-internal-alb-fr --region=$region -q

gcloud compute target-https-proxies delete regional-internal-alb-target-proxy --region=$region -q

gcloud compute url-maps delete regional-internal-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

15. ขอแสดงความยินดี

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

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

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

c911c127bffdee57.jpeg

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

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

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

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