1. บทนำ
ตัวเลือกการกำหนดที่อยู่ IP ใน Google Cloud
ที่อยู่ IP ช่วยระบุทั้งเครือข่ายและโฮสต์ในเครือข่าย ที่อยู่มี 2 ประเภท ได้แก่ IPv4 และ IPv6 ที่อยู่เหล่านี้ควรไม่ซ้ำกันเพื่อให้การเข้าชมในเครือข่ายระบุแหล่งที่มาและปลายทางสำหรับการแลกเปลี่ยนแพ็กเก็ตได้ การกำหนดที่อยู่ IP ไม่ได้มีเฉพาะใน Google Cloud แต่มีทั้งในสภาพแวดล้อมระบบคลาวด์และสภาพแวดล้อมในองค์กร
เครือข่ายส่วนตัวเสมือน (VPC)
VPC คือการแสดงผลเชิงตรรกะของศูนย์ข้อมูลแบบเดิม นอกจาก VPC เริ่มต้นและ VPC โหมดอัตโนมัติแล้ว Google Cloud ยังให้คุณสร้าง VPC ที่กำหนดเองได้ด้วย VPC ที่กำหนดเองเหล่านี้ช่วยให้คุณมีสิทธิ์ดูแลการกำหนดค่า VPC อย่างเต็มที่
ตัวจัดสรรภาระงาน
ตัวจัดสรรภาระงานช่วยให้กระจายการรับส่งข้อมูลไปยังอินสแตนซ์หลายรายการของแอปพลิเคชันได้ Google Cloud มีตัวจัดสรรภาระงานหลายประเภทตามที่ระบุไว้ในเอกสารประกอบเกี่ยวกับการจัดสรรภาระงาน ในแล็บนี้ เราจะสร้างตัวจัดสรรภาระงานแอปพลิเคชันภายนอกทั่วโลกเพื่อเข้าถึงเว็บไซต์อย่างง่ายของเรา
Cloud NAT
ซึ่งจะช่วยให้ซับเน็ตส่วนตัวสื่อสารกับอินเทอร์เน็ตได้ โดยจะทำงานด้วยการแปลที่อยู่ IP ภายในเป็นที่อยู่ IP สาธารณะเพื่อสร้างการเชื่อมต่อกับโฮสต์ภายนอก จากนั้นระบบจะแปลการรับส่งข้อมูลที่ส่งคืนจากแหล่งที่มาภายนอกที่เกตเวย์ NAT แบบย้อนกลับเพื่อใช้การกำหนดที่อยู่ส่วนตัวในการส่งคืนการรับส่งข้อมูลไปยังไคลเอ็นต์ การเชื่อมต่อจะเริ่มต้นในลักษณะขาออก
เครื่องเสมือน
ซึ่งเป็นระบบเสมือนที่เรียกใช้ระบบปฏิบัติการ โดยสามารถกำหนดค่าตามข้อกำหนดของผู้ใช้และประกอบด้วยคอมโพเนนต์หน่วยความจำ พื้นที่เก็บข้อมูล เครือข่าย และระบบปฏิบัติการ
สิ่งที่คุณจะสร้าง
ในโค้ดแล็บนี้ คุณจะได้สร้าง VPC ที่กำหนดเอง 2 รายการ เปิดใช้และกำหนดค่าประเภทที่อยู่ IPv4 และ IPv6 (ภายในและภายนอก) นอกจากนี้ คุณยังจะได้สร้างเซิร์ฟเวอร์ nginx อย่างง่ายใน VM ที่มีที่อยู่ IP ส่วนตัว แสดงเซิร์ฟเวอร์โดยใช้ Application Load Balancer ภายนอก และเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้ที่อยู่ IPv4 และ IPv6
- สร้าง VPC ที่กำหนดเอง 2 รายการและเพิ่มกฎไฟร์วอลล์
- สร้างเครือข่ายย่อย IPv4 แบบสแต็กเดียวและ IPv4_IPv6 แบบสแต็กคู่
- สร้างเกตเวย์ NAT สำหรับทรัพยากรส่วนตัวในเครือข่ายย่อยเพื่อรับข้อมูลอัปเดต
- สร้างเซิร์ฟเวอร์ Apache VM แบบส่วนตัวโดยใช้ MIG
- เปิดเผยเซิร์ฟเวอร์ VM ส่วนตัวผ่าน Application LB ด้วยที่อยู่ IPv4 และ IPv6 แบบคงที่
- สร้างไคลเอ็นต์ IPv4, IPv6 ภายนอก
- เชื่อมต่อกับที่อยู่ของ Application Load Balancer IPv4 และ IPv6 จากไคลเอ็นต์

สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้าง VPC ที่กำหนดเอง
- วิธีเปิดใช้ IPV6 ในเครือข่ายย่อย
- วิธีกำหนดกฎไฟร์วอลล์
- วิธีสร้างเกตเวย์ NAT
- วิธีสร้างกลุ่มอินสแตนซ์ที่มีการจัดการ
- วิธีสร้างไคลเอ็นต์ IPv4, IPv6
- วิธีสร้าง IP แบบคงที่
- วิธีสร้าง Application LB
Codelab นี้มุ่งเน้นที่การกำหนดที่อยู่ IP และจะใช้ VM และตัวจัดสรรภาระงานโดยเฉพาะด้วย
สิ่งที่คุณต้องมี
- เว็บเบราว์เซอร์เพื่อเชื่อมต่อกับคอนโซล Google Cloud
- ความสามารถในการสร้าง VPC และกฎไฟร์วอลล์
- ความสามารถในการใช้ SSH
- บัญชี Google Cloud
2. การเริ่มตั้งค่า
การตั้งค่า Lab
การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง
- ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี



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

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

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

- ในส่วนสร้างเครือข่าย VPC ให้เพิ่มข้อมูลต่อไปนี้
- ป้อนชื่อเครือข่ายเป็น ipv4-ipv6-network
- ในส่วนช่วง IPv6 ภายใน ULA ของเครือข่าย VPC ให้เลือกเปิดใช้
- ในส่วนจัดสรรช่วง IPv6 ภายใน ULA ให้เลือกโดยอัตโนมัติ
- เลือกกำหนดเองสำหรับโหมดการสร้างซับเน็ต
- ในส่วนซับเน็ตใหม่ ให้ระบุพารามิเตอร์การกำหนดค่าต่อไปนี้สำหรับซับเน็ต
การกำหนดค่า | ค่า |
ชื่อ | ipv4 |
ภูมิภาค | europe-west1 |
ประเภทสแต็ก IP | IPv4(สแต็กเดียว) |
ช่วง IPv4 | 192.168.10.0/24 |
สร้างช่วง IPv4 รอง | เลือก |
ชื่อช่วงซับเน็ต 1 | ipv4-sec |
ช่วง IPv4 รอง 1 | 10.0.10.0/24 |
- เลือกเสร็จสิ้น
- เราจะเพิ่มซับเน็ตอีกรายการและเปิดใช้ IPV6 หากต้องการเพิ่มซับเน็ตอื่น ให้เลือกเพิ่มซับเน็ต ในส่วนซับเน็ตใหม่ ให้ระบุพารามิเตอร์การกำหนดค่าต่อไปนี้สำหรับซับเน็ต
- สำหรับชื่อของซับเน็ต ให้ป้อน ipv6net
- เลือก us-central1 สำหรับภูมิภาค
- สำหรับประเภทสแต็ก IP ให้เลือก IPv4 และ IPV6 (แบบ 2 สแต็ก)
- ป้อนช่วง IPv4 โดยใช้ 192.168.20.0/24
- สำหรับประเภทการเข้าถึง IPv6 ให้เลือกภายใน
- เลือกเสร็จสิ้น
- ในส่วนกฎไฟร์วอลล์ ให้เลือกรายการต่อไปนี้
- ในแท็บกฎไฟร์วอลล์ IPv4 ให้เลือกตัวเลือกที่มีทั้งหมด: allow-cutom (สำหรับการสื่อสารภายใน), allow-icmp, allow-rdp, allow-ssh
- ในแท็บกฎไฟร์วอลล์ IPv6 ให้เลือกตัวเลือกที่มีทั้งหมด ได้แก่ allow-ipv6-cutom (สำหรับการสื่อสารภายใน), allow-ipv6-icmp, allow-ipv6-rdp, allow-ipv6-ssh
ตัวเลือกเหล่านี้จะสร้างกฎที่ตรงกันสำหรับเครือข่ายย่อยใหม่โดยอัตโนมัติ
- ในส่วนโหมดการกำหนดเส้นทางแบบไดนามิก ให้เลือกส่วนกลางสำหรับเครือข่าย VPC ดูข้อมูลเพิ่มเติมได้ที่โหมดการกำหนดเส้นทางแบบไดนามิก คุณสามารถเปลี่ยนโหมดการกำหนดเส้นทางแบบไดนามิกได้ในภายหลัง
- สำหรับหน่วยการส่งข้อมูลสูงสุด (MTU) ให้เลือก 1460
- คลิกสร้าง
ตั้งค่า VPC ที่กำหนดเองด้วย IPv6 ภายนอก
- ในส่วนเครือข่าย ให้เลือกเครือข่าย VPC
- จากด้านบน ให้เลือกสร้างเครือข่าย VPC

