Score:1

การจำกัดการรับส่งข้อมูลระหว่าง AWS VPC

ธง za

ฉันมี VPC สองตัว: A และ B

ฉันต้องการให้โหนดใด ๆ ใน A สามารถเปิดการเชื่อมต่อ TCP กับโหนดใด ๆ ใน B ได้ แต่ไม่ใช่ในทางกลับกัน โหนดใดๆ ใน B จะต้องสามารถเปิดการเชื่อมต่อขาออกไปยังโฮสต์อินเทอร์เน็ตสาธารณะได้ วิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้คืออะไร?

กรณีการใช้งาน: VPC A มีบริการภายในที่ละเอียดอ่อนจำนวนมาก และ VPC B มีโหนดที่รันโค้ดที่ไม่น่าเชื่อถือโดยสิ้นเชิง VPC A จำเป็นต้องส่งคำขอ HTTP ไปยัง VPC B แต่ต้องไม่มีการเปิดเผยบริการภายในใดๆ

การเพียร์ VPC อนุญาตการเชื่อมต่อโดยตรงระหว่างโหนดใดๆ ใน A และ B ซึ่งไม่สามารถจำกัดในระดับการกำหนดเส้นทางได้ สามารถใช้กลุ่มความปลอดภัยเพื่อบล็อกการเชื่อมต่อขาออกได้ แต่จะกำหนดค่าได้ยากเล็กน้อยเนื่องจากไม่มีกฎปฏิเสธ

ACL ของเครือข่ายไม่มีประโยชน์ที่นี่ เนื่องจากการรับส่งข้อมูลกลับต้องได้รับอนุญาตจาก B -> A

มีทางเลือกอื่นอีกไหม? บางอย่างเช่นเกตเวย์ NAT ที่อนุญาตให้เปิดการเชื่อมต่อในทิศทางเดียวเท่านั้น AWS รองรับเกตเวย์ NAT ส่วนตัว แต่ฉันไม่พบเอกสารประกอบสำหรับการกำหนดค่าเช่นนี้

Score:3
ธง gp
Tim

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

กุญแจสำคัญในที่นี้คือการสื่อสารแบบทิศทางเดียวซึ่งแนะนำอย่างยิ่งว่ากลุ่มความปลอดภัยคือคำตอบ ทางออกของฉัน (โดยไม่ต้องคิดมาก):

  • VPC เพียร์ระหว่าง VPC ทั้งสอง ช่วง CIDR ต่างกัน
  • กำหนดเส้นทางตารางใน VPC ทั้งสองเพื่อเปิดใช้งานการสื่อสาร
  • กลุ่มความปลอดภัยใน VPC A เพื่ออนุญาตการรับส่งข้อมูลขาออกไปยังช่วง CIDR ของ VPC B แต่ไม่สามารถรับเข้ามาได้ วิธีนี้จะอนุญาตการรับส่งข้อมูลภายนอกและการรับส่งข้อมูลกลับ แต่ไม่อนุญาตการรับส่งข้อมูลที่เริ่มต้นใน VPC A
  • กลุ่มความปลอดภัยใน VPC B อนุญาตการรับส่งข้อมูลขาเข้าจาก VPC A CIDR แต่ไม่อนุญาตให้ส่งออก สิ่งนี้ทำให้ทราฟฟิกเข้าและปล่อยให้กลับ แต่ไม่อนุญาตให้ทราฟฟิกที่เริ่มต้นใน A ไปถึง B
  • เกตเวย์อินเทอร์เน็ตใน VPC B หากคุณไม่ต้องการอินเทอร์เน็ตเพื่อเข้าถึง VPC B คุณสามารถใช้เกตเวย์ NAT ใน VPC B
