Private Service Connect - การใช้การควบคุมบริการ HTTP(S) ของผู้บริโภคสำหรับ XLB สากลไปยังบริการที่มีการจัดการ

1. บทนำ

Private Service Connect ช่วยให้ผู้ผลิตบริการเสนอบริการแก่ผู้บริโภคบริการได้ เครือข่าย VPC ผู้ผลิตบริการสามารถรองรับผู้ใช้บริการหลายราย

ปลายทาง Private Service Connect ที่เชื่อมต่อกับบริการที่เผยแพร่ได้มี 2 ประเภท ดังนี้

  • ปลายทาง Private Service Connect (ตามกฎการส่งต่อ)

ผู้บริโภคจะเชื่อมต่อกับที่อยู่ IP ภายในที่ตนกำหนดไว้ด้วยปลายทางประเภทนี้ Private Service Connect ดำเนินการแปลที่อยู่เครือข่าย (NAT) เพื่อกำหนดเส้นทางคำขอไปยังผู้ผลิตบริการ

  • ปลายทาง Private Service Connect ที่มีการควบคุมบริการ HTTP(S) ของผู้ใช้ (อิงตามตัวจัดสรรภาระงาน HTTP(S) ภายนอกทั่วโลก)

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

การใช้ตัวจัดสรรภาระงาน HTTP(S) ภายนอกทั่วโลกเป็นจุดบังคับใช้นโยบายมีประโยชน์ดังต่อไปนี้

  • คุณสามารถเปลี่ยนชื่อบริการและแมปบริการกับ URL ที่คุณเลือกได้
  • คุณกำหนดค่าตัวจัดสรรภาระงานให้บันทึกคำขอทั้งหมดที่ส่งไปยัง Cloud Logging ได้
  • คุณจะใช้ใบรับรอง TLS ที่จัดการโดยลูกค้าได้ หรือใบรับรองที่จัดการโดย Google

ใน Codelab นี้ คุณจะได้เรียนรู้วิธีการสร้างตัวควบคุมบริการ HTTP(S) สำหรับผู้บริโภคปลายทาง Private Service Connect โดยใช้ Global XLB เพื่อเข้าถึงบริการในเครือข่ายอื่นแบบส่วนตัว รูปแบบของ PSC นี้สามารถทำได้โดยใช้โปรเจ็กต์เดียวหรือโปรเจ็กต์แยกกัน สำหรับวัตถุประสงค์ของห้องทดลองนี้ เราจะใช้โปรเจ็กต์เดียวที่มี VPC 2 รายการแยกกัน

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

  • สร้างปลายทาง Private Service Connect ที่มีการควบคุมบริการ HTTP(S) ของผู้บริโภคโดยใช้ Global XLB
  • กำหนดค่าบริการที่มีการจัดการที่จะแสดงผ่านไฟล์แนบบริการเพื่อยอมรับการเชื่อมต่อ L7 XLB
  • สร้างใบรับรอง SSL และกำหนดค่าเว็บเซิร์ฟเวอร์ Apache ให้สิ้นสุด TLS และยอมรับการรับส่งข้อมูลบนพอร์ต 443
  • สร้าง PSC NEG

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

  • โปรเจ็กต์ Google Cloud
  • ความรู้ในการทำให้อินสแตนซ์ใช้งานได้และการกำหนดค่าคอมโพเนนต์เครือข่าย

2. สภาพแวดล้อมการทดสอบ

สภาพแวดล้อมที่คุณจะสร้างจะประกอบด้วยตัวจัดสรรภาระงาน HTTP(S) ภายนอกและ NEG PSC ใน VPC ของผู้บริโภค VPC ของผู้ผลิตจะโฮสต์บริการเว็บ Apache แบบง่ายที่กำหนดค่าด้วย HTTPS คุณจะสร้างบริการแบ็กเอนด์จากบริการเว็บ Apache และฟรอนท์บริการแบ็กเอนด์ดังกล่าวด้วยตัวจัดสรรภาระงาน TCP ภายในที่กำหนดค่าด้วยไฟล์แนบบริการ PSC

bbca972cf488ece.png

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

การตั้งค่าสภาพแวดล้อมตามเวลาที่สะดวก

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

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

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

เริ่มต้น Cloud Shell

แม้ว่าคุณจะดำเนินการ Google Cloud จากระยะไกลได้จากแล็ปท็อป แต่คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมแบบบรรทัดคำสั่งที่ทำงานในระบบคลาวด์ใน Codelab นี้

จากคอนโซล Google Cloud ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน ดังนี้

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

