DevOps/Terraform
[Terraform] Terraform 상태 확인
TTOII
2022. 4. 21. 21:55
728x90
✔️ Terraform 상태 확인
terraform.tfstate
: 현재 상태terrafrom.tfstate.backup
: 직전 상태
두 파일 모두 절대로 직접 수정해서는 안되며 절대 git에 공유해서는 안되는 파일이다.
[vagrant@controller 01]$ ls
main.tf terraform.tfstate terraform.tfstate.backup
✔️ 상태 확인 명령어
terraform show
terraform state list
terraform state show aws_instance.app_server
✔️ 상태 재동기화
terraform refresh
terraform show 명령을 통해 현재 인스턴스에 붙은 EBS 볼륨의 크기가 8인것을 확인했다.
root_block_device {
delete_on_termination = true
device_name = "/dev/xvda"
encrypted = false
iops = 100
tags = {}
throughput = 0
volume_id = "vol-0bd8b3bd4661215fc"
volume_size = 8
volume_type = "gp2"
}
직접 aws 콘솔에 접속해 볼륨의 크기를 10으로 수정한다.
다시 terraform show를 해보면 여전히 8G로 나타나는 것을 확인할 수 있다.
이때 terraform refresh 명령을 실행하면 재동기화가 이뤄지고 확인하면 10G로 변경되었음을 알 수 있다.
[vagrant@controller 01]$ terraform refresh
aws_instance.app_server: Refreshing state... [id=i-0aeedfbc25eb856db]
[vagrant@controller 01]$ terraform show
# aws_instance.app_server:
resource "aws_instance" "app_server" {
생 략
root_block_device {
delete_on_termination = true
device_name = "/dev/xvda"
encrypted = false
iops = 100
tags = {}
throughput = 0
volume_id = "vol-0bd8b3bd4661215fc"
volume_size = 10
volume_type = "gp2"
}
}
✔️ 상태 상세 확인
terraform state [SUB-COMMAND]
[vagrant@controller 01]$ terraform state list
aws_instance.app_server # 리소스의 type.name 으로 출력된다.
[vagrant@controller 01]$ terraform state show aws_instance.app_server
전체 리소스나 특정 리소스만을 확인할 수 있다.
728x90