- ในส่วนสร้างเครือข่าย VPC ให้เพิ่มข้อมูลต่อไปนี้
- ป้อนชื่อเครือข่ายเป็น external-ipv6-network
- ในส่วนช่วง IPv6 ภายใน ULA ของเครือข่าย VPC ให้เลือกเปิดใช้
- ในส่วนจัดสรรช่วง IPv6 ภายใน ULA ให้เลือกโดยอัตโนมัติ
- เลือกกำหนดเองสำหรับโหมดการสร้างซับเน็ต
- ในส่วนซับเน็ตใหม่ ให้ระบุพารามิเตอร์การกำหนดค่าต่อไปนี้สำหรับซับเน็ต
- สำหรับชื่อของซับเน็ต ให้ป้อน ipv6-external
- สำหรับภูมิภาค ให้เลือก us-east1
- สำหรับประเภทสแต็ก IP ให้เลือก IPv4 และ IPv6 (Dual Stack)
- ป้อนช่วง IPv4 โดยใช้ 192.168.200.0/24
- สำหรับประเภทการเข้าถึง IPv6 ให้เลือกภายนอก
- เลือกเสร็จสิ้น
- ในส่วนกฎไฟร์วอลล์ ให้เลือกรายการต่อไปนี้
- ในแท็บกฎไฟร์วอลล์ IPv4 ให้เลือกตัวเลือกที่มีทั้งหมด: allow-cutom (สำหรับการสื่อสารภายใน), allow-icmp, allow-rdp, allow-ssh
- ในแท็บกฎไฟร์วอลล์ IPv6 ให้เลือกตัวเลือกที่มีทั้งหมด ได้แก่ allow-ipv6-cutom (สำหรับการสื่อสารภายใน), allow-ipv6-icmp, allow-ipv6-rdp, allow-ipv6-ssh ในแล็บนี้ เราจะใช้ตัวเลือกนี้เพื่อสร้างกฎการจับคู่ในซับเน็ตใหม่โดยอัตโนมัติ
- ในส่วนโหมดการกำหนดเส้นทางแบบไดนามิก ให้เลือกส่วนกลางสำหรับเครือข่าย VPC ดูข้อมูลเพิ่มเติมได้ที่โหมดการกำหนดเส้นทางแบบไดนามิก คุณสามารถเปลี่ยนโหมดการกำหนดเส้นทางแบบไดนามิกได้ในภายหลัง
- สำหรับหน่วยการส่งข้อมูลสูงสุด (MTU) ให้เลือก 1460
- คลิกสร้าง
ยืนยันกฎไฟร์วอลล์
การควบคุมกฎไฟร์วอลล์ช่วยให้คุณปฏิเสธการรับส่งข้อมูลไปยังบริการได้
วิธียืนยันว่ามีกฎอยู่
- ไปที่เครือข่าย VPC
- เลือกไฟร์วอลล์ในแผงด้านซ้าย

