Looker PSC Southbound HTTPS Internet NEG Gitlab Self-Managed

1. บทนำ

ในโค้ดแล็บนี้ คุณจะทำการเชื่อมต่อ HTTPS ขาออกกับสภาพแวดล้อม GitLab ที่มีการจัดการด้วยตนเองโดยใช้ตัวจัดสรรภาระงานพร็อกซี TCP ภายในและกลุ่มปลายทางเครือข่าย (NEG) อินเทอร์เน็ตที่เรียกใช้จาก Looker PSC ในฐานะผู้ใช้บริการ

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

รูปที่ 1

145ea4672c3a3b14.png

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

รูปที่ 2

61932a992ba9b6f4.png

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

  • ข้อกำหนดเกี่ยวกับเครือข่าย
  • สร้างบริการของผู้ผลิต Private Service Connect
  • สร้างปลายทาง Private Service Connect ใน Looker
  • สร้างการเชื่อมต่อกับอินสแตนซ์ GitLab ที่มีการจัดการด้วยตนเอง

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

def88091b42bfe4d.png

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

คุณจะสร้างเครือข่ายผู้ผลิต looker-psc-demo เพื่อติดตั้งใช้งานตัวจัดสรรภาระงานพร็อกซี TCP ภายในและ NEG อินเทอร์เน็ตที่เผยแพร่เป็นบริการผ่าน Private Service Connect (PSC) เมื่อเผยแพร่แล้ว คุณจะต้องดำเนินการต่อไปนี้เพื่อตรวจสอบสิทธิ์เข้าถึงบริการ Producer

  • สร้างปลายทาง PSC ใน Looker ที่เชื่อมโยงกับไฟล์แนบเกี่ยวกับบริการของผู้ผลิต
  • ใช้ Looker Console เพื่อสร้างโปรเจ็กต์ใหม่และทดสอบการเชื่อมต่อ HTTPS กับสภาพแวดล้อม GitLab ที่มีการจัดการด้วยตนเอง

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

ด้านล่างนี้คือรายละเอียดข้อกำหนดของเครือข่ายสำหรับเครือข่าย Producer โดยผู้ใช้ใน Codelab นี้คืออินสแตนซ์ PSC ของ Looker

คอมโพเนนต์

คำอธิบาย

VPC (looker-psc-demo)

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

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

ระบบจะแปลแพ็กเก็ตจากเครือข่าย VPC ของผู้ใช้โดยใช้ Source NAT (SNAT) เพื่อแปลงที่อยู่ IP ต้นทางเดิมเป็นที่อยู่ IP ต้นทางจากซับเน็ต NAT ในเครือข่าย VPC ของผู้ผลิต

ซับเน็ตของกฎการส่งต่อ PSC

ใช้เพื่อจัดสรรที่อยู่ IP สำหรับตัวจัดสรรภาระงานพร็อกซี TCP ภายในระดับภูมิภาค

ซับเน็ต PSC NEG

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

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

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

NEG อินเทอร์เน็ต

ทรัพยากรที่ใช้เพื่อกำหนดแบ็กเอนด์ภายนอกสำหรับตัวจัดสรรภาระงานที่กำหนดค่าเป็น FQDN ซึ่งระบุ FQDN ของ Gitlab Self-Managed ในองค์กร FQDN ของอินเทอร์เน็ตจะทำการค้นหา DNS ภายใน VPC เพื่อการแก้ไข

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

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

4. โทโพโลยี Codelab

34950ed6ef504309.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. สร้างเครือข่าย VPC ของผู้ผลิต

เครือข่าย VPC

ใน Cloud Shell ให้ทำดังนี้

gcloud compute networks create looker-psc-demo --subnet-mode custom

สร้างซับเน็ต

ซับเน็ต PSC จะเชื่อมโยงกับไฟล์แนบบริการ PSC เพื่อวัตถุประสงค์ในการแปลที่อยู่เครือข่าย

สร้างซับเน็ต NAT ของ PSC ใน Cloud Shell โดยทำดังนี้

gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

สร้างซับเน็ตของกฎการส่งต่อสำหรับผู้ผลิตภายใน Cloud Shell โดยทำดังนี้

gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.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 internet-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

ดูที่อยู่ IP ที่สงวนไว้ภายใน Cloud Shell

gcloud compute addresses describe internet-neg-lb-ip \
  --region=$region | grep -i address:

ตัวอย่างเอาต์พุต

user@cloudshell$ gcloud compute addresses describe internet-neg-lb-ip   --region=$region | grep -i address:
address: 172.16.20.2

ตั้งค่า NEG อินเทอร์เน็ต

สร้าง NEG อินเทอร์เน็ต และตั้งค่า –network-endpoint-type เป็น internet-fqdn-port (ชื่อโฮสต์และพอร์ตที่เข้าถึงแบ็กเอนด์ภายนอกได้)

ภายใน Cloud Shell ให้สร้าง NEG อินเทอร์เน็ตที่ใช้สำหรับการเข้าถึงอินสแตนซ์ Gitlab Self-Managed ซึ่งก็คือ gitlabonprem.com

gcloud compute network-endpoint-groups create gitlab-self-managed-internet-neg \
    --network-endpoint-type=INTERNET_FQDN_PORT \
    --network=looker-psc-demo \
    --region=$region

ใน Cloud Shell ให้อัปเดต gitlab-self-managed-internet-neg ของ NEG อินเทอร์เน็ตด้วย FQDN gitlabonprem.com และพอร์ต 443

gcloud compute network-endpoint-groups update gitlab-self-managed-internet-neg \
    --add-endpoint="fqdn=gitlabonprem.com,port=443" \
    --region=$region

สร้างกฎไฟร์วอลล์เครือข่าย

หากต้องการอนุญาตให้ IAP เชื่อมต่อกับอินสแตนซ์ VM ให้สร้างกฎไฟร์วอลล์ที่มีลักษณะดังนี้

  • มีผลกับอินสแตนซ์ VM ทั้งหมดที่คุณต้องการให้เข้าถึงได้โดยใช้ IAP
  • อนุญาตการรับส่งข้อมูลขาเข้าจากช่วง IP 35.235.240.0/20 ช่วงนี้มีที่อยู่ IP ทั้งหมดที่ IAP ใช้สำหรับการส่งต่อ TCP

สร้างกฎไฟร์วอลล์ IAP ภายใน Cloud Shell

gcloud compute firewall-rules create ssh-iap-looker-psc-demo \
    --network looker-psc-demo \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

8. สร้างบริการของผู้ผลิต

สร้างคอมโพเนนต์ของตัวจัดสรรภาระงาน

ใน Cloud Shell ให้ทำดังนี้

gcloud compute backend-services create producer-backend-svc  --protocol=tcp --region=$region --load-balancing-scheme=INTERNAL_MANAGED

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=gitlab-self-managed-internet-neg --network-endpoint-group-region=$region --region=$region

ใน Cloud Shell ให้สร้างพร็อกซี TCP เป้าหมายเพื่อกำหนดเส้นทางคำขอไปยังบริการแบ็กเอนด์

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

ในไวยากรณ์ต่อไปนี้ ให้สร้างกฎการส่งต่อ (ตัวจัดสรรภาระงานพร็อกซี TCP ภายใน)

ใน Cloud Shell ให้ทำดังนี้

gcloud compute forwarding-rules create producer-gitlab-self-managed-fr\
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=looker-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=internet-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --ports=443

สร้าง Service Attachment

สร้างไฟล์แนบบริการ gitlab-self-managed-svc-attachment-https ภายใน Cloud Shell โดยมีการอนุมัติอัตโนมัติที่อนุญาตให้การเชื่อมต่อ Looker Core กับไฟล์แนบบริการ หากต้องการควบคุมการเข้าถึงการเชื่อมต่อบริการ ระบบจะรองรับตัวเลือกการอนุมัติอย่างชัดแจ้ง

gcloud compute service-attachments create gitlab-self-managed-svc-attachment-https --region=$region --producer-forwarding-rule=producer-gitlab-self-managed-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

