ตัวเลือกการกำหนดที่อยู่ IP ได้แก่ IPv4 และ IPv6

1. บทนำ

ตัวเลือกการระบุที่อยู่ IP ใน Google Cloud

ที่อยู่ IP ช่วยระบุทั้งเครือข่ายและโฮสต์ในเครือข่าย ที่อยู่มีประเภท IPv4 และ IPv6 ที่อยู่เหล่านี้ต้องไม่ซ้ำกันเพื่อให้การจราจรของข้อมูลในเครือข่ายสามารถระบุต้นทางและปลายทางสำหรับการแลกเปลี่ยนแพ็กเก็ต การระบุที่อยู่ IP ไม่ใช่เฉพาะของ Google Cloud และมีอยู่ทั้งในระบบคลาวด์และในองค์กร

Virtual Private Cloud (VPC)

VPC คือการนำเสนอแบบตรรกะของศูนย์ข้อมูลแบบดั้งเดิม นอกจาก VPC เริ่มต้นและ VPC โหมดอัตโนมัติแล้ว Google Cloud ยังช่วยให้คุณสร้าง VPC ที่กำหนดเองได้ด้วย VPC ที่กําหนดเองเหล่านี้ช่วยให้คุณมีสิทธิ์ดูแลระบบการกําหนดค่า VPC อย่างเต็มรูปแบบ

ตัวจัดสรรภาระงาน

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

Cloud NAT

ซึ่งจะช่วยให้ซับเน็ตส่วนตัวของคุณสื่อสารกับอินเทอร์เน็ตได้ ซึ่งจะทํางานโดยการแปลงที่อยู่ IP ภายในเป็นที่อยู่ IP สาธารณะเพื่อเชื่อมต่อกับโฮสต์ภายนอก จากนั้นการเข้าชมที่กลับมาจากแหล่งที่มาภายนอกจะได้รับการแปลแบบย้อนกลับที่เกตเวย์ NAT เพื่อใช้การกำหนดที่อยู่ส่วนตัวในการส่งคืนการรับส่งข้อมูลไปยังไคลเอ็นต์ การเชื่อมต่อเริ่มต้นในลักษณะขาออก

เครื่องเสมือน

เหล่านี้เป็นระบบเสมือนที่ใช้ระบบปฏิบัติการ ซึ่งสามารถกําหนดค่าตามข้อกําหนดของผู้ใช้และประกอบด้วยคอมโพเนนต์หน่วยความจํา พื้นที่เก็บข้อมูล เครือข่าย และระบบปฏิบัติการ

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

ใน Codelab นี้ คุณจะสร้าง VPC ที่กำหนดเอง 2 รายการ เปิดใช้และกำหนดค่าประเภทที่อยู่ IPv4 และ IPv6 (ภายในและภายนอก) นอกจากนี้ คุณยังสร้างเซิร์ฟเวอร์ nginx แบบง่ายใน VM ที่มีที่อยู่ IP ส่วนตัว แสดงเซิร์ฟเวอร์โดยใช้ตัวจัดสรรภาระงานแอปพลิเคชันภายนอก และเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้ที่อยู่ IPv4 และ IPv6 ได้ด้วย

  • สร้าง VPC ที่กำหนดเอง 2 รายการและเพิ่มกฎไฟร์วอลล์
  • สร้างซับเน็ต IPv4_IPv6 สแต็กเดี่ยวและสแต็กคู่ IPv4_IPv6
  • สร้างเกตเวย์ NAT สำหรับทรัพยากรส่วนตัวในเครือข่ายย่อยเพื่อรับการอัปเดต
  • สร้างเซิร์ฟเวอร์ Apache ของ VM ส่วนตัวโดยใช้ MIG
  • แสดงเซิร์ฟเวอร์ VM ส่วนตัวผ่าน Application LB ซึ่งมีที่อยู่ IPV4 และ IPv6 แบบคงที่
  • สร้างไคลเอ็นต์ IPv4, IPv6 ภายนอก
  • เชื่อมต่อกับที่อยู่ตัวจัดสรรภาระงานแอปพลิเคชัน IPv4 และ IPv6 จากไคลเอ็นต์