- ดูที่พื้นที่แสดงผลและตรวจสอบว่าคุณเห็นกฎไฟร์วอลล์สำหรับเครือข่ายใหม่ที่สร้างขึ้น เลื่อนไปทางขวา มองหาคอลัมน์เครือข่าย แล้วเลื่อนลง คุณควรเห็นชื่อเครือข่ายที่สร้างในคอลัมน์เครือข่ายของกฎไฟร์วอลล์ ในกรณีนี้คือ ipv4-ipv6-network และ external-ipv6-network ชื่อนี้ต้องไม่ซ้ำกันสำหรับโปรเจ็กต์
- จากนั้นเราจะสร้างกฎไฟร์วอลล์ใหม่เพื่อให้ใช้การตรวจสอบประสิทธิภาพการทำงานได้
- เปิด Cloud Run หากยังไม่ได้เปิดโดยเลือกเปิดใช้งาน Cloud Shell (
) ในแถบด้านบน เซสชัน Cloud Shell จะเปิดขึ้นและแสดงข้อความแจ้งบรรทัดคำสั่ง ตรวจสอบว่าคุณอยู่ในโปรเจ็กต์ที่ถูกต้อง แล้ววางโค้ดต่อไปนี้
gcloud compute firewall-rules create ipv4-ipv6-hc \ --direction=INGRESS \ --network=ipv4-ipv6-network \ --action=ALLOW \ --rules=tcp:80,tcp:8080,tcp:443 \ --source-ranges=35.191.0.0/16,130.211.0.0/22,209.85.152.0/22,209.85.204.0/22 \ --target-tags=ipv6-server
- เมื่อเสร็จแล้ว ให้ตรวจสอบว่าคุณเห็นรายการสำหรับกฎไฟร์วอลล์ ipv6-ipv4-hc ที่แนบกับ ipv4-ipv6-network
4. กำหนดค่าเกตเวย์ NAT
- ไปที่บริการเครือข่าย
- เลือก Cloud NAT แล้วเลือกเริ่มต้นใช้งาน

- ชื่อเกตเวย์ใช้ ipv4-ipv6-nat
- เลือกเครือข่าย ipv4-ipv6-network
- เลือกภูมิภาค us-central1
- Cloud Router เลือกสร้างเราเตอร์ใหม่
- สร้างหน้าเราเตอร์และกำหนดค่าต่อไปนี้
- ตั้งชื่อเป็น ipv4-ipv6-nat-router
- ปล่อยให้การตั้งค่าอื่นๆ เป็นค่าเริ่มต้น แล้วเลือกสร้าง
- กลับไปที่หน้าสร้างเกตเวย์ Cloud NAT แล้วปล่อยให้ตัวเลือกอื่นๆ เป็นค่าเริ่มต้น จากนั้นเลือกสร้าง
5. กำหนดค่าอินสแตนซ์ใน VPC ส่วนตัว
สร้างเทมเพลตอินสแตนซ์ VPC ส่วนตัว
- เปิด Cloud Shell
- ตรวจสอบว่าคุณอยู่ในโปรเจ็กต์ที่ถูกต้องหากมีหลายโปรเจ็กต์
- คัดลอกและวางข้อความต่อไปนี้
gcloud compute instance-templates create ipv6-internal-server \ --region=us-central1 \ --network-interface=subnet=ipv6net,no-address,stack-type=IPV4_IPV6 \ --machine-type=n1-standard-1 \ --metadata=^,@^startup-script=\#\!/bin/bash$'\n'\#\ package\ updates\ \ \ \ \ \ $'\n'apt\ update\ -y$'\n'apt\ install\ nginx\ -y$'\n'systemctl\ start\ nginx$'\n'systemctl\ enable\ nginx$'\n'systemctl\ status\ nginx\ \|\ grep\ Active$'\n'chown\ -R\ \$USER:\$USER\ /var/www$'\n'cd\ /var/www/html/$'\n'echo\ \'\<\!DOCTYPE\ html\>\'\ \>\ /var/www/html/index.html$'\n'echo\ \'\<html\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<head\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<title\>Awesome\ web\ app\</title\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<meta\ charset=\"UTF-8\"\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\</head\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<body\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<h1\>IPv6\ server\</h1\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<h3\>You\ are\ successful\</h3\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\</body\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\</html\>\'\ \>\>\ /var/www/html/index.html$'\n' --tags=ipv6-server,http-server,https-server \ --create-disk=auto-delete=yes,boot=yes,device-name=ipv6-internal-server,image=projects/debian-cloud/global/images/debian-11-bullseye-v20230306,mode=rw,size=20,type=pd-balanced
- ไปที่ Compute Engine
- เลือกเทมเพลตอินสแตนซ์
- ในหน้าต่างเทมเพลตอินสแตนซ์ ให้ตรวจสอบว่าคุณเห็นเทมเพลตที่เพิ่งสร้าง

- คลิกชื่อเทมเพลตแล้วเลื่อนลงเพื่อดูการกำหนดค่า
- ในส่วนอินเทอร์เฟซเครือข่าย ให้ตรวจสอบว่าคุณเห็นประเภทสแต็กเป็น IPv4 และ IPv6

สร้างกลุ่มอินสแตนซ์ใน VPC ส่วนตัว
- ไปที่ Compute Engine
- เลือกขยายกลุ่มอินสแตนซ์
- เลือกการตรวจสอบประสิทธิภาพการทำงาน

