Ops-Beginner
article thumbnail
Published 2023. 9. 1. 20:41
Terraform - (4) IaC
반응형

안녕하세요.

리소스 참조

리소스가 다른 리소스와 연관이 있다면, 리소스를 참조할 수 있습니다.

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
profile

Ops-Beginner

@asher_r

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!