จากนั้น ให้รับและจดบันทึก Service Attachment ที่แสดงใน URI ของ selfLink ซึ่งเริ่มต้นด้วยโปรเจ็กต์เพื่อกำหนดค่าปลายทาง PSC ใน Looker

selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/gitlab-self-managed-svc-attachment-https

ใน Cloud Shell ให้ทำดังนี้

gcloud compute service-attachments describe gitlab-self-managed-svc-attachment-https --region=$region

ตัวอย่าง

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-03-04T18:55:42.254-08:00'
description: ''
enableProxyProtocol: false
fingerprint: MlY9GLLGsgE=
id: '9103522880241140673'
kind: compute#serviceAttachment
name: gitlab-self-managed-svc-attachment-https
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '115404658846991336'
  low: '9103522880241140673'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/serviceAttachments/gitlab-self-managed-svc-attachment-https
targetService: https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/forwardingRules/producer-gitlab-self-managed-fr

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

บริการเครือข่าย → Private Service Connect → บริการที่เผยแพร่

6fa12f77e4640b08.png

43987fabbabb41ad.png

9. สร้างการเชื่อมต่อปลายทาง PSC ใน Looker

ในส่วนต่อไปนี้ คุณจะเชื่อมโยงการแนบบริการของผู้ผลิตกับ PSC หลักของ Looker โดยใช้แฟล็ก -psc-service-attachment ใน Cloud Shell สำหรับโดเมนเดียว

ใน Cloud Shell ให้สร้างการเชื่อมโยง PSC โดยอัปเดตพารามิเตอร์ต่อไปนี้ให้ตรงกับสภาพแวดล้อมของคุณ

  • INSTANCE_NAME: ชื่ออินสแตนซ์ Looker (Google Cloud Core)
  • DOMAIN_1: gitlabonprem.com
  • SERVICE_ATTACHMENT_1: URI ที่บันทึกไว้เมื่ออธิบาย Service Attachment, gitlab-self-managed-svc-attachment-https
  • REGION: ภูมิภาคที่โฮสต์อินสแตนซ์ Looker (Google Cloud Core)

ใน Cloud Shell ให้ทำดังนี้

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

ตัวอย่าง

gcloud looker instances update looker-psc-instance \
--psc-service-attachment  domain=gitlabonprem.com,attachment=projects/$project/regions/$region/serviceAttachments/gitlab-self-managed-svc-attachment-https \
--region=$region

ใน Cloud Shell ให้ตรวจสอบว่า connectionStatus ของ serviceAttachments เป็น "ACCEPTED" แล้วอัปเดตด้วย INSTANCE_NAME ของ Looker PSC

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

ตัวอย่าง

gcloud looker instances describe looker-psc-instance --region=$region --format=json

ตัวอย่าง

{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "cosmopup.looker.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.12.28",
  "name": "projects/$project/locations/$region/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
    "projects/$project/global/networks/looker-psc-demo"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "gitlabonprem.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/gitlab-self-managed-svc-attachment-https"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-08-30T17:47:33.440271635Z"
}

ตรวจสอบความถูกต้องของปลายทาง PSC ใน Cloud Console

คุณสามารถตรวจสอบการเชื่อมต่อ PSC จาก Cloud Console ได้

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

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

2d4684d722d31e4b.png

2d600f33dc61cb6d.png

10. การแปลง DNS

ในส่วนต่อไปนี้ ให้สร้างอินสแตนซ์ GCE และตรวจสอบความละเอียดของ DNS ไปยังอินสแตนซ์ Gitlab Self-Managed, gitlabonprem.com โดยการ PING ตามที่คาดไว้ การแก้ปัญหาจะล้มเหลวซึ่งต้องใช้โซน DNS ส่วนตัวสำหรับ gitlabonprem.com

11. สร้างอินสแตนซ์ GCE

สร้างอินสแตนซ์ GCE ที่ใช้เพื่อตรวจสอบความถูกต้องของการแปลง DNS ภายใน Cloud Shell

gcloud compute instances create gce-dns-lookup \
    --project=$projectid \
    --machine-type=e2-micro \
    --image-family debian-11 \
    --no-address \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=producer-psc-fr-subnet