- เลือกสร้างการตรวจสอบประสิทธิภาพการทำงาน
- ในหน้าสร้างการตรวจสอบประสิทธิภาพการทำงาน ให้ใช้ข้อมูลต่อไปนี้
- ชื่อใช้ ipv6-server-hc
- โปรโตคอล TCP พอร์ต 80
- เลื่อนไปที่ส่วนเกณฑ์ด้านสุขภาพ
- ช่วงเวลาตรวจสอบ 10, หมดเวลา 5
- เกณฑ์ดีต่อสุขภาพ 2 เกณฑ์ไม่ดีต่อสุขภาพ 4

- เลื่อนไปท้ายสุดแล้วเลือกสร้าง
- ไปที่ Compute Engine
- เลือกกลุ่มอินสแตนซ์
- เลือกสร้างกลุ่มอินสแตนซ์
- เลือกกลุ่มอินสแตนซ์ใหม่ที่มีการจัดการ (เก็บสถานะ)
- ชื่อใช้ ipv6-server-igp
- สำหรับเทมเพลตอินสแตนซ์ ให้ใช้ ipv6-internal-server
- สำหรับจำนวนอินสแตนซ์ ให้ใช้ 2
- สำหรับการใช้งานตำแหน่งใน Single Zone ให้ตรวจสอบว่าภูมิภาคเป็น us-central1
- เลื่อนลงในส่วนการซ่อมแซมอัตโนมัติ
- ใช้การตรวจสอบสถานะ ipv6-server-hc
- สำหรับประเภทการหน่วงเวลาเริ่มต้น ให้พิมพ์ 120
- ปล่อยให้การตั้งค่าอื่นๆ เป็นค่าเริ่มต้น แล้วเลือกสร้าง
ซึ่งอาจใช้เวลาสักครู่จึงจะสร้างกลุ่มอินสแตนซ์เสร็จสมบูรณ์
ยืนยันกลุ่มอินสแตนซ์และ VM
เมื่อสร้างกลุ่มอินสแตนซ์เสร็จแล้ว ให้ยืนยัน
- ไปที่ Compute Engine แล้วเลือกกลุ่มอินสแตนซ์
- เลือกชื่อกลุ่มอินสแตนซ์ที่คุณเพิ่งสร้าง ipv6-server-igp
- ตรวจสอบว่าคุณเห็นสิ่งต่อไปนี้
- อินสแตนซ์ตามสถานะ 2 อินสแตนซ์ (โปรดรอสักครู่เพื่อให้การตรวจสอบประสิทธิภาพการทำงานทั้งหมดทำงาน หากยังไม่แสดงว่ามีประสิทธิภาพ)
- อินสแตนซ์ตามประสิทธิภาพ มีประสิทธิภาพดี 100%
จากนั้นเราจะข้ามไปยัง VM ในกลุ่มอินสแตนซ์นี้โดยตรงและทำการทดสอบ
- เลือกอินสแตนซ์ VM คุณควรเห็น VM 2 รายการที่มีชื่อขึ้นต้นด้วย ipv6-server-igp
- เลื่อนไปทางขวาและใต้คอลัมน์ Internal IP คุณควรเห็นทั้งที่อยู่ IPV4 และ IPV6 จดที่อยู่ทั้ง 2 รายการสำหรับเซิร์ฟเวอร์แต่ละเครื่อง
- เลือก SSH ข้าง VM แรก ซึ่งจะเปิดเซสชัน SSH ไปยังเซิร์ฟเวอร์โดยตรง
- ในหน้าต่าง SSH ให้พิมพ์
curl localhostคุณควรได้รับการตอบกลับจากเว็บเซิร์ฟเวอร์ที่ทำงานใน VM ซึ่งแสดง HTML ดังที่แสดงด้านล่าง

- จากนั้นพิมพ์
ip addrเพื่อแสดงข้อมูลที่อยู่ ตรวจสอบว่าอินเทอร์เฟซ exxx มีที่อยู่ IPv4 และ IPv6 เดียวกันกับที่คุณบันทึกไว้ก่อนหน้านี้ในขั้นตอนที่ 6 สำหรับ VM นี้ ping -c 4 XXXXจาก VM นี้ไปยังที่อยู่ IPv4 ของ VM ที่ 2 จากนั้นทำเช่นเดียวกันโดยใช้ที่อยู่ IPv6 ของ VM ที่ 2