เครื่องเสมือนนี้เต็มไปด้วยเครื่องมือการพัฒนาทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักขนาด 5 GB ที่ใช้งานได้ต่อเนื่องและทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพของเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก งานทั้งหมดใน Lab นี้สามารถทำได้โดยใช้เบราว์เซอร์

4. ก่อนเริ่มต้น

เปิดใช้ API

ตรวจสอบว่าตั้งค่ารหัสโปรเจ็กต์ใน Cloud Shell แล้ว

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
export project=YOUR-PROJECT-NAME
export region=us-central1
echo $project
echo $region

เปิดใช้บริการที่จำเป็นทั้งหมด

gcloud services enable compute.googleapis.com
gcloud services enable servicedirectory.googleapis.com

5. VPC ของผู้ผลิต, ซับเน็ต, การตั้งค่ากฎไฟร์วอลล์

เครือข่าย VPC

จาก Cloud Shell

gcloud compute networks create producer-vpc --subnet-mode custom

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

ต้องมีซับเน็ตจากฝั่งผู้ผลิตเพื่อดำเนินการแปลที่อยู่เครือข่าย (NAT) สำหรับ PSC โปรดทราบว่าจุดประสงค์คือ PRIVATE_SERVICE_CONNECT ซึ่งหมายความว่าจะใช้ซับเน็ตนี้สำหรับการทำให้ภาระงานใช้งานได้ไม่ได้

จาก Cloud Shell

gcloud compute networks subnets create producer-nat-subnet \
--network=producer-vpc \
--region=$region \
--range=10.100.100.0/24 \
--purpose=PRIVATE_SERVICE_CONNECT

เราจะทำให้ซับเน็ต 2 รายการใน VPC ผู้ผลิตใช้งานได้ บริการแรกที่ทำให้บริการผู้ผลิตใช้งานได้ และอีกบริการหนึ่งในภูมิภาคอื่นในการทำให้ไคลเอ็นต์-vm ใช้งานได้เพื่อทดสอบการเชื่อมต่อกับบริการผ่านการเข้าถึงทั่วโลกในตัวจัดสรรภาระงานภายในของ TCP

จาก Cloud Shell

gcloud compute networks subnets create service-subnet \
    --network=producer-vpc \
    --range=10.0.0.0/24 \
    --region=$region

จาก Cloud Shell

gcloud compute networks subnets create client-subnet \
    --network=producer-vpc \
    --range=10.0.1.0/24 \
    --region=us-east4

สร้าง Cloud NAT

ต้องมี Cloud NAT เพื่อติดตั้งแพ็กเกจที่เหมาะสมสำหรับบริการผู้ผลิตของเรา

จาก Cloud Shell

gcloud compute routers create service-cr \
--region=$region --network=producer-vpc \
--asn=65501

จาก Cloud Shell

gcloud compute routers nats create service-nat-gw \
--router=service-cr \
--router-region=$region \
--nat-custom-subnet-ip-ranges=service-subnet \
--auto-allocate-nat-external-ips

สร้างกฎไฟร์วอลล์

สำหรับห้องทดลองนี้ คุณจะใช้ IAP เพื่อเชื่อมต่อกับอินสแตนซ์ที่คุณสร้าง กฎไฟร์วอลล์ต่อไปนี้จะช่วยให้คุณเชื่อมต่อกับอินสแตนซ์ผ่าน IAP ได้ หากไม่ต้องการใช้ IAP คุณสามารถข้ามขั้นตอนนี้และเพิ่มที่อยู่ IP สาธารณะบนอินสแตนซ์แทน และสร้างกฎไฟร์วอลล์ที่อนุญาตข้อมูลขาเข้าบนพอร์ต TCP 22 จาก 0.0.0.0/0

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

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

จาก Cloud Shell

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

การรับส่งข้อมูลไคลเอ็นต์จะมาจากตัวจัดสรรภาระงาน HTTP(S) ภายนอกทั่วโลก ดังนั้นจึงต้องสร้างกฎไฟร์วอลล์เพื่ออนุญาตการรับส่งข้อมูลนี้ไปยังเซิร์ฟเวอร์ปลายทางที่ติดแท็กซึ่งจะโฮสต์บริการเว็บของเรา นอกจากนี้เราจะเปิดกฎไฟร์วอลล์จากclient-subnetเพื่อทำการทดสอบด้วย

จาก Cloud Shell

gcloud compute firewall-rules create allow-xlb-client \
  --network=producer-vpc \
  --direction=ingress \
  --allow=tcp:443 \
  --target-tags=psc-service \
  --source-ranges=130.211.0.0/22,35.191.0.0/16,10.0.1.0/24

สร้างบริการเว็บ Apache

