728x90
- data를 통해 az 조회 및 조회 데이터로 리소스 생성
- available 상태의 zones 조회
data "aws_availability_zones" "az_list" {
state = "available"
}
output "aws_availability_zones" {
value = data.aws_availability_zones.az_list
}
- ap-northeast-2a, ap-northeast-2c 두개 존에 ec2 배포
기본 서브넷 문제로 서브넷은 변수로 할당
provider "aws" {
region = "ap-northeast-2"
}
data "aws_availability_zones" "az_list" {
state = "available"
}
data "aws_ami" "ec2-ami" {
most_recent = true
filter {
name = "owner-alias"
values = ["amazon"]
}
filter {
name = "name"
values = [ "amzn2-ami-hvm-*-x86_64-ebs" ]
}
}
variable "subnets" {
default = ["subnet-0210e58904c6b4a91", "subnet-0ef1cd4143eb1d321"]
}
resource "aws_instance" "test-web-srv-1" {
count = 2
ami = data.aws_ami.ec2-ami.id
instance_type = "t2.micro"
subnet_id = count.index == 0 ? var.subnets[0] : var.subnets[1]
availability_zone = element(data.aws_availability_zones.az_list.names, count.index * 2)
tags = {
Name = "test-web-${count.index}"
}
}
728x90
'Cloud > Terraform' 카테고리의 다른 글
[T101] Terraform 101 Study 4주차 (0) | 2024.07.05 |
---|---|
[T101] Terraform 101 Study 실습(5) - for (1) | 2024.07.03 |
[T101] Terraform 101 Study 실습(3) - AWS 자원 생성 (0) | 2024.07.01 |
[T101] Terraform 101 Study 실습(2) - precondition (0) | 2024.07.01 |
[T101] Terraform 101 Study 실습(1) - ec2 배포 (0) | 2024.07.01 |