【Terraform】for_each를 사용하여 볼륨 생성 및 첨부 처리
갑작스러운 결론
# main.tf
data "aws_ami" "latest_amzn_linux" {
owners = ["137112412989"]
most_recent = true
filter {
name = "name"
values = ["amzn2-ami-hvm-*-x86_64-gp2"]
}
}
data "aws_availability_zones" "AZs" {}
resource "aws_instance" "web" {
ami = data.aws_ami.latest_amzn_linux.id
instance_type = "t2.micro"
root_block_device {
encrypted = true
volume_size = 10
}
}
# 以下から本題
resource "aws_ebs_volume" "web" {
for_each = var.volume_info
availability_zone = aws_instance.web.availability_zone
size = each.value["volume_size"]
}
resource "aws_volume_attachment" "web" {
for_each = var.volume_info
instance_id = aws_instance.web.id
volume_id = aws_ebs_volume.web[each.key].id
device_name = each.value["device_name"]
}
# variables.tf
variable "volume_info" {
type = map(any)
default = {
f = {
volume_size = 10
device_name = "/dev/sdf"
}
g = {
volume_size = 30
device_name = "/dev/sdg"
}
h = {
volume_size = 40
device_name = "/dev/sdh"
}
i = {
volume_size = 50
device_name = "/dev/sdi"
}
j = {
volume_size = 60
device_name = "/dev/sdj"
}
}
}
실행 결과.끝맺다
※variables.tf의 type은 맵(ny)이 아직 모르는 부분이기 때문에 알면 업데이트합니다.
만약 이 보도가 다른 사람의 참고가 된다면 정말 좋겠다😊
Reference
이 문제에 관하여(【Terraform】for_each를 사용하여 볼륨 생성 및 첨부 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/stakakey/articles/e07cc020651e86텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)