c184b465720a47d6.png

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

  • วิธีสร้าง VPC ที่กำหนดเอง
  • วิธีเปิดใช้ IPv6 ในซับเน็ต
  • วิธีตั้งค่ากฎไฟร์วอลล์
  • วิธีสร้างเกตเวย์ NAT
  • วิธีสร้างกลุ่มอินสแตนซ์ที่มีการจัดการ
  • วิธีสร้างไคลเอ็นต์ IPv4, IPv6
  • วิธีสร้าง IP แบบคงที่
  • วิธีสร้าง LB แอปพลิเคชัน

Codelab นี้มุ่งเน้นไปที่การกำหนดที่อยู่ IP รวมถึงจะใช้ VM และตัวจัดสรรภาระงานโดยเฉพาะด้วย

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

  • เว็บเบราว์เซอร์สำหรับเชื่อมต่อกับคอนโซล Google Cloud
  • ความสามารถในการสร้าง VPC และกฎไฟร์วอลล์
  • ความสามารถในการใช้ SSH
  • บัญชี Google Cloud

2. การเริ่มตั้งค่า

การตั้งค่าห้องทดลอง

การตั้งค่าสภาพแวดล้อมในแบบของคุณ

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

เริ่ม Cloud Shell

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

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

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

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

3. กำหนดค่า VPC ที่กำหนดเอง

เหตุผลที่ควรใช้ VPC ที่กำหนดเอง

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

ตั้งค่า VPC ที่กำหนดเองด้วย IPv6 ภายใน

  1. ในส่วนเครือข่าย ให้เลือกเครือข่าย VPC
  2. เลือกสร้างเครือข่าย VPC จากด้านบน

dda2618060d62ed5.png

  1. ในส่วนสร้างเครือข่าย VPC ให้เพิ่มข้อมูลต่อไปนี้
  2. ป้อนชื่อของเครือข่ายเป็น ipv4-ipv6-network
  3. ในส่วนช่วง IPv6 ภายใน ULA ของเครือข่าย VPC ให้เลือกเปิดใช้
  4. ในส่วนจัดสรรช่วง IPv6 ภายในของ ULA ให้เลือกอัตโนมัติ
  5. เลือกกำหนดเองสำหรับโหมดการสร้างซับเน็ต
  6. ในส่วนซับเน็ตใหม่ ให้ระบุพารามิเตอร์การกำหนดค่าต่อไปนี้สำหรับซับเน็ต

การกำหนดค่า

ค่า

ชื่อ

ipv4

ภูมิภาค

europe-west1

ประเภทสแต็ก IP

IPv4(สแต็กเดียว)

ช่วง IPv4

192.168.10.0/24

สร้างช่วง IPv4 รอง

เลือก

ชื่อช่วงซับเน็ต 1

ipv4-sec

ช่วง IPv4 รอง 1

10.0.10.0/24

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