- <ไม่บังคับ> คุณสามารถ SSH เข้าสู่ VM ที่ 2 และทำการทดสอบเดียวกันได้ ลอง Ping ที่อยู่ IPv4 และ IPv6 ของ VM 1
สร้างอินสแตนซ์ IPv4 แบบสแตนด์อโลนใน VPC ส่วนตัว
- ไปที่ Compute Engine
- เลือกอินสแตนซ์ VM แล้วเลือกสร้างอินสแตนซ์
- กรอกข้อมูลในหน้าการกำหนดค่าดังนี้
- ตั้งชื่อว่า ipv4-only
- เลือกภูมิภาค europe-west1
- เลื่อนลง ขยายตัวเลือกขั้นสูง แล้วขยายเครือข่าย ตอนนี้ให้ใช้สิ่งต่อไปนี้ในส่วนอินเทอร์เฟซเครือข่าย

- เลือกลูกศรแบบเลื่อนลงข้าง "ค่าเริ่มต้น" เพื่อดูตัวเลือกอินเทอร์เฟซการแก้ไข

- สำหรับการเปลี่ยนเครือข่ายเป็น ipv4-ipv6-network
- เครือข่ายย่อย ipv4
- ที่อยู่ IPv4 ภายนอก เลือกไม่มี
- เลือกเสร็จสิ้น
- เลื่อนไปที่ด้านล่างสุดแล้วเลือกสร้าง
- ระบบจะใช้เวลา 2-3 นาทีในการสร้าง VM VM นี้อยู่ในซับเน็ต IPv4 เท่านั้น และไม่มีการกำหนดที่อยู่ IP ภายนอก หากต้องการยืนยัน ให้ไปที่หน้าอินสแตนซ์ VM แล้วมองหา VM ที่ชื่อ ipv4-only


- เลือก SSH เพื่อ SSH เข้าสู่ VM ที่ชื่อ ipv4-only
ping -c 4 X.X.X.Xไปยังที่อยู่ IPv4 ส่วนตัวของ VM ที่สร้างขึ้นก่อนหน้านี้โดยเริ่มต้นด้วยชื่อ ipv6-server-igp คุณจะ Ping ที่อยู่ IPv4 ภายในของ VM เหล่านี้ได้สำเร็จ
6. สร้าง Application LB ที่มีที่อยู่ IPv4 และ IPv6 ใน VPC ส่วนตัว
สร้าง IP ภายนอกแบบคงที่ 2 รายการ
- ไปที่เครือข่าย VPC
- เลือกที่อยู่ IP แล้วเลือกจองที่อยู่แบบคงที่ภายนอก
- สำหรับที่อยู่ IPv4 ให้ใช้ข้อมูลต่อไปนี้
- ชื่อ ipv4-lb-ip
- เวอร์ชัน IP IPv4
- พิมพ์ Global
- เลื่อนไปที่ด้านล่างสุดแล้วเลือกจอง
- สำหรับที่อยู่ IPv6 ให้ทำซ้ำขั้นตอนที่ 2 และใช้ข้อมูลต่อไปนี้
- ชื่อ ipv6-lb-ip
- เวอร์ชัน IP IPv6
- พิมพ์ Global
- เลื่อนไปที่ด้านล่างสุดแล้วเลือกจอง
บันทึกที่อยู่ IP เหล่านี้ คุณต้องใช้ค่าดังกล่าวเพื่อทดสอบการเชื่อมต่อในส่วนสุดท้าย
สร้าง LB ของแอปพลิเคชันภายนอก
- ไปที่บริการเครือข่าย
- เลือกสร้างตัวจัดสรรภาระงาน
- ในส่วนประเภทของตัวจัดสรรภาระงาน ให้เลือกตัวจัดสรรภาระงานแอปพลิเคชัน (HTTP/HTTPS) แล้วคลิกถัดไป
- ในส่วนสาธารณะหรือภายใน ให้เลือกสาธารณะ (ภายนอก) แล้วคลิกถัดไป
- ในส่วนการติดตั้งใช้งานแบบทั่วโลกหรือแบบภูมิภาคเดียว ให้เลือกดีที่สุดสำหรับปริมาณงานทั่วโลก แล้วคลิกถัดไป
- ในส่วนการสร้างตัวจัดสรรภาระงาน ให้เลือกตัวจัดสรรภาระงานของแอปพลิเคชันภายนอกส่วนกลาง แล้วเลือกถัดไป
- เลือกกำหนดค่า
- ที่ด้านบนในส่วนสร้างตัวจัดสรรภาระงานแอปพลิเคชันภายนอกส่วนกลาง ให้ใช้ชื่อ ipv4-ipv6-lb-demo
- จากนั้นเลือกการกำหนดค่าฟรอนท์เอนด์ แล้วใช้ข้อมูลต่อไปนี้
- ชื่อ ipv4-fe-lb
- โปรโตคอล HTTP
- เวอร์ชัน IP IPv4
- ที่อยู่ IP เลือก ipv4-lb-ip เพื่อกำหนด IP ภายนอกแบบคงที่ของ IPv4 ที่เราสร้างขึ้น
- พอร์ต 80
- เลือกเสร็จสิ้น
- ในส่วนฟรอนท์เอนด์ ให้กำหนดค่าและเลือกการเชื่อมต่อ IPv6 เพิ่ม IP และพอร์ตฟรอนท์เอนด์:

