1. บทนำ
ในโค้ดแล็บนี้ คุณจะทำการเชื่อมต่อ HTTPS ไปทางใต้กับสภาพแวดล้อมที่จัดการเองของ GitLab โดยใช้ตัวจัดสรรภาระงานพร็อกซี TCP ภายในและกลุ่มปลายทางเครือข่ายอินเทอร์เน็ต (NEG) ที่เรียกใช้จาก PSC ของ Looker ในฐานะผู้บริโภคบริการ
Private Service Connect เป็นความสามารถของเครือข่าย Google Cloud ที่ช่วยให้ผู้บริโภคเข้าถึงบริการที่มีการจัดการแบบส่วนตัวได้จากภายในเครือข่าย VPC ในทำนองเดียวกัน ฟีเจอร์นี้ยังช่วยให้ผู้ผลิตบริการที่มีการจัดการโฮสต์บริการเหล่านี้ในเครือข่าย VPC แยกต่างหากของตนเองและมอบการเชื่อมต่อส่วนตัวแก่ผู้บริโภคได้ ตัวอย่างเช่น เมื่อคุณใช้ Private Service Connect เพื่อเข้าถึง Looker แสดงว่าคุณเป็นผู้บริโภคบริการ และ Google เป็นผู้ให้บริการ ดังที่ไฮไลต์ในรูปที่ 1
รูปที่ 1
การเข้าถึงจากฝั่งเซาท์หรือที่เรียกว่า PSC แบบย้อนกลับช่วยให้ผู้บริโภคสร้างบริการที่เผยแพร่ในฐานะผู้ผลิตได้ เพื่ออนุญาตให้ Looker เข้าถึงอุปกรณ์ปลายทางในองค์กร ใน VPC, บริการที่มีการจัดการ และอินเทอร์เน็ต การเชื่อมต่อขาลงสามารถติดตั้งใช้งานได้ในทุกภูมิภาค ไม่ว่าจะติดตั้ง Looker PSC ไว้ที่ใดก็ตาม ดังที่ไฮไลต์ไว้ในรูปที่ 2
รูปที่ 2
สิ่งที่คุณจะได้เรียนรู้
- ข้อกำหนดเกี่ยวกับเครือข่าย
- สร้างบริการของผู้ผลิต Private Service Connect
- สร้างปลายทาง Private Service Connect ใน Looker
- สร้างการเชื่อมต่อกับอินสแตนซ์ GitLab ที่จัดการเอง
สิ่งที่ต้องมี
- โปรเจ็กต์ Google Cloud ที่มีสิทธิ์ระดับเจ้าของ
- บัญชีและที่เก็บ GitLab
- อินสแตนซ์ PSC ของ Looker ที่มีอยู่
2. สิ่งที่คุณจะสร้าง
คุณจะต้องสร้างเครือข่ายผู้ผลิต looker-psc-demo เพื่อติดตั้งใช้งานตัวจัดสรรภาระงานพร็อกซี TCP ภายในและ NEG ของอินเทอร์เน็ตที่เผยแพร่เป็นบริการผ่าน Private Service Connect (PSC) เมื่อเผยแพร่แล้ว คุณจะทำการดำเนินการต่อไปนี้เพื่อตรวจสอบสิทธิ์เข้าถึงบริการของพาร์ทเนอร์เนื้อหา
- สร้างปลายทาง PSC ใน Looker ที่เชื่อมโยงกับไฟล์แนบเกี่ยวกับบริการของผู้ผลิต
- ใช้ Looker Console เพื่อสร้างโปรเจ็กต์ใหม่และทดสอบการเชื่อมต่อ HTTPS กับสภาพแวดล้อม GitLab ที่จัดการเอง
3. ข้อกำหนดเกี่ยวกับเครือข่าย
ด้านล่างนี้คือรายละเอียดข้อกําหนดของเครือข่ายสําหรับเครือข่ายของผู้ผลิต โดยผู้บริโภคในโค้ดแล็บนี้คืออินสแตนซ์ 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 FQDN ของอินเทอร์เน็ตจะทำการค้นหา DNS ภายใน VPC เพื่อแปลง |
บริการแบ็กเอนด์ | บริการแบ็กเอนด์ทำหน้าที่เป็นบริดจ์ระหว่างตัวจัดสรรภาระงานกับทรัพยากรแบ็กเอนด์ ในบทแนะนำ บริการแบ็กเอนด์จะเชื่อมโยงกับ NEG ของอินเทอร์เน็ต |
4. โทโพโลยีของ Codelab
5. การตั้งค่าและข้อกําหนด
การตั้งค่าสภาพแวดล้อมด้วยตนเอง
- ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี
- ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ คุณจะอัปเดตได้ทุกเมื่อ
- รหัสโปรเจ็กต์จะซ้ำกันไม่ได้ในโปรเจ็กต์ Google Cloud ทั้งหมดและจะเปลี่ยนแปลงไม่ได้ (เปลี่ยนแปลงไม่ได้หลังจากตั้งค่าแล้ว) คอนโซล Cloud จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นจะเป็นอะไร ในโค้ดแล็บส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (ปกติจะระบุเป็น
PROJECT_ID
) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสอื่นแบบสุ่มได้ หรือจะลองใช้อุปกรณ์ของคุณเองเพื่อดูว่าอุปกรณ์พร้อมใช้งานหรือไม่ก็ได้ คุณจะเปลี่ยนแปลงชื่อหลังจากขั้นตอนนี้ไม่ได้ และชื่อดังกล่าวจะคงอยู่ตลอดระยะเวลาของโปรเจ็กต์ - โปรดทราบว่ามีค่าที่ 3 ซึ่งเป็นหมายเลขโปรเจ็กต์ที่ API บางรายการใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 รายการนี้ได้ในเอกสารประกอบ
- ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตามโค้ดแล็บนี้จะไม่เสียค่าใช้จ่ายมากนัก หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินหลังจากบทแนะนำนี้ คุณลบทรัพยากรที่สร้างไว้หรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD
เริ่ม Cloud Shell
แม้ว่า Google Cloud จะทำงานจากระยะไกลจากแล็ปท็อปได้ แต่ในโค้ดแล็บนี้ คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์
จากคอนโซล Google Cloud ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน
การจัดสรรและเชื่อมต่อกับสภาพแวดล้อมจะใช้เวลาเพียงไม่กี่นาที เมื่อดำเนินการเสร็จแล้ว คุณควรเห็นข้อมูลดังต่อไปนี้
เครื่องเสมือนนี้โหลดเครื่องมือการพัฒนาทั้งหมดที่คุณต้องการ ซึ่งจะมีไดเรกทอรีหลักขนาด 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 ของผู้ผลิต
เครือข่าย 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 ของตัวจัดสรรภาระงาน
จองที่อยู่ IP ภายในสำหรับตัวจัดสรรภาระงานใน Cloud Shell โดยทำดังนี้
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 ที่จัดการเอง 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 ให้อัปเดต NEG อินเทอร์เน็ต gitlab-self-managed-internet-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
สร้างไฟล์แนบของบริการ
ใน Cloud Shell ให้สร้างไฟล์แนบบริการ gitlab-self-managed-svc-attachment-https พร้อมการอนุมัติอัตโนมัติที่อนุญาตให้ 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
ถัดไป ให้บันทึกไฟล์แนบบริการที่แสดงใน 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 → บริการที่เผยแพร่
9. สร้างการเชื่อมต่อปลายทาง PSC ใน Looker
ในส่วนต่อไปนี้ คุณจะเชื่อมโยงไฟล์แนบบริการของผู้ผลิตกับ PSC ของ Looker Core ผ่านการใช้ Flag –psc-service-attachment ใน Cloud Shell สําหรับโดเมนเดียว
ใน Cloud Shell ให้สร้างการเชื่อมโยง psc โดยการอัปเดตพารามิเตอร์ต่อไปนี้ให้ตรงกับสภาพแวดล้อมของคุณ
- INSTANCE_NAME: ชื่ออินสแตนซ์ Looker (Google Cloud Core)
- DOMAIN_1: gitlabonprem.com
- SERVICE_ATTACHMENT_1: URI ที่บันทึกไว้เมื่ออธิบายไฟล์แนบบริการ gitlab-self-managed-svc-attachment-https
- ภูมิภาค: ภูมิภาคที่โฮสต์อินสแตนซ์ 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" แล้วอัปเดตด้วย Looker PSC INSTANCE_NAME
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 → รายละเอียด
10. การแปลง DNS
ในส่วนต่อไปนี้ ให้สร้างอินสแตนซ์ GCE และตรวจสอบการแก้ไข DNS ไปยังอินสแตนซ์ Gitlab ที่จัดการเอง 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"
ใน Cloud Shell ให้สร้างระเบียน A ที่ประกอบด้วยที่อยู่ IP ของอินสแตนซ์ Gitlab ที่จัดการเอง ซึ่งก็คือ 192.168.10.4
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 ส่วนตัวที่โฮสต์ในองค์กรได้แล้ว จากนั้นต้องกำหนดค่าเครือข่ายแบบผสม (เช่น การเชื่อมต่อถึงกัน, HA-VPN) ระหว่าง VPC looker-psc-demo กับเครือข่ายภายในองค์กรเพื่อเปิดใช้การเชื่อมต่อ
ขั้นตอนที่จำเป็นในการสร้างการเชื่อมต่อ NEG แบบผสมกับระบบในองค์กรมีดังนี้
- การเลือกผลิตภัณฑ์การเชื่อมต่อเครือข่าย | Google Cloud
- ในสถาปัตยกรรมฮับและ Spoke ที่มีการเชื่อมต่อแบบเพียร์ VPC ระบบจะติดตั้งใช้งาน NEG แบบผสมใน VPC เดียวกับ Cloud Router (ฮับ)
- ตรวจสอบว่าไฟร์วอลล์ในสถานที่ได้รับการอัปเดตให้รองรับช่วงซับเน็ตเฉพาะพร็อกซี เนื่องจากซับเน็ตนี้ทำหน้าที่เป็นที่อยู่ IP ต้นทางสำหรับการติดต่อกับเวิร์กโหลดในสถานที่
- โฆษณาซับเน็ตเฉพาะพร็อกซีจาก Cloud Router เป็นการโฆษณาเส้นทางที่กำหนดเอง
14. ทดสอบการเชื่อมต่อ
ในขั้นตอนต่อไปนี้ คุณจะใช้ Looker Console เพื่อสร้างโปรเจ็กต์เพื่อตรวจสอบการเชื่อมต่อ HTTPS กับ gitlabonprem.com โดยใช้ขั้นตอนที่ระบุไว้ในการตั้งค่าและการทดสอบการเชื่อมต่อ Git
15. ล้างข้อมูล
ลบคอมโพเนนต์ของห้องทดลองจากเทอร์มินัล 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 เจ๋งสุดๆ
ขั้นตอนถัดไป
ลองดู Codelab เหล่านี้...
- การใช้ Private Service Connect เพื่อเผยแพร่และใช้บริการ
- เชื่อมต่อกับบริการในองค์กรผ่านเครือข่ายแบบผสมโดยใช้ Private Service Connect และตัวจัดสรรภาระงานพร็อกซี TCP ภายใน
- เข้าถึง Codelab ของ Private Service Connect ที่เผยแพร่ทั้งหมด