ตั้งค่า VPC ที่กำหนดเองด้วย IPv6 ภายนอก

  1. ในส่วนเครือข่าย ให้เลือกเครือข่าย VPC
  2. เลือกสร้างเครือข่าย VPC จากด้านบน
  3. dda2618060d62ed5.png
  4. ในส่วนสร้างเครือข่าย VPC ให้เพิ่มข้อมูลต่อไปนี้
  5. ป้อนชื่อเครือข่ายเป็น external-ipv6-network
  6. ในส่วนช่วง IPv6 ภายในเครือข่าย VPC สำหรับ ULA ให้เลือกเปิดใช้
  7. ในส่วนจัดสรรช่วง IPv6 ภายในของ ULA ให้เลือกอัตโนมัติ
  8. เลือกกำหนดเองสำหรับโหมดการสร้างซับเน็ต
  9. ในส่วนซับเน็ตใหม่ ให้ระบุพารามิเตอร์การกําหนดค่าต่อไปนี้สําหรับซับเน็ต
  • ป้อน ipv6-external เป็นชื่อสำหรับซับเน็ต
  • สำหรับภูมิภาค ให้เลือก us-east1
  • สำหรับประเภทสแต็ก IP ให้เลือก IPv4 และ IPv6 (Dual Stack)
  • ป้อนช่วง IPv4 ใช้ 192.168.200.0/24
  • เลือกภายนอกสำหรับประเภทการเข้าถึง IPv6
  • เลือกเสร็จสิ้น
  1. ในส่วนกฎไฟร์วอลล์ ให้เลือกรายการต่อไปนี้
  • ในแท็บกฎการยกเว้นของ IPv4 ให้เลือกตัวเลือกที่ใช้ได้ทั้งหมด: Allow-cutom (สำหรับการสื่อสารภายใน), Allow-icmp, allowed-rdp และ Allow-ssh
  • ในแท็บกฎการยกเว้นของ IPv6 ให้เลือกตัวเลือกที่ใช้ได้ทั้งหมด: Allow-ipv6-cutom (สำหรับการสื่อสารภายใน), allowed-ipv6-icmp, Allow-ipv6-rdp, Allow-ipv6-ssh ในบทแนะนำนี้ เราจะใช้ตัวเลือกนี้เพื่อสร้างกฎการจับคู่ในซับเน็ตใหม่โดยอัตโนมัติ
  1. ในส่วนโหมดการกำหนดเส้นทางแบบไดนามิก ให้เลือกส่วนกลางสำหรับเครือข่าย VPC โปรดดูข้อมูลเพิ่มเติมที่โหมดการกำหนดเส้นทางแบบไดนามิก คุณสามารถเปลี่ยนโหมดการกำหนดเส้นทางแบบไดนามิกในภายหลังได้
  2. สำหรับหน่วยการส่งข้อมูลสูงสุด (MTU) ให้เลือก 1460
  3. คลิกสร้าง

ยืนยันกฎไฟร์วอลล์

การควบคุมกฎไฟร์วอลล์ช่วยให้คุณปฏิเสธการรับส่งข้อมูลไปยังบริการได้

วิธียืนยันว่ามีกฎ

  1. ไปที่เครือข่าย VPC
  2. เลือกไฟร์วอลล์ในแผงด้านซ้าย

f27d26d423d50f59.png

  1. มองไปที่พื้นที่แสดงผลและตรวจสอบว่าคุณเห็นกฎไฟร์วอลล์สำหรับเครือข่ายใหม่ที่สร้างขึ้น เลื่อนดูหาคอลัมน์เครือข่าย แล้วเลื่อนลง คุณควรเห็นชื่อเครือข่ายที่คุณสร้างในคอลัมน์เครือข่ายของกฎไฟร์วอลล์ ในกรณีนี้คือ ipv4-ipv6-network และ external-ipv6-network ชื่อนี้ต้องไม่ซ้ำกันสำหรับโครงการ
  2. ถัดไป เราจะสร้างกฎไฟร์วอลล์ใหม่เพื่ออนุญาตให้ตรวจสอบประสิทธิภาพการทำงาน
  3. เปิด Cloud Run หากยังไม่ได้เปิดโดยเลือกเปิดใช้งาน Cloud Shell ( 9db7bdee3b6c113d.png) ในแถบด้านบน เซสชัน 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
  1. เมื่อเสร็จแล้ว ให้ตรวจสอบว่าคุณเห็นรายการกฎไฟร์วอลล์ ipv6-ipv4-hc ที่แนบอยู่กับ ipv4-ipv6-network

4. กำหนดค่าเกตเวย์ NAT

  1. ไปที่บริการเครือข่าย
  2. เลือก Cloud NAT แล้วเลือกเริ่มต้นใช้งาน

