Score:1

ฉันต้องการสร้างแอปพลิเคชันที่เข้าถึงได้แบบสาธารณะหลายรายการบน AWS แต่ฉันมี Elastic IP ที่จำกัด มีวิธีแก้ไขที่ดีกว่านี้หรือไม่?

ธง mk

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

ฉันได้มองไปรอบ ๆ เพื่อดูว่าฉันสามารถหาทางออกสำหรับสิ่งนี้ได้หรือไม่ และได้พบกับบางสิ่งที่มีแนวโน้ม เช่น:

  • DNS แบบไดนามิก
  • วี.พี.ซี
  • โหลดบาลานเซอร์แบบยืดหยุ่น

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

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

Score:2
ธง gp
Tim

ขีดจำกัดมีไว้เพื่อปกป้องคุณจากการใช้จ่ายมากเกินไปโดยไม่ตั้งใจ และเพื่อปกป้องโครงสร้างพื้นฐานของ AWS จากผู้ใช้ หากคุณต้องการทรัพยากรเพิ่มเติมอย่างถูกต้องตามกฎหมาย เช่น Elastic IP และมีบัญชีอยู่ในสถานะที่ดี คุณเพียงแค่ขอเพิ่มขีดจำกัด

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

เพิ่มขีด จำกัด การบริการ

นอกจากนี้ ฉันจะแจ้งให้คุณทราบเกี่ยวกับ "โควต้าบริการของ AWS" ในแดชบอร์ด ซึ่งจะแสดงค่าเริ่มต้นและขีดจำกัดปัจจุบันของคุณ

ขีด จำกัด การบริการ

อีกทางหนึ่ง

เป็นเรื่องปกติที่จะนำอินสแตนซ์ EIP และ EC2 ออนไลน์ วิธีที่ดีกว่าในบางกรณีคือการสร้าง Application Load Balancer เชื่อมโยงกับใบรับรอง https ที่คุณสร้างขึ้นใน AWS Certificate Manager และกำหนดให้พร็อกซีทราฟฟิกไปยัง IP ส่วนตัวของอินสแตนซ์ EC2 ของคุณ มีค่าใช้จ่ายเพิ่มขึ้นเล็กน้อย แต่ช่วยให้เซิร์ฟเวอร์ของคุณแยกจากอินเทอร์เน็ตได้มากขึ้น สามารถช่วยลดการโจมตี DDOS บางประเภทได้เช่นกัน

Score:1
ธง us

วิธีที่ใช้บ่อยคือการตั้งค่า reverse proxy ซึ่งจะส่งทราฟฟิกไปยังเซิร์ฟเวอร์อัปสตรีมต่างๆ

ตัวอย่างเช่น:

https://example.com/api1 -> 10.100.10.1
https://example.com/api2 -> 10.100.10.2

มีหลายวิธีในการตั้งค่าพร็อกซีย้อนกลับ เราสามารถตั้งค่าอินสแตนซ์ EC2 ด้วยการกำหนดค่า nginx เป็นพร็อกซีย้อนกลับ

AWS ยังนำเสนอวิธีต่างๆ ในการทำงานเดียวกันให้สำเร็จ: AWS API Gateway, Application Load Balancer และ Cloudfront

ml flag
ฉันจะแนะนำ Application Load Balancer ฟังดูน่าจะเหมาะกับคุณดูมัน! คุณสามารถตั้งค่าและทดสอบได้ในขณะที่ยังไม่ได้แตะการตั้งค่าปัจจุบันของคุณ
Score:0
ธง cn

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

ขออภัย นี่เป็นวิธีแก้ปัญหาที่ไม่สมบูรณ์หากผู้ใช้ของคุณยังไม่มี IPv6 ขอเพิ่มโควต้าของที่อยู่ IP ยืดหยุ่น หากคุณต้องการเพิ่มเติม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา