Score:0

จะสร้างขนาดบล็อกเครือข่ายย่อยใหม่ใน VPC ปัจจุบันด้วยช่วง cidr ที่ใช้บน AWS โดยใช้ Terraform ได้อย่างไร

ธง dz

ฉันต้องการใช้ Terraform เพื่อสร้างซับเน็ตใหม่สำหรับ EKS ในบัญชีเดียวกัน มีการสร้าง VPC และสร้างเครือข่ายย่อยบางส่วนแล้ว

ชาวบ้าน {
  vpc_cidr_block = "10.148.52.0/22"

  public_subnets = [
    "10.148.52.0/27",
    "10.148.54.0/27",
  ]
  # ...
  ส่วนตัว_subnets_3 = [
    "10.148.52.80/28",
    "10.148.54.80/28",
  ]
  เครือข่ายย่อย_4 = [
    "10.148.52.240/28",
    "10.148.54.240/28",
  ]
  eks_private_subnets = [
    "10.148.52.128/25",
    "10.148.54.128/25",
  ]
}

ทรัพยากร "aws_subnet" "eks_private" {
  นับ = ความยาว (local.eks_private_subnets)

  vpc_id = aws_vpc.this.id
  cidr_block = local.eks_private_subnets [นับดัชนี]
  availability_zone = local.azs [นับดัชนี]
}

เมื่อเรียกใช้การปรับใช้ มีข้อผิดพลาดเหล่านี้:

ข้อผิดพลาด: เกิดข้อผิดพลาดในการสร้างเครือข่ายย่อย: InvalidSubnet.Conflict: CIDR '10.148.54.128/25' ขัดแย้งกับเครือข่ายย่อยอื่น
    รหัสสถานะ: 400 รหัสคำขอ: 11111111111-111111-1111111-1111111111111

  บน main.tf บรรทัดที่ 50 ในทรัพยากร "aws_subnet" "eks_private":
 50: ทรัพยากร "aws_subnet" "eks_private" {


ข้อผิดพลาด: เกิดข้อผิดพลาดในการสร้างซับเน็ต: InvalidSubnet.Conflict: CIDR '10.148.52.128/25' ขัดแย้งกับซับเน็ตอื่น
    รหัสสถานะ: 400 รหัสคำขอ: 22222222222-222222-22222-222222222222222

  บน network.tf บรรทัดที่ 50 ในทรัพยากร "aws_subnet" "eks_private":
 50: ทรัพยากร "aws_subnet" "eks_private" {

ดูเหมือนว่าขนาด .128/25 จะขัดแย้งกับซับเน็ตอื่น แต่ฉันต้องการสร้างซับเน็ตขนาด /25 ใน VPC นี้ใช่ไหม มิฉะนั้น ฉันอาจต้องสร้าง VPC ใหม่เพื่อใช้หรือไม่

Tim avatar
gp flag
Tim
ช่วง CIDR ของเครือข่ายย่อยของคุณทับซ้อนกัน เปลี่ยนช่วง CIDR Visual CIDR Calculator สามารถช่วยให้คุณเห็นภาพ http://www.davidc.net/sites/default/subnets/subnets.html นี้
Miantian avatar
dz flag
@Tim ฉันคำนวณด้วยเครื่องมือที่คุณให้มา `ช่วงที่อยู่` มี `10.148.52.128 - 10.148.52.255` ฉันจะรีเซ็ตช่วงเครือข่ายย่อยส่วนตัวได้อย่างไร
Tim avatar
gp flag
Tim
คุณหมายถึงอะไร "พักช่วงซับเน็ตส่วนตัว" สิ่งที่คุณต้องทำคือจัดสรรช่วง CIDR ภายในช่วง VPC ที่ไม่ได้ใช้ในปัจจุบัน คุณกำลังใช้บล็อก CIDR ขนาดต่างๆ กันจำนวนมาก ซึ่งนั่นจะเป็นงานเล็กน้อยที่ต้องแก้ไข ฉันมักจะใช้เครือข่าย /16 และ /24 สำหรับเครือข่ายส่วนใหญ่ที่มีพื้นที่ IP มาก แต่เมื่อฉันสร้างเครือข่ายองค์กรที่มีพื้นที่ IP จำกัด ฉันมักจะใช้เครื่องคำนวณ CIDR แบบภาพเพื่อแบ่งอย่างถูกต้อง หากคุณไม่ได้ทำคณิตศาสตร์ CIDR เป็นประจำ คนส่วนใหญ่ต้องการเครื่องมือเพื่อช่วยพวกเขา
ph flag
หากคุณกำลังพยายามจัดสรรช่วงที่ไม่ทับซ้อนกันจำนวนมากเพื่อใช้ร่วมกันในเครือข่ายโดยรวมเดียวกัน คุณอาจพิจารณาใช้ [โมดูล `hashicorp/subnets/cidr`](https://registry.terraform.io/modules /hashicorp/subnets/cidr/latest) ซึ่งออกแบบมาเพื่อช่วยในสถานการณ์นั้น คุณสามารถกำหนดผลลัพธ์จากโมดูลนั้นเป็นค่าในเครื่องแยกกันได้เสมอ เช่นเดียวกับที่คุณมีในคำถามของคุณ หากคุณต้องการทำสิ่งที่ซับซ้อนกว่าเพียงแค่ชุดของอินสแตนซ์ `aws_subnet` ในทรัพยากรเดียว
Miantian avatar
dz flag
@Tim @MartinAtkins ขอบคุณ! ฉันชัดเจนเกี่ยวกับปัญหา subnet cidr เพิ่มเติมแล้ว [โมดูล hashicorp/subnets/cidr](https://registry.terraform.io/modules/hashicorp/subnets/cidr/latest#amazon-virtual-private-cloud) ดูดี แต่ฉันจะพยายามใช้ส่วนอื่นใน ` 10.148.5x` ก่อน
Score:1
ธง gp
Tim

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

คุณอาจพบว่าสิ่งนี้ง่ายขึ้นหากคุณใช้ขนาดบล็อก CIDR ทั่วไป แม้ว่าจะเป็นไปไม่ได้เสมอไป /16 VPC ที่มีซับเน็ต /24 เป็นเรื่องปกติและง่ายต่อการใช้งาน

โพสต์คำตอบ

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