เข้าสู่ระบบ consumer-vm โดยใช้ IAP ใน Cloud Shell เพื่อตรวจสอบการเชื่อมต่อกับบริการของผู้ผลิตโดยใช้ curl ลองอีกครั้งหากหมดเวลา

gcloud compute ssh gce-dns-lookup --project=$projectid --zone=us-central1-a --tunnel-through-iap

จากระบบปฏิบัติการ ให้ PING ไปยัง gitlabonprem.com ซึ่งคาดว่าจะไม่สำเร็จ

ping gitlabonprem.com

ตัวอย่าง

user@gce-dns-lookup:~$ ping gitlabonprem.com
ping: gitlabonprem.com: Name or service not known

ออกจากระบบปฏิบัติการเพื่อกลับไปที่เทอร์มินัล Cloud Shell

exit

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

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

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

สร้างระเบียน A ที่ประกอบด้วยที่อยู่ IP ของอินสแตนซ์ Gitlab Self-Managed, 192.168.10.4 ภายใน Cloud Shell

gcloud dns --project=$projectid record-sets create gitlabonprem.com. --zone="gitlab-self-managed" --type="A" --ttl="300" --rrdatas="192.168.10.4"

เข้าสู่ระบบ consumer-vm โดยใช้ IAP ใน Cloud Shell เพื่อตรวจสอบการเชื่อมต่อกับบริการของผู้ผลิตโดยใช้ curl ลองอีกครั้งหากหมดเวลา

gcloud compute ssh gce-dns-lookup --project=$projectid --zone=us-central1-a --tunnel-through-iap

จากระบบปฏิบัติการ ให้ PING ไปยัง gitlabonprem.com ซึ่งจะเปลี่ยนเป็น 192.168.10.4

ping gitlabonprem.com

ตัวอย่าง

user@gce-dns-lookup:~$ ping gitlabonprem.com
PING gitlabonprem.com (192.168.10.4) 56(84) bytes of data

ออกจากระบบปฏิบัติการเพื่อกลับไปที่เทอร์มินัล Cloud Shell

exit

13. การเชื่อมต่อแบบผสม

ตอนนี้ FQDN gitlabonprem.com สามารถแก้ไขได้ด้วยที่อยู่ IP ส่วนตัวที่โฮสต์ในองค์กร จากนั้นต้องกำหนดค่าเครือข่ายแบบไฮบริด (เช่น Interconnect, HA-VPN) ระหว่าง VPC ของ looker-psc-demo กับเครือข่ายภายในองค์กรเพื่อเปิดใช้การเชื่อมต่อ

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

14. ทดสอบการเชื่อมต่อ

ในขั้นตอนต่อไปนี้ คุณจะใช้ Looker Console เพื่อสร้างโปรเจ็กต์เพื่อตรวจสอบการเชื่อมต่อ HTTPS กับ gitlabonprem.com โดยใช้ขั้นตอนที่ระบุไว้ในการตั้งค่าและการทดสอบการเชื่อมต่อ Git

ae3b3884e8ef5db8.png

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

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

gcloud compute service-attachments delete gitlab-self-managed-svc-attachment-https --region=$region -q

gcloud compute forwarding-rules delete producer-gitlab-self-managed-fr --region=$region -q

gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q

gcloud compute backend-services delete producer-backend-svc --region=$region -q

gcloud compute network-endpoint-groups delete gitlab-self-managed-internet-neg --region=$region -q

gcloud compute instances delete gce-dns-lookup --zone=us-central1-a -q

gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q

gcloud dns --project=$projectid record-sets delete gitlabonprem.com. --zone="gitlab-sel
f-managed" --type="A"

gcloud dns --project=$projectid managed-zones delete gitlab-self-managed 

gcloud compute networks delete looker-psc-demo -q

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

ยินดีด้วย คุณกำหนดค่าและตรวจสอบการเชื่อมต่อกับอินสแตนซ์ GitLab ที่มีการจัดการด้วยตนเองโดยใช้ Looker Console ที่ขับเคลื่อนโดย Private Service Connect เรียบร้อยแล้ว

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

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

c911c127bffdee57.jpeg

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

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

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

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