3972e67f4ed8beba.png

  1. ชื่อเกตเวย์ใช้ ipv4-ipv6-nat
  2. เลือกเครือข่าย ipv4-ipv6-network
  3. เลือกภูมิภาค us-central1
  4. Cloud Router ให้เลือกสร้างเราเตอร์ใหม่
  5. สร้างหน้าเราเตอร์กำหนดค่าต่อไปนี้
  • ชื่อ ipv4-ipv6-nat-router
  • ปล่อยให้ทุกอย่างเป็นค่าเริ่มต้น แล้วเลือกสร้าง
  1. กลับไปที่หน้าสร้างเกตเวย์ Cloud NAT และปล่อยตัวเลือกอื่นๆ ตามการเลือกสร้าง

5. กำหนดค่าอินสแตนซ์ใน VPC ส่วนตัว

สร้าง VPC ส่วนตัวของเทมเพลตอินสแตนซ์

  1. เปิด Cloud Shell
  2. ตรวจสอบว่าคุณอยู่ในโปรเจ็กต์ที่ถูกต้องหากมีโปรเจ็กต์หลายรายการ
  3. คัดลอกและวางข้อมูลต่อไปนี้
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 
  1. ไปที่ Compute Engine
  2. เลือกเทมเพลตอินสแตนซ์
  3. ในหน้าต่างเทมเพลตอินสแตนซ์ ให้ตรวจสอบว่าคุณเห็นเทมเพลตที่เพิ่งสร้างขึ้นceaa7bc8d8b62b28.png
  4. คลิกชื่อเทมเพลตแล้วเลื่อนลงเพื่อดูการกําหนดค่า
  • ในส่วนอินเทอร์เฟซเครือข่าย ให้ตรวจสอบว่าคุณเห็นประเภทสแต็กเป็น IPv4 และ IPv647f618608644c410.png

สร้างกลุ่มอินสแตนซ์ใน VPC ส่วนตัว

  1. ไปที่ Compute Engine
  2. เลือกขยายกลุ่มอินสแตนซ์
  3. เลือกการตรวจสอบประสิทธิภาพการทำงาน

f4ec2244a539bd6f.png

  1. เลือกสร้างการตรวจสอบประสิทธิภาพการทำงาน
  2. ในหน้าสร้างการตรวจสอบประสิทธิภาพการทำงาน ให้ใช้รายการต่อไปนี้
  • ชื่อใช้ ipv6-server-hc
  • โปรโตคอล TCP พอร์ต 80
  • เลื่อนไปที่ส่วนเกณฑ์ประสิทธิภาพการทํางาน
  • ตรวจสอบช่วงเวลา 10, หมดเวลา 5
  • เกณฑ์สุขภาพดี 2, เกณฑ์ไม่ดีต่อสุขภาพ 48bf5e76ce58b014c.png
  1. เลื่อนไปที่ท้ายสุดแล้วเลือกcreate
  2. ไปที่ Compute Engine
  3. เลือกกลุ่มอินสแตนซ์
  4. เลือกสร้างกลุ่มอินสแตนซ์
  5. เลือกกลุ่มอินสแตนซ์ใหม่ที่มีการจัดการ (เก็บสถานะ)
  6. ชื่อใช้ ipv6-server-igp
  7. สำหรับเทมเพลตอินสแตนซ์ ให้ใช้ ipv6-internal-server
  8. สำหรับจํานวนอินสแตนซ์ ให้ใช้ 2
  9. สำหรับการใช้ตำแหน่งเป็น Single Zone โปรดตรวจสอบว่าภูมิภาคเป็น us-central1
  10. เลื่อนลงไปที่ส่วนการซ่อมแซมอัตโนมัติ
  • ใช้การตรวจสอบประสิทธิภาพการทำงาน ipv6-server-hc
  • สำหรับการหน่วงเวลาขั้นต้น ประเภท 120
  • ปล่อยให้ทุกอย่างเป็นค่าเริ่มต้น แล้วเลือกสร้าง

การดำเนินการนี้จะใช้เวลาสักครู่ในการสร้างกลุ่มอินสแตนซ์ให้เสร็จสมบูรณ์

ยืนยันอินสแตนซ์และ VM