เราจะสร้างบริการเว็บ Apache แบบง่ายที่แสดง "บริการ PSC"

สร้างเทมเพลตอินสแตนซ์

จาก Cloud Shell

gcloud compute instance-templates create producer-service-template \
    --network producer-vpc \
    --subnet service-subnet \
    --region $region \
    --no-address \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --tags=psc-service \
    --metadata startup-script='#! /bin/bash
    sudo apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    echo "PSC Service" | \
    tee /var/www/html/index.html
    systemctl restart apache2'

สร้างการตรวจสอบประสิทธิภาพการทำงานสำหรับ MIG

จาก Cloud Shell

gcloud compute health-checks create https psc-service-mig-healthcheck \
    --port=443 \
    --global

สร้างอินสแตนซ์ที่มีการจัดการ

จาก Cloud Shell

gcloud compute instance-groups managed create psc-service-mig \
    --region $region \
    --size=2 \
    --template=producer-service-template \
    --health-check=psc-service-mig-healthcheck

กำหนดค่า SSL ในเว็บเซิร์ฟเวอร์ Apache

ต่อไป เราจะกำหนดค่า SSL ในเว็บเซิร์ฟเวอร์ Apache แต่ละเครื่อง โดยการสร้างใบรับรองและเพิ่มใบรับรองนั้นลงในการกำหนดค่า Apache

ต้องกำหนดค่าการสิ้นสุด SSL ในบริการแบ็กเอนด์เนื่องจากบริการจะต้องอยู่ด้านหน้าโดยตัวจัดสรรภาระงาน TCP/UDP (L4) ภายในสำหรับรูปแบบ PSC นี้โดยเฉพาะ ตัวจัดสรรภาระงาน TCP/UDP ภายในไม่สิ้นสุด SSL ที่เลเยอร์ตัวจัดสรรภาระงาน

เริ่มต้นด้วยการ SSH ลงใน VM แรกใน MIG ระบบจะจัดสรรโซน VM และชื่อ VM แบบไดนามิกตามสภาพแวดล้อม ไปยัง Compute Engine > ในคอนโซล อินสแตนซ์ VM เพื่อหาชื่อและโซนของอินสแตนซ์

จาก Cloud Shell

gcloud compute ssh --zone "<YOUR_VM_ZONE>" "<YOUR_MIG_VM_1>"  --tunnel-through-iap --project $project

ต่อไป เราจะสร้างใบรับรองผ่าน OpenSSL ระบบจะขอให้คุณกรอกข้อมูลเกี่ยวกับประเทศ รัฐ สถานที่ องค์กร ชื่อหน่วยขององค์กร ชื่อจริง และที่อยู่อีเมล ข้อมูลเดียวที่คุณต้องกรอกควรเป็น Common Name ซึ่งควรเป็น FQDN ภายในที่คุณเลือก คุณควรเลือก example.com สำหรับห้องทดลองนี้

จาก Cloud Shell

sudo openssl genrsa -out private-key-file.pem 2048

จาก Cloud Shell

cat <<'EOF' >config.txt
[req]
default_bits              = 2048
req_extensions            = extension_requirements
distinguished_name        = dn_requirements

[extension_requirements]
basicConstraints          = CA:FALSE
keyUsage                  = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName            = @sans_list

[dn_requirements]
countryName               = Country Name (2 letter code)
stateOrProvinceName       = State or Province Name (full name)
localityName              = Locality Name (eg, city)
0.organizationName        = Organization Name (eg, company)
organizationalUnitName    = Organizational Unit Name (eg, section)
commonName                = Common Name (e.g. server FQDN or YOUR name)
emailAddress              = Email Address

[sans_list]
DNS.1                     = example.com

EOF

จาก Cloud Shell

sudo openssl req -new -key private-key-file.pem \
    -out csr.pem \
    -config config.txt

จาก Cloud Shell

sudo openssl x509 -req \
    -signkey private-key-file.pem \
    -in csr.pem \
    -out cert.cert \
    -extfile config.txt \
    -extensions extension_requirements \
    -days 10

ตอนนี้เรามาอัปเดตข้อมูลการกำหนดค่า Apache ด้วยรายละเอียดใบรับรองใหม่ของเรา

sudo vi /etc/apache2/sites-enabled/default-ssl.conf

เพิ่มบรรทัดในส่วน ServerAdmin ที่ระบุว่า

ServerName example.com

อัปเดตตำแหน่ง SSLCertificateFile และ SSLCertificateKeyFile ตําแหน่งของไฟล์ cert.cert และตำแหน่ง private-key-file.pem ใน VM ดูตัวอย่างด้านล่างนี้ อย่าลืมอัปเดต <profile> ด้วยชื่อไดเรกทอรี

