Search

[Terraform] Output (EC2 생성 후 IP 출력)

PublishDate
2021/04/14
Category
IaC
Terraform
Tag & Keyword
output
결과 출력
준비물 - AWS 계정 및 EC2 Fullaccess 권한을 가진 IAM User의 키 - Terraform이 설치된 호스트 - Powershell이나 VSCode와 같은 Terraform 실행 환경

Terraform Output이란?

Terraform은 입력 변수 이외에 출력 변수도 설정해서 원하는 값을 출력할 수 있다.
variable로 입력 변수를 컨트롤하고, output으로 출력 변수를 컨트롤 한다고 생각하면 이해에 도움이 될 것 같다.

왜 써야할까 ?

Output을 활용하지 않는다면 사용자는 AWS EC2, ALB와 같은 리소스를 Terraform으로 생성한 후에 IP, Endpoint 등을 확인하기 위해서 다시 AWS Console에 접속해야 할 것이다.
반면 Output을 사용한다면 terraform apply 적용 후에 내가 지정한 값들이 출력되고, tfstate 파일에도 output 값이 저장되기 때문에 원하는 정보를 VSC 같은 개발환경에서 바로 확인할 수 있다.
반대로 내가 필요한 값이 어떤것인지에 대한 충분한 이해가 필요하기 때문에 콘솔보다 비교적 높은 Provider의 숙련도를 요구한다.

Terraform Ouput 사용해보기

Terraform Output의 형식은 기본적으로 다음과 같다.
ouput "NAME" { value = VALUE }
Python
복사
적용해보기
결과화면

마무리

프리티어 리소스지만 혹시모를 과금을 막기 위해 terraform destroy 명령으로 리소스 삭제하기
Output을 적절하게 활용한다면 GUI Console 접속 없이도 여러 프로바이더의 리소스들을 효율적으로 관리할 수 있을것이다.