เมื่ออินสแตนซ์เสร็จสมบูรณ์แล้ว ให้ยืนยัน

  1. ไปที่ Compute Engine แล้วเลือกกลุ่มอินสแตนซ์
  2. เลือกชื่อกลุ่มอินสแตนซ์ที่คุณเพิ่งสร้าง ipv6-server-igp
  3. โปรดตรวจสอบว่าคุณเห็นสิ่งต่อไปนี้
  • อินสแตนซ์ตามสถานะ 2 อินสแตนซ์ (โปรดรอสักครู่เพื่อให้การตรวจสอบประสิทธิภาพการทำงานทั้งหมดทำงาน หากยังแสดงสถานะ "ทำงานได้" อยู่)
  • อินสแตนซ์จากสุขภาพ มีประสิทธิภาพดี 100%

ต่อไปเรามาข้ามไปยัง VM ในกลุ่มอินสแตนซ์นี้โดยตรงและทำการทดสอบกัน

  1. เลือกอินสแตนซ์ VM ที่คุณควรเห็น VM 2 รายการที่มีชื่อขึ้นต้นด้วย ipv6-server-igp
  2. เลื่อนดูและในคอลัมน์ IP ภายใน คุณจะเห็นทั้งที่อยู่ IPV4 และ IPV6 จดที่อยู่ทั้ง 2 รายการสำหรับแต่ละเซิร์ฟเวอร์
  3. เลือก SSH ข้าง VM แรก ซึ่งจะเปิดเซสชัน SSH ไปยังเซิร์ฟเวอร์โดยตรง
  4. ในหน้าต่าง SSH ให้พิมพ์ curl localhost คุณควรได้รับการตอบกลับจากเว็บเซิร์ฟเวอร์ที่ทำงานบน VM ที่แสดง HTML ดังตัวอย่างต่อไปนี้

936962cc23787de8.png

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

f594227c496f6aaf.png

  1. <ไม่บังคับ> คุณสามารถนำ SSH ไปยัง VM ที่ 2 แล้วทำการทดสอบแบบเดียวกันได้ ลอง ping ที่อยู่ IPv4 และ IPv6 ของ VM 1

สร้างอินสแตนซ์ IPv4 เท่านั้นแบบสแตนด์อโลนใน VPC ส่วนตัว

  1. ไปที่ Compute Engine
  2. เลือกอินสแตนซ์ VM แล้วเลือกสร้างอินสแตนซ์
  3. กรอกข้อมูลในหน้าการกำหนดค่าดังนี้
  • ชื่อใช้ ipv4-only
  • ภูมิภาคที่เลือก europe-west1
  1. เลื่อนลง ขยายตัวเลือกขั้นสูง แล้วขยาย "การทํางานของเครือข่าย" ตอนนี้ ให้ใช้รายการต่อไปนี้: ใต้อินเทอร์เฟซเครือข่าย e0e04a20d1d3346d.png
  • เลือกลูกศรแบบเลื่อนลงข้าง "ค่าเริ่มต้น" เพื่อดูตัวเลือกอินเทอร์เฟซการแก้ไข 1799749d20d494c8.png
  1. สำหรับเปลี่ยนเป็น ipv4-ipv6-network
  • เครือข่ายย่อย ipv4
  • เลือกไม่มีที่อยู่ IPv4 ภายนอก
  • เลือกเสร็จสิ้น
  1. เลื่อนไปที่ส่วนท้ายแล้วเลือกcreate
  2. การสร้าง VM จะใช้เวลา 2-3 นาที VM นี้อยู่ในซับเน็ต IPv4 เท่านั้น โดยไม่มีการกําหนดที่อยู่ IP ภายนอก หากต้องการยืนยัน ให้ไปที่หน้าอินสแตนซ์ VM แล้วมองหา VM ที่ชื่อว่า ipv4-only 207938aabfe4251.pngbe32003508afdbd7.png
  3. เลือก SSH ไปยัง SSH ลงใน VM ที่ชื่อว่า ipv4-only
  4. สร้าง ping -c 4 X.X.X.X ไปยังที่อยู่ IPv4 ส่วนตัวของ VM ที่สร้างขึ้นก่อนที่จะเริ่มต้นด้วยชื่อ ipv6-server-igp คุณสามารถ ping ที่อยู่ IPv4 ภายในของ VM เหล่านี้ได้สําเร็จ 6c2a4a052238a59d.png

