Post

[Terraform] terraform 기본 명령어 및 프로바이더 선언 (with.init,plan,apply,destroy)

[Terraform] terraform 기본 명령어 및 프로바이더 선언 (with.init,plan,apply,destroy)

1. Terraform 기본 명령

terraform <명령어>기능
terraform init테라폼 초기화
- 백엔드 설정
  - 프로바이더 플러그인 설치
  - 모듈 다운로드
  - 환경 초기화
terraform plandry-run(테스트)
  - 현재 상태 파일 확인
  - 설정 파일(.tf) 읽고 파싱
  - 현재 상태와 설정 파일의 상태 비교
  - 변경 사항 요약 출력
terraform apply (auto-aprove)실제 적용
  - 현재 상태 파일 확인
  - 설정 파일(.tf) 읽고 파싱
  - 현재 상태와 설정 파일의 상태 비교
  - 인프라 변경 사항을 클라우드 제공 업체에 반영
  - (auto-aprove 옵션은 진행 자동 승인)
terraform destroy (auto-aprove)
삭제
  - 현재 상태 파일 확인
  - 설정 파일(.tf) 읽고 파싱
  - 현재 상태와 설정 파일의 상태를 비교
  - 인프라의 모든 리소스를 클라우드 제공업체에서 삭제
  - (auto-aprove 옵션은 진행 자동 승인)

2. AWS API와 상호 작용하기 위한 프로바이더 선언(terraform init)

main.tf

1
2
3
provider "aws" {
	region  = "us-west-2"
}

image

1
terraform init

3. IAM User 생성(terraform plan, terraform apply)

resources.tf

  1. 작성한 코드 dry-run(테스트)
    1
    2
    3
    4
    
    // IAM User 생성
    resource "aws_iam_user" "name" {
     name = "haksu.god"
    }
    

    image

    1
    
     terraform plan
    
  2. 실제 적용 image
    1
    
    terraform apply --auto-approve
    
  3. 실제 적용된 것 확인 image

4. IAM User 삭제(terraform destroy)

  1. terraform destroy image

    1
    2
    
     terraform destroy
     \--auto-approve 명령을 빼고 진행하면 진행할건지 묻는 과정을 거쳐야 함
    

    CI/CD나 스크립트를 작성해서 자동화를 진행할 때에는 --auto-approve 명령이 유용하다!!

  2. 삭제된 것 확인 image

This post is licensed under CC BY 4.0 by the author.