ฉันได้ทำตามขั้นตอนต่อไปนี้:

  1. สร้าง VPC (ด้วยเครือข่ายย่อยสาธารณะเดียว)
  2. เพิ่มอินสแตนซ์ EC2 ให้กับ VPC
  3. จัดสรร IP แบบยืดหยุ่น
  4. เชื่อมโยง IP แบบยืดหยุ่นกับอินสแตนซ์
  5. สร้างกลุ่มความปลอดภัยและกำหนดให้กับอินสแตนซ์
  6. แก้ไขกฎความปลอดภัยเพื่ออนุญาตให้ขาเข้า ICMP echo และ TCP บนพอร์ต 22

ฉันทำทั้งหมดนี้แล้ว แต่ยังไม่สามารถ ping หรือ ssh ลงในอินสแตนซ์ได้ ถ้าฉันทำตามขั้นตอนเดียวกันลบบิต VPC ฉันสามารถตั้งค่านี้ได้โดยไม่มีปัญหา ฉันพลาดขั้นตอนใด

answer

ในการสื่อสารภายนอก VPC ซับเน็ตที่ไม่ใช่ค่าเริ่มต้นแต่ละรายการจะต้องมีตารางเส้นทางและอินเทอร์เน็ตเกตเวย์ที่เกี่ยวข้อง (ซับเน็ตเริ่มต้นจะได้รับเกตเวย์ภายนอกและตารางเส้นทางโดยค่าเริ่มต้น)

ขึ้นอยู่กับวิธีที่คุณสร้างเครือข่ายย่อยสาธารณะใน VPC คุณอาจต้องเพิ่มเครือข่ายย่อยเพิ่มเติมอย่างชัดเจน ดูเหมือนว่าการตั้งค่า VPC ของคุณจะตรงกับสถานการณ์สมมติที่ 1 - ระบบคลาวด์ส่วนตัว (VPC) ที่มีซับเน็ตสาธารณะเพียงเครือข่ายเดียว และเกตเวย์อินเทอร์เน็ตเพื่อเปิดใช้งานการสื่อสารทางอินเทอร์เน็ตจากเอกสารประกอบของ AWS VPC

คุณจะต้องเพิ่มเกตเวย์อินเทอร์เน็ตเพื่อ VPC ของคุณและภายในตารางเครือข่ายย่อยสาธารณะเส้นทางกำหนด0.0.0.0/0 (เส้นทางเริ่มต้น) เพื่อไปที่เกตเวย์อินเทอร์เน็ตที่ได้รับมอบหมาย มีภาพประกอบที่ดีของโทโพโลยีเครือข่ายที่แน่นอนในเอกสารประกอบ

นอกจากนี้ สำหรับข้อมูลเพิ่มเติม คุณสามารถตรวจสอบเอกสารVPC Internet Gateway AWS น่าเสียดายที่มันยุ่งเล็กน้อยและ Gotcha ที่ไม่ชัดเจน

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับปัญหาการเชื่อมต่อดูเพิ่มเติมที่: การแก้ไขปัญหาการเชื่อมต่อกับอินสแตนซ์ของคุณ

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

ฉันสังเกตว่า (ฉันคิดว่า) คุณต้องระมัดระวังเกี่ยวกับโซนความพร้อมใช้งานที่สร้างอินสแตนซ์ของคุณ SubNet, Network Interface และ Instance จะต้องอยู่ในโซนความพร้อมใช้งานเดียวกัน มิฉะนั้นจะไม่มีทางเชื่อมต่อกับ IP สาธารณะ สำหรับกรณีนั้น

ฉันอาจจะคิดผิด แต่ฉันไม่คิดอย่างนั้น ฉันต้องทำงาน 12 ชั่วโมงเพื่อหาคำตอบ

หวังว่านี่จะช่วยคนอื่น

คุณควรจัดสรร ENI และกำหนด Elastic IP ให้กับ ENI นี้ นอกจากนี้ คุณควรกำหนด ENI นี้ให้กับ VPC ของคุณ ตารางเส้นทางต้องถูกต้องด้วย เพื่อส่งต่อแพ็กเก็ตภายนอกไปยัง VPC ของคุณอย่างถูกต้อง

เนื่องจาก SSH เป็นโปรโตคอลแบบ statefull คุณต้องแน่ใจว่าคุณมีกฎ OUTBOUND ต่อไปนี้ใน ACL เครือข่ายของคุณ:

Rule #  Type            Protocol        Port Range      Destination     Allow / Deny
100     Custom TCP Rule TCP (6)         49152-65535     0.0.0.0/0       ALLOW