- ชื่อ ipv6-fe-lb
- โปรโตคอล HTTP
- เวอร์ชัน IP IPv6
- ที่อยู่ IP เลือก ipv6-lb-ip เพื่อกำหนด IP ภายนอกแบบคงที่ของ IPv6 ที่เราสร้างขึ้น
- พอร์ต 80
- เลือกเสร็จสิ้น
- เลือกการกำหนดค่าแบ็กเอนด์ในแผงด้านขวา ในส่วนบริการแบ็กเอนด์และที่เก็บข้อมูลแบ็กเอนด์ ให้เลือกสร้างบริการแบ็กเอนด์ แล้วใช้ข้อมูลต่อไปนี้
- ชื่อ server-backend
- ประเภทแบ็กเอนด์ กลุ่มอินสแตนซ์
- โปรโตคอล HTTP
- กลุ่มอินสแตนซ์ ipv6-server-igp
- หมายเลขพอร์ต 80, 8080
- ยกเลิกการเลือก "เปิดใช้ Cloud CDN"

- การตรวจสอบประสิทธิภาพการทำงานเลือก ipv6-server-hc
- เลื่อนไปท้ายสุดแล้วเลือกสร้าง
- จากนั้นเลือกตกลง

- เลื่อนลงไปที่ด้านล่างของหน้า แล้วเลือกสร้าง เมื่อเสร็จสิ้นแล้ว คุณควรเห็นข้อความนี้

- คลิกชื่อของ LB ใหม่ และจดที่อยู่ IPv4 และ IPv6 ไว้ในส่วนหน้า คุณจะต้องใช้ข้อมูลนี้ในการทดสอบครั้งสุดท้าย
7. สร้างอินสแตนซ์เดียวที่มีที่อยู่ IPv4 และ IPv6 ภายนอกและภายใน
สร้างแบบสแตนด์อโลนที่มีที่อยู่ IPv4 และ IPv6 ภายนอก
- ไปที่ Compute Engine
- เลือกอินสแตนซ์ VM แล้วเลือกสร้างอินสแตนซ์
- กรอกข้อมูลในหน้าการกำหนดค่าดังนี้
- ตั้งชื่อว่า external-ipv4-ipv6
- เลือกภูมิภาค us-east1
- เลื่อนลง ขยายตัวเลือกขั้นสูง แล้วขยายเครือข่าย ตอนนี้ให้ใช้สิ่งต่อไปนี้
- ในส่วนอินเทอร์เฟซเครือข่าย ให้เลือกเครือข่าย external-ipv6-network
- เครือข่ายย่อย ipv6-external
- ประเภทสแต็ก IP IPv4 และ IPv6 (Dual Stack)
- ที่อยู่ IPv4 ภายนอก ให้เลือกชั่วคราว
- เลือกเสร็จสิ้น
- เลื่อนไปที่ด้านล่างสุดแล้วเลือกสร้าง
- ระบบจะใช้เวลา 2-3 นาทีในการสร้าง VM VM นี้อยู่ในซับเน็ต IPv4_IPv6 ที่มีการเข้าถึงที่อยู่ IPv6 ภายนอก หากต้องการยืนยัน ให้ไปที่หน้าอินสแตนซ์ VM แล้วมองหา VM ที่ชื่อ external-ipv4-ipv6

