Score:1

AWS NLB พร้อม IP รายการที่อนุญาตพิเศษขาเข้า

ธง in

ก่อนอื่น ฉันเป็นมือใหม่กับบริการ docker-compose และ AWS แต่ฉันได้พยายามเรียนรู้และเตรียมมันอย่างถูกต้องแล้ว ยินดีรับคำแนะนำ

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

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

คำถามของฉันคือ ฉันสามารถกำหนด IP ที่อนุญาตพิเศษให้กับ NLB ได้หรือไม่ ฉันเห็นว่าฉันสามารถทำได้เหมือน whitelist IP ใน ALB แต่มันไม่ได้กำหนด elastic ip

Score:1
ธง gp
Tim

คุณกำลังเผยแพร่เว็บแอปพลิเคชัน / API หรือไม่ ถ้าเป็นเช่นนั้น คุณน่าจะใช้ตัวจัดสรรภาระงานของแอปพลิเคชันมากกว่าตัวจัดสรรภาระงานเครือข่าย NLB มักจะใช้กับแอปพลิเคชันที่ไม่ใช่ http(s) คุณสามารถใช้กับ http(s) ได้ แต่ ALB มักจะเหมาะสมกว่า

ข้อควรพิจารณาในการออกแบบ

ฉันขอแนะนำให้คุณพิจารณาว่าคุณต้องการ IP แบบคงที่จริงๆ หรือไม่ ระบบเดิมหรือระบบฝังตัวบางอย่างอาจต้องการ แต่ส่วนใหญ่ใช้ได้กับที่อยู่ DNS หากคุณต้องการ IP แบบคงที่จริงๆ คุณสามารถใช้ หนึ่งในเทคนิคเหล่านี้ (หรืออื่นๆ ที่คุณพบใน Google) เพื่อให้ ALB เป็น IP แบบคงที่ AWS Global Accelerator จะทำ แต่ฉันไม่แน่ใจว่าจะเป็นทางออกที่ดีสำหรับคุณ คุณต้องคำนึงถึงความพร้อมใช้งานสูงด้วย

เกี่ยวกับ IP แบบคงที่สำหรับรายการที่อนุญาตพิเศษ คุณสามารถพิจารณารับรองความถูกต้องด้วย AWS Cognito ที่รวมเข้ากับ ALB (ดีที่สุด) หรือภายในคอนเทนเนอร์ของคุณ โดยปกติเราจะรวมเข้ากับ Azure AD แต่คุณสามารถกำหนดผู้ใช้/กลุ่มใน Cognito ได้ การรับส่งข้อมูลของผู้ใช้ไปยัง ALB จะได้รับไปยังคอนเทนเนอร์ / เซิร์ฟเวอร์เป้าหมายเท่านั้น หาก Cognito อนุญาตการรับส่งข้อมูล

คำแนะนำหลัก: AWS ALB ที่รวมเข้ากับ AWS Cognito สำหรับการตรวจสอบสิทธิ์ กลุ่มความปลอดภัยรอบๆ ALB ถ้าคุณต้องการ แต่ไม่ต้องการรายการที่อนุญาตพิเศษ

คำถามเดิม

ALB มีกลุ่มความปลอดภัย ตัวจัดสรรภาระงานเครือข่ายไม่มี ทราฟฟิกจะมองไม่เห็น NLB ดังนั้นคุณจึงวางกลุ่มความปลอดภัยไว้รอบๆ ทรัพยากรของคุณ (คอนเทนเนอร์) แทนที่จะเป็นโหลดบาลานซ์

ตัวเลือกรายการที่อนุญาตพิเศษของ ALB IP:

  • คุณสามารถอนุญาตสิทธิ์เข้าถึง ALB กับกลุ่มความปลอดภัยได้ แต่คุณไม่สามารถขึ้นบัญชีดำกับกลุ่มความปลอดภัยได้ มีจำนวนกฎสูงสุด แต่ ALB แต่ละอันสามารถแนบ SG ได้หลายตัว แต่ควรระมัดระวังเนื่องจากอาจส่งผลกระทบต่อประสิทธิภาพการทำงาน นี่เป็นคำแนะนำรองของฉันหากคุณไม่ต้องการใช้ Cognito
  • คุณสามารถขึ้นบัญชีขาวหรือบัญชีดำได้ด้วย Network Access Control Lists (NACLs)
  • คุณสามารถทำบางอย่างภายในคอนเทนเนอร์ด้วยไฟร์วอลล์ในเครื่องได้ แต่ฉันไม่แนะนำอย่างนั้น

ตัวเลือกรายการที่อนุญาต IP ของ NLB:

  • กลุ่มความปลอดภัยรอบคอนเทนเนอร์ ECS
  • NACL รอบซับเน็ต
