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

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 จากไคลเอ็นต์

c184b465720a47d6.png

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

  • วิธีสร้าง VPC ที่กำหนดเอง
  • วิธีเปิดใช้ IPV6 ในเครือข่ายย่อย
  • วิธีกำหนดกฎไฟร์วอลล์
  • วิธีสร้างเกตเวย์ NAT
  • วิธีสร้างกลุ่มอินสแตนซ์ที่มีการจัดการ
  • วิธีสร้างไคลเอ็นต์ IPv4, IPv6
  • วิธีสร้าง IP แบบคงที่
  • วิธีสร้าง Application 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 ของ Cloud การทำตาม Codelab นี้จะไม่มีค่าใช้จ่ายมากนัก หรืออาจไม่มีค่าใช้จ่ายเลย หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่สร้างขึ้นหรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD

เริ่มต้น Cloud Shell

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

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

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

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

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

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

ใน Lab นี้ เราจะเพิ่มกฎไฟร์วอลล์ 2-3 ข้อ รวมถึงกฎสำหรับการรับส่งข้อมูล 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 (แบบ 2 สแต็ก)
  • ป้อนช่วง IPv4 โดยใช้ 192.168.20.0/24
  • สำหรับประเภทการเข้าถึง IPv6 ให้เลือกภายใน
  • เลือกเสร็จสิ้น
  1. ในส่วนกฎไฟร์วอลล์ ให้เลือกรายการต่อไปนี้
  • ในแท็บกฎไฟร์วอลล์ IPv4 ให้เลือกตัวเลือกที่มีทั้งหมด: allow-cutom (สำหรับการสื่อสารภายใน), allow-icmp, allow-rdp, allow-ssh
  • ในแท็บกฎไฟร์วอลล์ IPv6 ให้เลือกตัวเลือกที่มีทั้งหมด ได้แก่ allow-ipv6-cutom (สำหรับการสื่อสารภายใน), allow-ipv6-icmp, allow-ipv6-rdp, allow-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 ภายใน ULA ของเครือข่าย VPC ให้เลือกเปิดใช้
  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, allow-rdp, allow-ssh
  • ในแท็บกฎไฟร์วอลล์ IPv6 ให้เลือกตัวเลือกที่มีทั้งหมด ได้แก่ allow-ipv6-cutom (สำหรับการสื่อสารภายใน), allow-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. เลื่อนไปท้ายสุดแล้วเลือกสร้าง
  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. เลื่อนไปทางขวาและใต้คอลัมน์ Internal 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. เลื่อนไปที่ด้านล่างสุดแล้วเลือกสร้าง
  2. ระบบจะใช้เวลา 2-3 นาทีในการสร้าง 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. สร้าง Application 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 (Dual Stack)
  • ที่อยู่ IPv4 ภายนอก ให้เลือกชั่วคราว
  • เลือกเสร็จสิ้น
  1. เลื่อนไปที่ด้านล่างสุดแล้วเลือกสร้าง
  2. ระบบจะใช้เวลา 2-3 นาทีในการสร้าง 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 เรียบร้อยแล้ว

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

คู่มืออัปเดตล่าสุดเมื่อเดือนมีนาคม 2023

Lab ทดสอบล่าสุดเมื่อเดือนมีนาคม 2023