ตัวเลือกการกำหนดที่อยู่ 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. การตั้งค่า

การตั้งค่า Lab

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

  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 ของระบบคลาวด์ การใช้งาน 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 ซึ่งช่วยเพิ่มประสิทธิภาพของเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก งานทั้งหมดใน Codelab นี้ทำได้ในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไรเลย

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

ทำไมจึงต้องใช้ VPC ที่กำหนดเอง

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

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

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

dda2618060d62ed5.png

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

การกำหนดค่า

ค่า

ชื่อ

ipv4

ภูมิภาค

ยุโรป-ตะวันตก1

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

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

ช่วง IPv4

24.168.10.0/24

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

เลือก

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

ipv4-วินาที

ช่วง IPv4 รอง 1

10.0.10.0/24

  • เลือกเสร็จสิ้น
  1. เราจะเพิ่มซับเน็ตอื่นและเปิดใช้ IPV6 หากต้องการเพิ่มซับเน็ตอื่น ให้เลือก ADD SUBNET ในส่วนซับเน็ตใหม่ ให้ระบุพารามิเตอร์การกำหนดค่าต่อไปนี้สำหรับซับเน็ต
  • ป้อน ipv6net ในช่องชื่อของซับเน็ต
  • สำหรับภูมิภาค ให้เลือก us-central1
  • สำหรับประเภทสแต็ก IP ให้เลือก IPv4 และ IPV6 (สแต็กคู่)
  • ป้อนช่วง IPv4 ใช้ 192.168.20.0/24
  • สำหรับประเภทการเข้าถึง IPv6 ให้เลือกภายใน
  • เลือกเสร็จสิ้น
  1. ในส่วนกฎไฟร์วอลล์ ให้เลือกตัวเลือกต่อไปนี้
  • ในแท็บกฎของ IPv4 ไฟร์วอลล์ ให้เลือกตัวเลือกที่มีอยู่ทั้งหมด: Allow-cutom (สำหรับการสื่อสารภายใน), Allow-icmp, Allow-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. ในส่วนซับเน็ตใหม่ ให้ระบุพารามิเตอร์การกำหนดค่าต่อไปนี้สำหรับซับเน็ต
  • สำหรับ Name ของเครือข่ายย่อย ให้ป้อน ipv6-external
  • สำหรับภูมิภาค ให้เลือก us-east1
  • สำหรับประเภทสแต็ก IP ให้เลือก IPv4 และ IPv6 (Dual Stack)
  • ป้อนช่วง IPv4 ใช้ 192.168.200.0/24
  • สำหรับประเภทการเข้าถึง IPv6 ให้เลือกภายนอก
  • เลือกเสร็จสิ้น
  1. ในส่วนกฎไฟร์วอลล์ ให้เลือกตัวเลือกต่อไปนี้
  • ในแท็บกฎของ IPv4 ไฟร์วอลล์ ให้เลือกตัวเลือกที่มีอยู่ทั้งหมด: Allow-cutom (สำหรับการสื่อสารภายใน), Allow-icmp, Allow-rdp และ Allow-ssh
  • ในแท็บกฎของ IPv6 ไฟร์วอลล์ ให้เลือกตัวเลือกที่มีอยู่ทั้งหมด: Allow-ipv6-cutom (สำหรับการสื่อสารภายใน), Allow-ipv6-icmp, allowed-ipv6-rdp, allowed-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. เลื่อนไปที่ท้ายสุดแล้วเลือกสร้าง
  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 นี้ไปยังที่อยู่ VM ที่สอง IPv4 แล้วทำแบบเดียวกันนี้โดยใช้ที่อยู่ VM ที่ 2 IPv6

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. เลื่อนไปที่ส่วนท้ายแล้วเลือกสร้าง
  2. ระบบจะใช้เวลาสักครู่ในการสร้าง VM 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 เพื่อกำหนด IPv6 IP ภายนอกแบบคงที่ที่เราสร้างไว้
  • พอร์ต 80
  • เลือกเสร็จสิ้น
  1. เลือกการกำหนดค่าแบ็กเอนด์ในแผงด้านขวามือใต้บริการแบ็กเอนด์และที่เก็บข้อมูลแบ็กเอนด์ เลือกสร้างบริการแบ็กเอนด์แล้วใช้รายการต่อไปนี้
  • ชื่อแบ็กเอนด์เซิร์ฟเวอร์
  • ประเภทแบ็กเอนด์กลุ่มอินสแตนซ์
  • โปรโตคอล 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. เลื่อนไปที่ส่วนท้ายแล้วเลือกสร้าง
  2. ระบบจะใช้เวลาสักครู่ในการสร้าง VM 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

Lab ที่ได้รับการทดสอบล่าสุดเมื่อเดือนมีนาคม 2023