반응형
🧠 사전 지식
Terraform의 State에 대한 정리: https://jibinary.tistory.com/780
terraform.tfstate 상태 파일이란? 아주 쉽게 정리 (테라폼의 "Backend"란?)
terraform.tfstate 파일terraform.tfstate 파일은 Terraform으로 생성한 인프라를 정보를 기록해두는 상태 파일이다.어떤 리소스가 Terraform으로 만든어졌는지 기록해두기 때문에, 나중에 추가로 변경하거나
jibinary.tistory.com
terraform state 명령어
terraform state
명령어는 terraform.tfstate(상태 파일)의 내용을 보거나 수정해야할 때 사용하는 명령어다.
주로 Terraform으로 생성된 리소스를 확인 할 때 사용한다.
terraform state 하위 명령어
명령어 | 설명 |
terraform state list | Terraform이 관리 중인 모든 리소스 목록을 보여줌 |
terraform state show <리소스명> | 특정 리소스의 상태 정보 확인 (IP 주소 등 확인 가능) |
terraform state pull | 상태 파일의 JSON 내용을 표준 출력(stdout)으로 보여줌 |
terraform state rm <리소스 주소> | 특정 리소스를 Terraform 관리 대상에서 제거 (실제 삭제 아님) |
예시: terraform state list
$ terraform state list
aws_instance.web_server
aws_security_group.web_sg
예시: terraform state show <리소스 이름>
$ terraform state show aws_instance.web_server
# aws_instance.web_server:
resource "aws_instance" "web_server" {
ami = "ami-0abcd1234"
instance_type = "t2.micro"
public_ip = "54.123.45.67"
private_ip = "10.0.1.12"
...
}
🤔 문제
당신은 퍼블릭 IP 주소가 있는 새 웹 애플리케이션을 클라우드 제공자에 배포했습니다. 그러나 코드에 출력(outputs)을 생성하지 않았습니다.
이 경우 배포한 리소스의 IP 주소를 빠르게 확인할 수 있는 가장 좋은 방법은 무엇인가요?
- terraform output ip_address를 실행하여 결과를 확인한다.
- 새로운 폴더에서 terraform_remote_state 데이터 소스를 사용해 상태 파일을 불러온 후, 상태 파일에서 찾은 각 리소스에 대해 출력을 작성한다.
- terraform state list를 실행하여 리소스 이름을 찾은 후, terraform state show를 실행하여 퍼블릭 IP 주소를 포함한 속성을 확인한다.
- terraform destroy를 실행한 후 terraform apply를 실행하고, 출력(stdout)에서 IP 주소를 찾는다.
정답
더보기
정답. 3번
1번 (오답) terraform output ip_address은 output이 정의되지 않았기 때문에 아무것도 출력되지 않는다.
2번 (오답) 너무 복잡하고 비효율적
4본( 오답) 매우 비효율적이고, 리스크도 크다
반응형
'Terraform' 카테고리의 다른 글
[Terraform] refresh 명령어란? 쉽게 정리 (0) | 2025.06.17 |
---|---|
IaC(infrastructure as code) 핵심 원칙 쉽게 정리 (0) | 2025.06.16 |
[Terraform] Provisioner란? 아주 쉽게 정리 (remote-exec, local-exec, file) (0) | 2025.06.15 |
[Terraform] terraform taint 명령어란? 아주 쉽게 정리 (0) | 2025.06.14 |
[Terraform] Provider란? 쉽게 정리 (0) | 2025.06.14 |