- เลือกตัวเลือก SSH เพื่อ SSH เข้าสู่ VM external-ipv4-ipv6
- พิมพ์
ip addrเพื่อตรวจสอบที่อยู่ IPv4 และ IPv6 ที่กำหนดให้กับ VM - ไปที่ที่อยู่ IPv4 ของ ipv4-ipv6-lb-demo
- ในเซสชัน SSH ของ VM ประเภท external-ipv4-ipv6
curl X.X.X.Xโดยที่ X.X.X.X คือที่อยู่ IPv4 ของตัวโหลดบาลานซ์ ipv4-ipv6-lb-demo คุณควรเห็น HTML ของเว็บไซต์ที่ทำงานบนเซิร์ฟเวอร์ใน ipv4-ipv6-network - ในเซสชัน SSH ของ VM ประเภท external-ipv4-ipv6
curl [X:X:X:X]:80โดยที่ X:X:X:X คือที่อยู่ IPv6 ของตัวโหลดบาลานซ์ ipv4-ipv6-lb-demo โดยควรมีลักษณะดังนี้curl [2600:1901:X:XXXX::]:80คุณควรเห็น HTML ของเว็บไซต์ที่ทำงานบนเซิร์ฟเวอร์ใน ipv4-ipv6-network

8. ล้าง
หากต้องการล้างข้อมูลโปรเจ็กต์ ให้เรียกใช้คำสั่งต่อไปนี้
gcloud compute instances delete external-ipv4-ipv6 --zone=us-east1-b --quiet gcloud compute instances delete ipv4-only --zone=europe-west1-b --quiet gcloud compute forwarding-rules delete ipv4-fe-lb --global --quiet gcloud compute forwarding-rules delete ipv6-fe-lb --global --quiet gcloud compute target-http-proxies delete ipv4-ipv6-lb-demo-target-proxy --quiet gcloud compute target-http-proxies delete ipv4-ipv6-lb-demo-target-proxy-2 --quiet gcloud compute url-maps delete ipv4-ipv6-lb-demo --quiet gcloud compute backend-services delete server-backend --global --quiet gcloud compute addresses delete ipv4-lb-ip --global --quiet gcloud compute addresses delete ipv6-lp-ip --global --quiet gcloud compute instance-groups managed delete ipv6-server-igp --zone us-central1-a --quiet gcloud compute instance-templates delete "ipv6-internal-server" --quiet gcloud compute health-checks delete ipv6-server-hc --quiet gcloud compute routers nats delete ipv4-ipv6-nat --router=ipv4-ipv6-nat-router --region=us-central1 --quiet gcloud compute routers delete ipv4-ipv6-nat-router --region=us-central1 --quiet gcloud compute firewall-rules delete external-ipv6-network-allow-ipv6-custom external-ipv6-network-allow-ipv6-ssh external-ipv6-network-allow-rdp external-ipv6-network-allow-ipv6-rdp external-ipv6-network-allow-ssh external-ipv6-network-allow-ipv6-icmp external-ipv6-network-allow-custom external-ipv6-network-allow-icmp --quiet gcloud compute firewall-rules delete ipv4-ipv6-hc ipv4-ipv6-network-allow-custom ipv4-ipv6-network-allow-ipv6-icmp ipv4-ipv6-network-allow-icmp ipv4-ipv6-network-allow-ssh ipv4-ipv6-network-allow-rdp ipv4-ipv6-network-allow-ipv6-ssh ipv4-ipv6-network-allow-ipv6-rdp ipv4-ipv6-network-allow-ipv6-custom --quiet gcloud compute networks subnets delete ipv4 --region=europe-west1 --quiet gcloud compute networks subnets delete ipv6net --region=us-central1 --quiet gcloud compute networks subnets delete ipv6-external --region=us-east1 --quiet gcloud compute networks delete external-ipv6-network --quiet gcloud compute networks delete ipv4-ipv6-network --quiet
9. ขอแสดงความยินดี
ขอแสดงความยินดี คุณได้สำรวจทั้งตัวเลือกเครือข่าย IPv4 และ IPv6 เรียบร้อยแล้ว
เอกสารอ้างอิง
- เอกสารประกอบ: การกำหนดที่อยู่ IP
- เอกสารประกอบ: เปิดใช้ IPv6 ในซับเน็ต
- เอกสารประกอบ: การสิ้นสุด IPv6 สำหรับ HTTP(S) ภายนอก, พร็อกซี SSL และ TCP ภายนอก
คู่มืออัปเดตล่าสุดเมื่อเดือนมีนาคม 2023
Lab ทดสอบล่าสุดเมื่อเดือนมีนาคม 2023