
안녕하세요. 리소스 참조 리소스가 다른 리소스와 연관이 있다면, 리소스를 참조할 수 있습니다. 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를 사용하면 됩니다. pr..

안녕하세요. 오늘도 테라폼에 대해서 공부해보겠습니다. 변경 가능(Mutable) / 불가능(Immutable)이란? 변경가능한 속성 값을 수정하면 인프라에 수정된 내용이 적용됩니다. EC2 Instance에 태그를 추가해서 적용해보겠습니다. provider "aws" { region = "ap-northeast-2" } resource "aws_instance" "example" { # Ubuntu Image ami = "ami-0c9c942bd7bf113a2" instance_type = "t2.micro" tags = { Name = "tag-test" } } 변경 가능(Mutable) 'terraform plan'으로 확인해보면, 'update in-place'가 될 거라고 알려줍니다. 'terra..

안녕하세요. 상태파일이란?(tfstate) 코드로 인프라에 반영하면 반영된 상태를 파일로 로컬에 생성합니다. 내용에는 반영된 인프라 내용이 들어가있습니다. 상태파일 목록 확인 파일 목록은 'terraform state list' 명령어로 확인할 수 있습니다. 출력된 리스트는 tf파일의 BLOCK LABEL입니다. 상세 내용 확인 JSON 형태의 'terraform.tfstate' 파일로도 확인이 가능하지만 좀 더 보기 편한 내용으로 볼 수 있습니다. 'terraform state show ' 명령어를 실행하면 됩니다. 지정한 ami, instance_type 등 다양한 값들을 볼 수 있습니다. 마무리 테라폼의 상태파일에 대해서 알아봤는데요. 인프라 크기가 커질 수록 상태파일 관리가 중요할거같다고 생각이 ..

안녕하세요. 블로그 포스팅 내용 기반으로 테라폼 실습을 하면 좋을거같아서 작성해봤습니다. AWS EC2 Instance 작성 AWS를 사용하기에 aws provider를 설정했습니다. 'aws_instance' BLOCK LABEL을 사용하여 EC2 instance를 생성합니다. # main.tf provider "aws" { region = "ap-northeast-2" } resource "aws_instance" "example" { # Ubuntu Image ami = "ami-0c9c942bd7bf113a2" instance_type = "t2.micro" } 테라폼 실행 준비 실행을 위해서는 플러그인 설치가 필요합니다. 방법은 'terraform init' 명령어로 쉽게 플러그인을 설치 할 수..