Score:0

Terraform - ไม่สามารถรับ subnet id

ธง th

ฉันกำลังพยายามสร้างอินสแตนซ์ RDS ผ่าน Terraform และฉันมีปัญหาในการรับ subnet id จาก AWS เพื่อสร้าง aws_db_subnet_group

ฉันได้ลองหลายวิธีเช่น:

data.aws_subnet.test_subnet.id

aws_subnet.test_subnet.id

แต่ทุกครั้งที่ฉันได้รับข้อผิดพลาด: "ไม่ได้ประกาศทรัพยากรที่มีการจัดการ "aws_subnet" "test_subnet" ในโมดูลรูท"

ในตำแหน่งรูทฉันได้กำหนดตัวแปรเอาต์พุต:

  เอาต์พุต "เอาต์พุต" {
   ค่า = {
    vpc_id = module.vpc.vpc_data.vpc_id
    test_subnet_id = module.vpc.vpc_data.test_subnet.*.id
  }
}

และฉันได้ลองใช้ตัวแปร var.test_subnet_id แล้ว แต่ฉันได้รับข้อผิดพลาดที่คล้ายกัน:

ยังไม่ได้ประกาศตัวแปรอินพุตที่มีชื่อ "test_subnet_id" ตัวแปรนี้สามารถประกาศได้ด้วยบล็อกตัวแปร "test_subnet_id" {}

ไม่มีใครรู้ว่าฉันทำอะไรผิด?

Score:0
ธง id

วิธีที่คุณสร้าง VPC และซับเน็ต

หากคุณสร้างด้วยตนเอง คุณจะได้รับ ID ทั้งหมดโดยใช้สิ่งต่อไปนี้:

ข้อมูล "aws_subnet_ids" "subnet-ids" {
  vpc_id = {VPC-ID}
}

หากคุณสร้างโดย TF เช่น:

ทรัพยากร "aws_subnet" "subnet1" {
  vpc_id = aws_vpc.main.id
  cidr_block = "10.0.1.0/24"
}

ทรัพยากร "aws_subnet" "subnet2" {
  vpc_id = aws_vpc.main.id
  cidr_block = "10.0.2.0/24"
}

รหัสซับเน็ต:

aws_subnet.subnet2.id
aws_subnet.subnet2.id

ในการสร้าง aws_db_subnet_group คุณสามารถใช้:

ทรัพยากร "aws_db_subnet_group" "ค่าเริ่มต้น" {
  ชื่อ = "หลัก"
  subnet_ids = data.aws_subnet_ids.subnet-ids
}

หรือ

ทรัพยากร "aws_db_subnet_group" "ค่าเริ่มต้น" {
  ชื่อ = "หลัก"
  subnet_ids = [ aws_subnet.subnet2.id, aws_subnet.subnet2.id]
}

โพสต์คำตอบ

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