ขณะนี้ฉันมีการตั้งค่าต่อไปนี้:

  • API (Node.JS) ที่ทำงานโดยใช้ Elastic Beanstalk ซึ่งขณะนี้กำลังเรียกใช้ EC2 อินสแตนซ์เดียวเท่านั้น
  • อินสแตนซ์ MongoDB ที่ทำงานบนอินสแตนซ์ EC2 ที่แยกจากกัน

ขณะนี้ฉันมีสองกลุ่มรักษาความปลอดภัยหนึ่งสำหรับ DB, ขอเรียกว่าSG-DB , และอีกคนหนึ่งที่สร้างขึ้นโดยยืดหยุ่นถั่วที่เรียกว่าawseb-E-wwbtetapaa กอง-AWSEBSecurityGroup-XX

บนsg-dbฉันมีพอร์ต 27017 เปิดเป็น 0.0.0.0/0 ฉันกำลังพยายามปิดพอร์ตเพื่อให้มีเพียงแอปพลิเคชัน Elastic Beanstalk ของฉันเท่านั้นที่สามารถเข้าถึงได้ ฉันได้ลองเปิด 27017 สำหรับawseb-e-wwbtetapaa-stack-AWSEBSecurityGroup-xxแล้ว แต่มันใช้งานไม่ได้ ฉันยังเข้าถึงไม่ได้

เพื่อวัตถุประสงค์ในการทดสอบ ฉันพยายามเชื่อมต่อกับอินสแตนซ์ EC2 ที่เรียกใช้ API แล้วลองเปิดพอร์ต 22 บนอินสแตนซ์ฐานข้อมูลของฉัน ฉันพยายามเปิดพอร์ต 22 บนawseb-e-wwbtetapaa-stack-AWSEBSecurityGroup-xxและamazon-elb -sg ทั้งสองไม่ทำงาน

ใครมีความคิดเกี่ยวกับวิธีการปิดพอร์ต MongoDB? ตอนนี้เป็นข้อบกพร่องด้านความปลอดภัยที่ค่อนข้างใหญ่ที่จะเปิดให้ 0.0.0.0/0

แก้ไข

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

แก้ไข2

ดูเหมือนว่าการใช้ Public DNS จะคืนค่า IP ส่วนตัวเมื่อใช้งานในอินสแตนซ์ EC2

answer

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