SSLCertificateFile  /home/<profile>/cert.cert

SSLCertificateKeyFile /home/<profile>/private-key-file.pem

ปิดตัวแก้ไขและรีสตาร์ท Apache

sudo a2enmod ssl
sudo systemctl restart apache2

ออกจากอินสแตนซ์และทำตามขั้นตอนเดียวกันบนอินสแตนซ์อื่นในอินสแตนซ์ที่มีการจัดการ

6. สร้างบริการ Producer

ถัดไป เราจะสร้างคอมโพเนนต์ตัวจัดสรรภาระงานสำหรับบริการ

สร้างการตรวจสอบประสิทธิภาพการทำงานของตัวจัดสรรภาระงาน

จาก Cloud Shell

gcloud compute health-checks create https service-lb-healthcheck \
    --port=443 \
    --region=$region

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

จาก Cloud Shell

 gcloud compute backend-services create psc-backend-service \
    --load-balancing-scheme=internal \
    --protocol=TCP \
    --region=$region \
    --health-checks=service-lb-healthcheck \
    --health-checks-region=$region

gcloud compute backend-services add-backend psc-backend-service \
--region=$region \
--instance-group=psc-service-mig

สร้างกฎการส่งต่อ โปรดทราบว่าต้องกำหนดค่ากฎการส่งต่อบนพอร์ต 443 และด้วยการเข้าถึงแบบส่วนกลาง จำเป็นต้องมีเพื่อให้รูปแบบ PSC นี้ใช้งานได้

จาก Cloud Shell

 gcloud compute forwarding-rules create producer-fr \
    --region=$region \
    --load-balancing-scheme=internal \
    --network=producer-vpc \
    --subnet=service-subnet \
    --address=10.0.0.100 \
    --ip-protocol=TCP \
    --ports=443 \
    --backend-service=psc-backend-service \
    --backend-service-region=$region \
    --allow-global-access

7. ทดสอบบริการ

ก่อนสร้างไฟล์แนบบริการ เราจะสร้างไคลเอ็นต์ในภูมิภาคอื่นเพื่อทดสอบตัวจัดสรรภาระงานที่กำหนดค่าด้วยการเข้าถึงส่วนกลาง ตลอดจนบริการ Apache ที่กำหนดค่าเพื่อสิ้นสุด TLS

จาก Cloud Shell

gcloud compute instances create vm-client \
    --zone=us-east4-a \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --subnet=client-subnet \
    --no-address

SSH ไปยังอินสแตนซ์

จาก Cloud Shell

gcloud compute ssh \
    --zone "us-east4-a" "vm-client" \
    --tunnel-through-iap \
    --project $project

ทดสอบบริการ Apache โดยเชื่อมต่อผ่าน 443 ผ่านตัวจัดสรรภาระงาน

curl https://example.com:443 -k --connect-to example.com:443:10.0.0.100:443

ผลลัพธ์ที่คาดไว้

PSC Service

8. สร้างไฟล์แนบบริการ

จาก Cloud Shell

gcloud compute service-attachments create pscservice \
    --region=$region \
    --producer-forwarding-rule=producer-fr \
    --connection-preference=ACCEPT-AUTOMATIC \
    --nat-subnets=producer-nat-subnet

คุณควรจด URI ของไฟล์แนบบริการไว้ เนื่องจากคุณจะต้องใช้ในขั้นตอนถัดไปสำหรับการกำหนดค่าปลายทาง คุณจะรับได้โดยการเรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell

จาก Cloud Shell

gcloud compute service-attachments describe pscservice --region $region

คัดลอก URI โดยเริ่มต้นจาก /projects

ตัวอย่าง: /projects/<YOUR_PROJECT_ID>/region/us-central1/serviceattachs/pscservice

9. การตั้งค่า VPC และซับเน็ตของผู้บริโภค

เครือข่าย VPC

จาก Cloud Shell

gcloud compute networks create consumer-vpc --subnet-mode custom

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

จำเป็นต้องมีซับเน็ตในฝั่งผู้บริโภคที่จะติดตั้งใช้งาน Private Service Connect Network Endpoint Group (NEG)

จาก Cloud Shell

gcloud compute networks subnets create psc-neg-subnet \
--network=consumer-vpc \
--region=$region \
--range=10.100.200.0/24 \
--purpose=private

10. สร้างปลายทาง Private Service Connect และทดสอบการเชื่อมต่อ

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

เตรียม URI ของไฟล์แนบบริการที่เราแจ้งไว้ในขั้นตอนสุดท้ายให้พร้อม แทนที่ URL ด้านล่างด้วย URI ของคุณ