za flag
ส่วนที่ยากที่สุดในการตั้งค่านี้คือ "กลุ่มความปลอดภัยใน VPC B อนุญาตการรับส่งข้อมูลขาเข้าจาก VPC A CIDR แต่ไม่อนุญาตให้ส่งออก" ฉันต้องอนุญาตการรับส่งข้อมูลขาออกไปยังอินเทอร์เน็ตสาธารณะจาก VPC B แต่ไม่อนุญาตให้ใช้ VPC A เนื่องจากไม่มีกฎ "DENY" ในกลุ่มความปลอดภัย ฉันมีวิธีแก้ไขในการอนุญาตการรับส่งข้อมูลขาออกไปยังรายการบล็อก CIDR 33 รายการที่ _should_ ครอบคลุมการเข้าถึงอินเทอร์เน็ตสาธารณะทั้งหมด เกตเวย์ NAT ดูเหมือนจะทำงานได้ดีอย่างสมบูรณ์สำหรับการรับส่งข้อมูลภายใน แม้ว่าจะไม่ใช่การตั้งค่าทั่วไปก็ตาม
Tim avatar
gp flag
Tim
ฉันขอแนะนำให้คุณทำการฝึกอบรม AWS หรืออย่างน้อยก็อ่านเกี่ยวกับกลุ่มความปลอดภัย นี่ไม่ใช่สถานการณ์ที่ยาก คุณได้แก้ไขด้วยวิธีที่ค่อนข้างแปลกประหลาดซึ่งอาจมีผลกระทบ และจะทำให้คุณเสียค่าใช้จ่ายมากขึ้นในค่าบริการข้อมูล / NAT ฉันได้รับการฝึกฝน / ได้รับการรับรอง / มีประสบการณ์กับ AWS ค่อนข้างดี ฉันไม่รู้ว่าเกตเวย์ NAT สามารถทำอะไรอย่างอื่นได้นอกจากให้การเข้าถึงอินเทอร์เน็ตเครือข่ายย่อยส่วนตัว - ดูเหมือนว่าคุณกำลังใช้เกตเวย์เพื่อหลีกเลี่ยงธรรมชาติที่ไม่สกรรมกริยาของ AWS VPC นี่เป็นปัญหาง่ายๆ และสามารถแก้ไขได้ด้วยวิธีง่ายๆ
za flag
เกตเวย์ NAT เพิ่มค่าใช้จ่ายและค่าใช้จ่าย (เล็กน้อยสำหรับกรณีการใช้งานนี้) อาจดูแหวกแนว แต่จะเพิ่มตัวเลือกสำหรับชั้นความปลอดภัยเพิ่มเติมในระดับเครือข่ายย่อย แทนที่จะเป็นเฉพาะกลุ่มความปลอดภัย ในทำนองเดียวกัน ในสถานการณ์ทั่วไปที่คุณสามารถใช้ซับเน็ตสาธารณะและปกป้องด้วยกลุ่มความปลอดภัย คุณจะได้รับการแยกที่ดีกว่าด้วยซับเน็ตส่วนตัว + เกตเวย์ NAT สำหรับการเข้าถึงอินเทอร์เน็ต เช่นเดียวกับที่นี่ในระดับใหญ่
Tim avatar
gp flag
Tim
ตกลงอะไรก็ตามที่เหมาะกับคุณ โปรดทราบว่าฉันไม่เคยได้ยินว่ามีการใช้ NAT Gateway ในลักษณะนี้มาก่อน และอาจมีข้อเสียที่ไม่ชัดเจน คุณไม่ได้ใช้แนวทางปฏิบัติที่ดีที่สุดจริงๆ แต่ถ้ามันเหมาะกับคุณก็เยี่ยมมาก
Score:0
ธง za

ดูเหมือนว่าจะสามารถทำงานได้โดยการเพิ่มเกตเวย์ NAT ส่วนตัวในซับเน็ตเฉพาะ

ดูเหมือนว่าการตั้งค่านี้จะใช้งานได้:

VPC A: 10.1.0.0/16

ซับเน็ต A1: 10.1.1.0/24. ซับเน็ตหลักที่มีโหนดใน A
ซับเน็ต A2: 10.1.2.0/24. เครือข่ายย่อยเฉพาะสำหรับเกตเวย์ NAT

VPC B: 10.2.0.0/16

Subnet B1: 10.2.3.0/24: Subnet หลักที่มีโหนดใน B

เกตเวย์ NAT ส่วนตัวในซับเน็ต A2 (แนท-1)
การเพียร์ VPC ระหว่าง VPC A และ B. (pcx-1)

ตารางเส้นทางสำหรับ A1:

10.1.0.0/16 (A): ท้องถิ่น
10.2.3.0/24 (B1): นัต-1

ตารางเส้นทางสำหรับ A2:

10.1.0.0/16 (A): ท้องถิ่น
10.2.3.0/24 (B1): pcx-1

ตารางเส้นทางสำหรับ B1:

10.2.0.0/16 (B): ท้องถิ่น
10.1.2.0/24 (A2): pcx-1

เนื่องจากไม่มีเส้นทางตรงระหว่าง A1 และ B1 การรับส่งข้อมูลทั้งหมดจึงต้องผ่านเกตเวย์ NATและเกตเวย์ NAT อนุญาตเฉพาะการเชื่อมต่อขาเข้าจาก VPC เดียวกัน ดังนั้นจึงไม่มีทางที่โหนดใน B1 จะเปิดการเชื่อมต่อกับโหนดใน A1

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

Oscar De León avatar
la flag
หากไม่มีเส้นทางจาก B ไป A คุณจะไม่ได้รับข้อมูลส่งคืนใดๆ “ไม่รู้จะไปไหน” คำตอบของทิมตรงประเด็น
za flag
ไม่มีเส้นทาง _direct_ จาก B1 ถึง A1 มีเส้นทางจาก B1 ถึง A2 และการรับส่งข้อมูลย้อนกลับผ่านเกตเวย์ NAT นั้น

โพสต์คำตอบ

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