갓생사는 김초원의 개발 블로그
chocho_log
갓생사는 김초원의 개발 블로그
전체 방문자
오늘
어제
  • 분류 전체보기 (77)
    • 개발 (22)
      • Spring (4)
      • Java (3)
      • Database (2)
      • Elasticsearch (3)
      • ETC (3)
      • JPA (3)
      • 이슈 (1)
    • 코딩 테스트 (43)
      • 프로그래머스 (23)
      • 백준 (12)
      • TIP (8)
    • 자료구조 (2)
    • 알고리즘 (4)
    • 잡생각 (0)
    • 경험 (5)
      • AWS re:Invent 2024 (5)

블로그 메뉴

    공지사항

    인기 글

    태그

    • Lazy Loading
    • jpa
    • 디자인패턴 #SOLID 원칙
    • 지연로딩
    • Spring Boot Embedded Tomcat
    • war
    • jar
    • querydsl

    최근 댓글

    최근 글

    갓생사는 김초원의 개발 블로그

    chocho_log

    개발

    Terraform의 init/plan/apply

    2023. 12. 12. 08:15

    Terraform 이란?

    • 하시코프에서 오픈소스로 개발 중인 인프라스트럭처 도구
    • IaC 도구라고도 하는데, 여기서 IaC란 Infrastructure as Code의 약자로 코드를 통해 인프라를 구축/운영할 수 있도록 만들어주는 도구라고 합니다. 

    https://btcd.tistory.com/20

     

    테라폼(Terraform)이란? - 개념, 장점, 관리툴

    ※ 목차 ▶ IAC 가상화 기술의 발전 Iac 란 Iac 종류 ▶ Terraform Terraform 개념 Terraform 장점 Terraform 구성 사용관리 툴 들어가기전에.. IT산업에 종사하면서 도구의 사용법을 익히는 것도 중요하지만, 그

    btcd.tistory.com

     

     

    Terraform init/plan/apply

    회사에서 테라폼을 사용하고 있는데, 실제 운영 환경에 요청하기 전 init, plan, apply 명령어를 사용하여 개발 환경에 변경 사항을 적용해볼 수 있었습니다. 적용하고자하는 정책을 코드로 먼저 작성한 뒤 terraform init -> plan -> apply 순으로 명령어를 실행하였고, AWS를 테라폼의 provider로 사용하였기 때문에 실제 잘 반영되었는지는 콘솔에서 확인해봤습니다.  

     

    1. terraform init

    • 테라폼 프로젝트를 초기화 합니다.
    • init을 하는 경로에 .terraform 파일이 생성되고 지정한 provider에 대한 파일을 내려받습니다. 

    2. terraform plan

    • 인프라에 적용하려는 변경 사항을 미리 볼수 있수 있는 실행 계획을 생성합니다.
    • 적용하고자 하는 정책을 코드로 올바르게 작성했는지 미리 검토해볼 수 있습니다. 

    3. terraform apply

    • terraform plan에서 본 실행 계획을 실제 적용합니다. 
    • terraform apply -target <resource>
      • terraform apply 를 하면 해당 테라폼 프로젝트의 내용이 전부 적용됩니다. 이렇게 되면 콘솔에서 직접 정책을 적용한 누군가의 설정이 테라폼에 의해 엎어쳐질 수가 있습니다. 그래서 저는 제가 작업한 코드만 반영될 수 있도록 -target 옵션을 함께 사용합니다. 
      • 먼저 terraform state list 로 리소스들의 address 목록을 확인하고, 반영하고자 하는 리소스에 대해  terraform apply -target <resource address>를 실행합니다. 

     

    '개발' 카테고리의 다른 글

    JsonParseException: Unrecognized token : was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false') - String과 JsonString을 구분합시다.  (0) 2023.04.23
    GraphQL 라이브러리 비교(kickstart/netflix-dgs/graphql-kotlin)  (0) 2022.08.11
      '개발' 카테고리의 다른 글
      • JsonParseException: Unrecognized token : was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false') - String과 JsonString을 구분합시다.
      • GraphQL 라이브러리 비교(kickstart/netflix-dgs/graphql-kotlin)
      갓생사는 김초원의 개발 블로그
      갓생사는 김초원의 개발 블로그
      갓생사는 김초원의 개발 블로그 github: https://github.com/kimchowon

      티스토리툴바