6. สร้าง LB แอปพลิเคชันที่มีที่อยู่ IPv4 และ IPv6 ใน VPC ส่วนตัว

สร้าง IP ภายนอกแบบคงที่ 2 รายการ

  1. ไปที่เครือข่าย VPC
  2. เลือกที่อยู่ IP แล้วเลือกจองที่อยู่แบบคงที่ภายนอก
  3. สำหรับที่อยู่ IPv4 ให้ใช้ข้อมูลต่อไปนี้
  • ชื่อ ipv4-lb-ip
  • เวอร์ชัน IP IPv4
  • ประเภท Global
  • เลื่อนไปที่ด้านล่างแล้วเลือกจอง
  1. สำหรับที่อยู่ IPv6 ให้ทำขั้นตอนที่ 2 ซ้ำและใช้สิ่งต่อไปนี้
  • ชื่อ ipv6-lb-ip
  • เวอร์ชัน IP IPv6
  • ประเภท Global
  • เลื่อนไปที่ด้านล่างแล้วเลือกจอง

บันทึกที่อยู่ IP เหล่านี้ คุณจะต้องใช้หมายเลขดังกล่าวเพื่อทดสอบการเชื่อมต่อในส่วนสุดท้าย

สร้างแอปพลิเคชันภายนอก LB

  1. ไปที่บริการเครือข่าย
  2. เลือกสร้างตัวจัดสรรภาระงาน
  3. ในส่วนประเภทตัวจัดสรรภาระงาน ให้เลือกตัวจัดสรรภาระงานแอปพลิเคชัน (HTTP/HTTPS) แล้วคลิกถัดไป
  4. ในส่วนการแสดงต่อสาธารณะหรือภายใน ให้เลือกการเปิดรับแสงสาธารณะ (ภายนอก) แล้วเลือกถัดไป
  5. ในส่วนการติดตั้งใช้งานทั่วโลกหรือภูมิภาคเดียว ให้เลือกเหมาะสำหรับภาระงานทั่วโลก จากนั้นเลือกถัดไป
  6. ในส่วนการสร้างตัวจัดสรรภาระงาน ให้เลือกตัวจัดสรรภาระงานแอปพลิเคชันภายนอกทั่วโลก แล้วเลือกถัดไป
  7. เลือกกำหนดค่า
  8. ที่ด้านบนในส่วนสร้างตัวจัดสรรภาระงานแอปพลิเคชันภายนอกทั่วโลก ให้ใช้ชื่อ ipv4-ipv6-lb-demo
  9. ถัดไป ให้เลือกการกําหนดค่าฟรอนต์เอนด์ และใช้ข้อมูลต่อไปนี้
  • ชื่อ ipv4-fe-lb
  • โปรโตคอล HTTP
  • เวอร์ชัน IP IPv4
  • ที่อยู่ IP เลือก ipv4-lb-ip เพื่อกำหนด IP ของ IPv4 ภายนอกแบบคงที่ที่เราสร้างไว้
  • พอร์ต 80
  • เลือกเสร็จสิ้น
  1. ในส่วนฟรอนท์เอนด์ ให้กำหนดค่าและไฟล์แนบ IPv6 ให้เลือกเพิ่ม IP และพอร์ตของฟรอนท์เอนด์:6a5e3aeab563e0a1.png
  • ชื่อ ipv6-fe-lb
  • โปรโตคอล HTTP
  • เวอร์ชัน IP IPv6
  • ที่อยู่ IP เลือก ipv6-lb-ip เพื่อกำหนด IP ภายนอกแบบคงที่ของ IPv6 ที่เราสร้างขึ้น
  • พอร์ต 80
  • เลือกเสร็จสิ้น
  1. เลือกการกําหนดค่าแบ็กเอนด์ในแผงด้านขวามือ ในส่วนบริการแบ็กเอนด์และที่เก็บข้อมูลแบ็กเอนด์ ให้เลือกสร้างบริการแบ็กเอนด์ จากนั้นใช้ข้อมูลต่อไปนี้
  • ชื่อserver-backend
  • ประเภทแบ็กเอนด์ กลุ่มอินสแตนซ์
  • โปรโตคอล HTTP
  • กลุ่มอินสแตนซ์ ipv6-server-igp
  • หมายเลขพอร์ต 80, 8080
  • ยกเลิกการเลือกเปิดใช้ Cloud CDN

