반응형
안녕하세요.
리소스 참조
리소스가 다른 리소스와 연관이 있다면, 리소스를 참조할 수 있습니다.
Ex) AWS EC2 인스턴스에서 Security Group이 필요할 때
SG를 먼저 생성하고 EC2 인스턴스에 {BLOCK LABEL}.{resource name}.{attribute}로 SG 리소스에 접근을 할 수 있습니다.
예제
EC2 인스턴스를 생성하고 외부에서 접속할 수 있도록 http 애플리케이션을 실행합니다.
외부에서는 EC2 인스턴스의 http://public_ip:8080로 애플리케이션에 접근합니다.
외부에서 8080포트를 이용하여 EC2 인스턴스에 접속해야하기 때문에 SG를 생성하고 8080포트 InBound 규칙을 추가해야합니다.
그리고 EC2 인스턴스가 생성된 SG를 사용하면 됩니다.
provider "aws" {
region = "ap-northeast-2"
}
resource "aws_instance" "example" {
# Ubuntu Image
ami = "ami-0c76973fbe0ee100c"
instance_type = "t2.micro"
vpc_security_group_ids = [ aws_security_group.instance.id ]
user_data = <<-EOF
#!/bin/bash
echo "Hello, Terraform Study" > index.html
nohup busybox httpd -f -p 8080 &
EOF
tags = {
Name = "tag-test"
}
}
resource "aws_security_group" "instance" {
name = "terraform-sg-instance"
ingress {
from_port = 8080
to_port = 8080
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
}
'terraform apply'하면 리소스 2개가 추가됩니다.
인스턴스와 SG가 생성되었고, 인스턴스가 SG에 적용된 것을 볼 수 있습니다.
마무리
사용하는 리소스를 참조하는 내용에 대해서 알아봤습니다.
다음 내용으로 오겠습니다. 감사합니다.
To Be Continued

반응형
'IaC' 카테고리의 다른 글
Terraform - (3) (0) | 2023.08.31 |
---|---|
Terraform - (2) (0) | 2023.08.31 |
Terraform - (1) (0) | 2023.08.31 |