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 จากไคลเอ็นต์
สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้าง VPC ที่กำหนดเอง
- วิธีเปิดใช้ IPv6 ในซับเน็ต
- วิธีตั้งค่ากฎไฟร์วอลล์
- วิธีสร้างเกตเวย์ NAT
- วิธีสร้างกลุ่มอินสแตนซ์ที่มีการจัดการ
- วิธีสร้างไคลเอ็นต์ IPv4, IPv6
- วิธีสร้าง IP แบบคงที่
- วิธีสร้าง LB แอปพลิเคชัน
Codelab นี้มุ่งเน้นไปที่การกำหนดที่อยู่ IP รวมถึงจะใช้ VM และตัวจัดสรรภาระงานโดยเฉพาะด้วย
สิ่งที่คุณต้องมี
- เว็บเบราว์เซอร์สำหรับเชื่อมต่อกับคอนโซล Google Cloud
- ความสามารถในการสร้าง VPC และกฎไฟร์วอลล์
- ความสามารถในการใช้ SSH
- บัญชี Google Cloud
2. การเริ่มตั้งค่า
การตั้งค่าห้องทดลอง
การตั้งค่าสภาพแวดล้อมในแบบของคุณ
- ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี
- ชื่อโครงการคือชื่อที่แสดงของผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ โดยคุณจะอัปเดตวิธีการชำระเงินได้ทุกเมื่อ
- รหัสโปรเจ็กต์จะไม่ซ้ำกันในทุกโปรเจ็กต์ของ Google Cloud และจะเปลี่ยนแปลงไม่ได้ (เปลี่ยนแปลงไม่ได้หลังจากตั้งค่าแล้ว) คอนโซล Cloud จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นจะเป็นอะไร ในโค้ดแล็บส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (ปกติจะระบุเป็น
PROJECT_ID
) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสอื่นแบบสุ่มได้ หรือคุณจะลองดำเนินการเองแล้วดูว่าพร้อมให้ใช้งานหรือไม่ คุณจะเปลี่ยนแปลงหลังจากขั้นตอนนี้ไม่ได้และจะยังคงอยู่ตลอดระยะเวลาของโปรเจ็กต์ - สำหรับข้อมูลของคุณ ค่าที่ 3 คือหมายเลขโปรเจ็กต์ ซึ่ง API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 รายการนี้ได้ในเอกสารประกอบ
- ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การใช้งาน Codelab นี้จะไม่มีค่าใช้จ่ายใดๆ หากมี หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินหลังจากบทแนะนำนี้ คุณก็ลบทรัพยากรที่สร้างไว้หรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า $300 USD
เริ่ม Cloud Shell
แม้ว่า Google Cloud จะทำงานจากระยะไกลจากแล็ปท็อปได้ แต่ในโค้ดแล็บนี้ คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์
จากคอนโซล Google Cloud ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน
การจัดสรรและเชื่อมต่อกับสภาพแวดล้อมนี้ควรใช้เวลาเพียงครู่เดียว เมื่อดำเนินการเสร็จแล้ว คุณควรเห็นข้อมูลดังต่อไปนี้
เครื่องเสมือนนี้โหลดเครื่องมือการพัฒนาทั้งหมดที่คุณต้องการ ซึ่งจะมีไดเรกทอรีหลักขนาด 5 GB ถาวรและทำงานบน Google Cloud ซึ่งจะช่วยเพิ่มประสิทธิภาพเครือข่ายและการรับรองได้อย่างมีประสิทธิภาพ งานทั้งหมดใน Codelab นี้ทำได้ในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไร
3. กำหนดค่า VPC ที่กำหนดเอง
เหตุผลที่ควรใช้ VPC ที่กำหนดเอง
ใน Lab นี้ เราจะเพิ่มกฎไฟร์วอลล์จำนวนหนึ่ง ซึ่งรวมถึงกฎสำหรับการรับส่งข้อมูล 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 (สแต็กคู่)
- ป้อนช่วง IPv4 ใช้ 192.168.20.0/24
- สำหรับประเภทการเข้าถึง IPv6 ให้เลือกภายใน
- เลือกเสร็จสิ้น
- ในส่วนกฎไฟร์วอลล์ ให้เลือกรายการต่อไปนี้
- ในแท็บกฎการยกเว้นของ IPv4 ให้เลือกตัวเลือกที่ใช้ได้ทั้งหมด: Allow-cutom (สำหรับการสื่อสารภายใน), Allow-icmp, allowed-rdp และ Allow-ssh
- ในแท็บกฎของ IPv6 ไฟร์วอลล์ ให้เลือกตัวเลือกที่มีอยู่ทั้งหมด: Allow-ipv6-cutom (สำหรับการสื่อสารภายใน), Allow-ipv6-icmp, allowed-ipv6-rdp, allowed-ipv6-ssh
ตัวเลือกเหล่านี้จะสร้างกฎที่ตรงกันสำหรับซับเน็ตใหม่โดยอัตโนมัติ
- ในส่วนโหมดการกำหนดเส้นทางแบบไดนามิก ให้เลือกส่วนกลางสำหรับเครือข่าย VPC โปรดดูข้อมูลเพิ่มเติมที่โหมดการกำหนดเส้นทางแบบไดนามิก คุณเปลี่ยนโหมดการกำหนดเส้นทางแบบไดนามิกในภายหลังได้
- สำหรับหน่วยการส่งข้อมูลสูงสุด (MTU) ให้เลือก 1460
- คลิกสร้าง
ตั้งค่า VPC ที่กำหนดเองด้วย IPv6 ภายนอก
- ในส่วนเครือข่าย ให้เลือกเครือข่าย VPC
- เลือกสร้างเครือข่าย VPC จากด้านบน
- ในส่วนสร้างเครือข่าย VPC ให้เพิ่มข้อมูลต่อไปนี้
- ป้อนชื่อเครือข่ายเป็น external-ipv6-network
- ในส่วนช่วง IPv6 ภายในเครือข่าย VPC สำหรับ ULA ให้เลือกเปิดใช้
- ในส่วนจัดสรรช่วง IPv6 ภายในของ ULA ให้เลือกอัตโนมัติ
- เลือกกำหนดเองสำหรับโหมดการสร้างซับเน็ต
- ในส่วนซับเน็ตใหม่ ให้ระบุพารามิเตอร์การกําหนดค่าต่อไปนี้สําหรับซับเน็ต
- ป้อน ipv6-external เป็นชื่อสำหรับซับเน็ต
- สำหรับภูมิภาค ให้เลือก us-east1
- สำหรับประเภทสแต็ก IP ให้เลือก IPv4 และ IPv6 (Dual Stack)
- ป้อนช่วง IPv4 ใช้ 192.168.200.0/24
- เลือกภายนอกสำหรับประเภทการเข้าถึง IPv6
- เลือกเสร็จสิ้น
- ในส่วนกฎไฟร์วอลล์ ให้เลือกรายการต่อไปนี้
- ในแท็บกฎการยกเว้นของ IPv4 ให้เลือกตัวเลือกที่ใช้ได้ทั้งหมด: Allow-cutom (สำหรับการสื่อสารภายใน), Allow-icmp, allowed-rdp และ Allow-ssh
- ในแท็บกฎการยกเว้นของ IPv6 ให้เลือกตัวเลือกที่ใช้ได้ทั้งหมด: Allow-ipv6-cutom (สำหรับการสื่อสารภายใน), allowed-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
- เลื่อนไปที่ท้ายสุดแล้วเลือกcreate
- ไปที่ 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
- เลื่อนดูและในคอลัมน์ 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 ภายนอก
- เลือกเสร็จสิ้น
- เลื่อนไปที่ส่วนท้ายแล้วเลือกcreate
- การสร้าง VM จะใช้เวลา 2-3 นาที 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. สร้าง 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 (สแต็กคู่)
- ที่อยู่ IPv4 ภายนอก ให้เลือกชั่วคราว
- เลือกเสร็จสิ้น
- เลื่อนไปที่ส่วนท้ายแล้วเลือกcreate
- การสร้าง VM จะใช้เวลา 2-3 นาที 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 ทั้ง 2 แบบสำเร็จแล้ว!
เอกสารอ้างอิง
- เอกสารประกอบ: การกำหนดที่อยู่ IP
- เอกสารประกอบ: เปิดใช้ IPv6 บนซับเน็ต
- เอกสารประกอบ: การสิ้นสุด IPv6 สำหรับ HTTP(S) ภายนอก, พร็อกซี SSL และ TCP ภายนอก
อัปเดตด้วยตนเองครั้งล่าสุดเมื่อเดือนมีนาคม 2023
ทดสอบครั้งล่าสุดที่ห้องทดลอง มีนาคม 2023