ee9c122389b61a9d.png

  • การตรวจสอบประสิทธิภาพการทำงาน เลือก ipv6-server-hc
  • เลื่อนไปจนสุดแล้วเลือกสร้าง
  • จากนั้นเลือกตกลง e4e0dfbb959d7424.png
  1. เลื่อนลงไปที่ด้านล่างของหน้าแล้วเลือกสร้าง เมื่อดำเนินการเสร็จแล้ว คุณควรเห็นข้อมูลต่อไปนี้

2d18e9aadc2545be.png

  1. คลิกที่ชื่อ LB ใหม่ แล้วจดบันทึกที่อยู่ IPV4 และ IPV6 ที่ส่วนหน้า คุณจะต้องใช้ข้อมูลนี้ในการทดสอบครั้งสุดท้าย

7. สร้างอินสแตนซ์เดียวที่มีที่อยู่ IPv4 และ IPv6 ภายนอกและภายใน

สร้างสแตนด์อะโลนด้วยที่อยู่ IPv4 และที่อยู่ IPv6 ภายนอก

  1. ไปที่ Compute Engine
  2. เลือกอินสแตนซ์ VM แล้วเลือกสร้างอินสแตนซ์
  3. กรอกข้อมูลในหน้าการกำหนดค่าดังนี้
  • ใช้ชื่อ external-ipv4-ipv6
  • เลือกภูมิภาค us-east1
  1. เลื่อนลง ขยาย "ตัวเลือกขั้นสูง" จากนั้นขยาย "เครือข่าย" จากนั้นใช้รายการต่อไปนี้
  • ใต้อินเทอร์เฟซเครือข่าย ให้เลือกเครือข่าย external-ipv6-network
  • เครือข่ายย่อย ipv6-external
  • ประเภทสแต็ก IP IPv4 และ IPv6 (สแต็กคู่)
  • ที่อยู่ IPv4 ภายนอก ให้เลือกชั่วคราว
  • เลือกเสร็จสิ้น
  1. เลื่อนไปที่ส่วนท้ายแล้วเลือกcreate
  2. การสร้าง VM จะใช้เวลา 2-3 นาที VM นี้อยู่ในซับเน็ต IPv4_IPv6 ที่มีการเข้าถึงที่อยู่ IPv6 ภายนอก หากต้องการยืนยัน ให้ไปที่หน้าอินสแตนซ์ VM แล้วมองหา VM ชื่อ external-ipv4-ipv62a440854f52f1af7.png
  3. เลือกตัวเลือก SSH เพื่อ SSH ไปยัง VM external-ipv4-ipv6
  4. พิมพ์ ip addr เพื่อตรวจสอบที่อยู่ IPv4 และ IPv6 ที่กำหนดให้กับ VM
  5. ไปยังที่อยู่ IPv4 ของ ipv4-ipv6-lb-demo
  6. ในเซสชัน SSH สำหรับ VM external-ipv4-ipv6 ประเภท curl X.X.X.X โดยที่ X.X.X.X คือที่อยู่ IPv4 ของตัวจัดสรรภาระงาน ipv4-ipv6-lb-demo คุณควรเห็น HTML ของเว็บไซต์ทำงานบนเซิร์ฟเวอร์ใน ipv4-ipv6-network
  7. ในเซสชัน 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

7cd98c6daea571ce.png

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 ทั้ง 2 แบบสำเร็จแล้ว!

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

อัปเดตด้วยตนเองครั้งล่าสุดเมื่อเดือนมีนาคม 2023

ทดสอบครั้งล่าสุดที่ห้องทดลอง มีนาคม 2023