- 4-1. terraform 상태관리 - 이론2024년 07월 06일
- yeongki0944
- 작성자
- 2024.07.06.:43
1. terraform.tfstate 파일
{ "version": 4, "terraform_version": "1.8.5", "serial": 5, "lineage": "c13e6102-903a-b2f1-6481-1e6ce048ad39", "outputs": {}, "resources": [], "check_results": null }
항목 설명 version - 상태 파일(.tfstate) 형식의 버전 terraform_version - terraform의 버전 serial - 상태 파일(.tfstate)이 업데이트된 횟수 lineage - 동일한 설정에서 생성된 상태 파일을 식별하는 고유 ID -> ???? outputs - terraform 실행 후 출력된 값(output) resources - terraform이 관리하는 인프라 리소스 목록 check_results 2. version vs serial
2-1. version
- 상태파일( .tfstate )의 형식의 버전
- 변경시점 : terraform의 버전이 변경되어, ( .tfstate ) 파일의 형식이 변경될 때
2-2. serial
- 상태파일( .tfstate )가 수정된 횟수
- 변경시점 : 사용자가 인프라 변경을 적용(terrafor apply)할 때
3. tfstate 파일 - resources
"resources": [ { "module": "module.vpc[\"client-webapp\"]", "mode": "managed", "type": "aws_vpc", "name": "this", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "index_key": 0, "schema_version": 1, "attributes": { "arn": "arn:aws:ec2:us-east-2:560412178918:vpc/vpc-0b25065b799f65829", "assign_generated_ipv6_cidr_block": false, "cidr_block": "10.0.0.0/16", "default_network_acl_id": "acl-0b60e518f5e8c01d8", "default_route_table_id": "rtb-0e40af5b62e2c5b6e", "default_security_group_id": "sg-00943d661ee7ff1f0", "dhcp_options_id": "dopt-03218b7b822bc7ba2", "enable_classiclink": false, "enable_classiclink_dns_support": false, "enable_dns_hostnames": false, "enable_dns_support": true, "id": "vpc-0b25065b799f65829", "instance_tenancy": "default", "ipv4_ipam_pool_id": null, "ipv4_netmask_length": null, "ipv6_association_id": "", "ipv6_cidr_block": "", "ipv6_cidr_block_network_border_group": "", "ipv6_ipam_pool_id": "", "ipv6_netmask_length": 0, "main_route_table_id": "rtb-0e40af5b62e2c5b6e", "owner_id": "560412178918", "tags": { "Name": "" }, "tags_all": { "Name": "" } }, "sensitive_attributes": [], "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", "create_before_destroy": true } ] } ]
항목 설명 module - Terraform 모듈의 이름 mode - 리소스의 모드
- data : 기존 인프라 정보 조회에 사용
- managed : 인프라를 배포하고 관리할 때 사용type - 리소스의 유형
- aws_instance
- aws_vpc
- aws_s3_bucket 등..name - 리소스의 이름 provider - 리소스를 생성하는 데 사용된 프로바이더
- provider["registry.terraform.io/hashicorp/aws"]) : AWS 프로바이더instances - 리소스의 인스턴스 정보
- 각 인스턴스의 스키마 버전, 속성, 민감한 속성 등다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)