728x90
안녕하세요, 오늘은 테라폼에 대해서 정리한 내용을 가지고 포스팅합니다.
‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, Cloudnet의 테라폼 스터디 내용을 기반으로 하고 있습니다.
오늘 내용은 실습 내용으로, data 블록을 활용하여 가용 영역 목록을 가져오고, 서브넷을 추가로 생성하는 내용을 실습해 보겠습니다.
간단한 코드로 구성하여 다음과 같이 진행하였으며, 코드 구조는 다음과 같습니다.
provider "aws" {
region = "ap-northeast-2"
}
variable "vpc_id" {
description = "The ID of the existing VPC"
type = string
default = "vpc-xxxxxxxxxxxxxxxxx"
}
data "aws_availability_zones" "available" {}
resource "aws_subnet" "additional" {
vpc_id = var.vpc_id
cidr_block = "xxx.xx.xx.x/xx"
availability_zone = data.aws_availability_zones.available.names[0]
tags = {
Name = "new-subnet"
}
}
먼저 제가 사용한 내용은 다음과 같습니다.
1. variable을 통해서 vpc_id를 선언하고,
2. data 블록을 통해서 가용 영역을 가져옵니다. (문서)
3. resource 블록을 통해서 서브넷에서 사용할 cidr 블록을 정의합니다.
availability_zone = data.aws_availability_zones.available.names[0]
상기 코드와 동일하게 사용할 수 있는 것은 element 함수입니다.
element(data.aws_availability_zones.available.names, 0)
두 코드 모두 가용 영역의 첫번째 요소를 가져오는 내용입니다.
element 구문을 통해서는 첫 번째 인자로 리스트를 받고, 두 번째 인자로 리스트에서 선택할 요소의 인덱스를 설정할 수 있습니다.
이를 통해서 aws_subnet을 ap-northeast-2a에 추가하고, 해당 서브넷에 태깅합니다.
이를 terraform plan을 통해 리소스가 정상적으로 호출되고,
terraform apply를 진행하여 신규 서브넷이 추가될 수 있음을 확인할 수 있습니다.
728x90
반응형
'DevOps > Terraform' 카테고리의 다른 글
[Terraform] 입력 변수 사용하기 (0) | 2024.06.23 |
---|---|
[Terraform] 테라폼을 이용한 vpc 배포 (0) | 2024.06.23 |
[Terraform] 테라폼 lifecycle의 precondition (0) | 2024.06.16 |
[Terraform] 테라폼을 활용한 EC2 웹 서버 배포 (0) | 2024.06.16 |
[Terraform] 테라폼으로 ec2 배포하기 (0) | 2024.06.16 |