จาก Cloud Shell

gcloud beta compute network-endpoint-groups create xlb-psc-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/<PROJECT-ID>/regions/us-central1/serviceAttachments/pscservice \
--region=$region \
--network=consumer-vpc \
--subnet=psc-neg-subnet

สร้างที่อยู่ IP สาธารณะของ XLB แล้วดึงที่อยู่ IP จริงที่กำหนดไว้สำหรับการทดสอบในภายหลัง

จาก Cloud Shell

gcloud compute addresses create xlb-psc-address \
--ip-version=IPv4 --global

gcloud compute addresses describe xlb-psc-address --format="get(address)" --global

ต่อไปเราจะสร้างปลายทาง PSC ซึ่งในกรณีนี้คือในตัวจัดสรรภาระงานภายนอก

จาก Cloud Shell

gcloud beta compute backend-services create pscneg-backend-service \
--load-balancing-scheme=EXTERNAL_MANAGED \
--protocol=HTTPS \
--global

จาก Cloud Shell

gcloud beta compute backend-services add-backend pscneg-backend-service \
--network-endpoint-group=xlb-psc-neg \
--network-endpoint-group-region=$region \
--global

จาก Cloud Shell

gcloud beta compute url-maps create xlb-psc-map \
--default-service=pscneg-backend-service \
--global

จาก Cloud Shell

gcloud beta compute target-http-proxies create psc-http-proxy \
--url-map=xlb-psc-map

จาก Cloud Shell

gcloud beta compute forwarding-rules create xlb-psc-fr \
--load-balancing-scheme=EXTERNAL_MANAGED \
--network-tier=PREMIUM \
--address=xlb-psc-address \
--target-http-proxy=psc-http-proxy \
--ports=80 \
--global

รอ 5-7 นาทีแล้วป้อนที่อยู่ IP ที่เชื่อมโยงกับที่อยู่ xlb-psc-address ในแถบที่อยู่ของเบราว์เซอร์

หากเป็น "บริการ PSC" ขึ้นมา แสดงว่าคุณกำหนดค่าโซลูชันถูกต้องแล้ว

11. ขั้นตอนการทำความสะอาด

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

gcloud beta compute forwarding-rules delete xlb-psc-fr --global --quiet

gcloud beta compute target-http-proxies delete psc-http-proxy --quiet

gcloud beta compute url-maps delete xlb-psc-map --global --quiet

gcloud beta compute backend-services delete pscneg-backend-service --global --quiet

gcloud compute addresses delete xlb-psc-address --global --quiet

gcloud beta compute network-endpoint-groups delete xlb-psc-neg --region $region --quiet

gcloud compute networks subnets delete psc-neg-subnet --region $region --quiet

gcloud compute networks delete consumer-vpc --quiet

gcloud compute service-attachments delete pscservice --region $region --quiet

gcloud compute instances delete vm-client --zone=us-east4-a --quiet

gcloud compute forwarding-rules delete producer-fr --region $region --quiet

gcloud compute backend-services delete psc-backend-service --region $region --quiet

gcloud compute health-checks delete service-lb-healthcheck --region $region --quiet

gcloud compute instance-groups managed delete psc-service-mig --region $region --quiet

gcloud compute health-checks delete psc-service-mig-healthcheck --region $region --quiet

gcloud compute instance-templates delete producer-service-template --quiet

gcloud compute firewall-rules delete allow-xlb-client --quiet

gcloud compute firewall-rules delete allow-ssh-iap --quiet

gcloud compute routers nats delete service-nat-gw –router service-cr --region $region --quiet

gcloud compute routers delete service-cr --region $region --quiet

gcloud compute networks subnets delete client-subnet --quiet

gcloud compute networks subnets delete service-subnet --quiet

gcloud compute networks subnets delete producer-nat-subnet --quiet

gcloud compute networks delete producer-vpc --quiet

12. ยินดีด้วย

ขอแสดงความยินดีที่เรียน Codelab จนจบ

หัวข้อที่ครอบคลุม

  • สร้างปลายทาง Private Service Connect ที่มีการควบคุมบริการ HTTP(S) ของผู้บริโภคโดยใช้ Global XLB
  • กำหนดค่าบริการที่มีการจัดการที่จะแสดงผ่านไฟล์แนบบริการเพื่อยอมรับการเชื่อมต่อ L7 XLB
  • สร้างใบรับรอง SSL และกำหนดค่าเว็บเซิร์ฟเวอร์ Apache ให้สิ้นสุด TLS และยอมรับการรับส่งข้อมูลบนพอร์ต 443
  • สร้าง PSC NEG