Xeven avatar
in flag
ใช่ ฉันกำลังเผยแพร่เว็บแอป (ในอนาคตจะเป็น API ด้วย)ฉันใช้ NLB เพราะฉันสามารถกำหนด IP แบบยืดหยุ่นให้กับมันได้ (มันทำให้ฉันสามารถเข้าถึงเว็บแอปและ API ได้) แต่ในกรณีของ ALB ฉันเห็นว่าฉันสามารถใช้ SG สำหรับการเข้าถึงรายการที่อนุญาตพิเศษได้ แม้ว่าฉันจะกำหนดไม่ได้ IP ยืดหยุ่นกับมัน ฉันจะกำหนดหรือ IP สาธารณะแบบคงที่ให้กับ ALB ได้อย่างไร
Tim avatar
gp flag
Tim
ฉันแก้ไขคำตอบ - ย่อหน้าที่ 2 คุณมีข้อกำหนดที่ยากสำหรับ IP แบบคงที่หรือไม่? IP แบบคงที่สามารถจำกัดความสามารถของคุณในการจัดเตรียมความพร้อมใช้งานสูง ALB ที่มีชื่อ DNS เป็นโซลูชันที่ดีกว่าในกรณีส่วนใหญ่ สำหรับเว็บแอปและ API
Xeven avatar
in flag
อาจไม่จำเป็นต้องใช้ IP แบบคงที่ เนื่องจากเป็นเว็บแอปที่เราต้องการอนุญาตเท่านั้น เข้าถึง IP เฉพาะ ฉันยังใหม่กับเครือข่าย คุณช่วยแนะนำเอกสารหรือบางอย่างเกี่ยวกับเครือข่ายได้ไหม อย่างไรก็ตามฉันจะลอง ขอบคุณทิม
Tim avatar
gp flag
Tim
Application Load Balancer ที่มีกลุ่มความปลอดภัยเพื่อจัดเตรียมรายการที่อนุญาตจะเป็นตัวเลือกที่ดีที่สุด/ง่ายที่สุดของคุณ เอกสารประกอบของ AWS นั้นยอดเยี่ยมและมีทรัพยากร/บทช่วยสอนมากมายทางออนไลน์ ดูคำตอบที่อัปเดตของฉันเกี่ยวกับ Cognito
Xeven avatar
in flag
ฉันสนใจ AWS Cognito ซึ่งอาจทำให้บางขั้นตอนง่ายขึ้น ฉันต้องการฟังก์ชันพื้นฐานในสัปดาห์นี้ ดังนั้นฉันจะลองเกี่ยวกับตัวเลือก ALB/NLB ก่อน แล้วจึงผสานรวมตัวเลือกที่ดีเพื่อเรียนรู้และรู้ว่าจะทำอย่างไรในอนาคต ขณะที่ฉันค้นหาข้อมูล ฉันได้เห็น URL นี้ใน AWS https://aws.amazon.com/about-aws/whats-new/2021/09/application-load-balancer-aws-privatelink-static-ip-addresses-network-load-balancer/ มันจะแก้ปัญหาของฉันด้วยหรือไม่ Offtopic: คุณช่วยแนะนำเนื้อหาดีๆ ที่อธิบายเกี่ยวกับ AWS และเครือข่ายได้ไหม มันน่าสนใจ แต่ฉันรู้เรื่องนี้น้อยมาก ขอบคุณมากสำหรับความช่วยเหลือของคุณ
MLu avatar
id flag
MLu
@Tim มาเลย Global Accelerator ไม่ใช่ "วิธีแก้ปัญหาแบบโง่ๆ"! เป็นคำตอบที่ถูกต้องจริง ๆ เมื่อมีคนต้องการ ALB ที่มี IP แบบคงที่ ;)
Tim avatar
gp flag
Tim
@MLu ฮ่า ฉันยังไม่ได้ใช้บริการนั้นจริง ๆ ดังนั้นฉันจึงไม่รู้อะไรมากเกี่ยวกับบริการนี้ นอกจากสิ่งที่ฉันต้องเรียนรู้สำหรับใบรับรอง AWS ต่างๆ :) ฉันคิดว่ากุญแจสำคัญในที่นี้คือการทำความเข้าใจข้อกำหนดและการออกแบบสถาปัตยกรรมสำหรับอะไร เป็นสิ่งที่จำเป็น แทนที่จะทำให้ความคิดเริ่มต้นทำงาน ALB กับ Cognito น่าจะดีที่สุด ALB กับ SGs เป็นขั้นตอนถัดไป จากนั้นอาจเป็น GA กับ ALB
MLu avatar
id flag
MLu
@Tim จริง ๆ แล้วคุณก็พูดถูกจริง ๆ ฉันแค่แสดงความคิดเห็นเกี่ยวกับคำสั่ง âkludgy workaroundâ w.r.t. GA - เป็นบริการที่ยอดเยี่ยมและไม่แพงเลย ตรวจสอบ https://speedtest.globalaccelerator.aws/ ;)
Tim avatar
gp flag
Tim
@MLu ที่ดูเหมือนเป็นบริการที่มีประโยชน์และไม่ใช่ขยะ และแม้แต่เวลลิงตันถึงซิดนีย์ก็ยังได้รับประโยชน์เล็กน้อย ฉันไม่เคยใช้ GA มาก่อน บริการอื่น ๆ อีกมากมาย แต่ไม่ใช่บริการนั้น! ไม่ใช่วิธีแก้ปัญหาที่ถูกต้องสำหรับคำถามนี้ แต่อาจเหมาะสำหรับโซลูชันอื่นๆ โดยเฉพาะองค์กร ราคาค่อนข้างสมเหตุสมผลสำหรับ AWS ;)

โพสต์คำตอบ

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