미로처럼 2024. 7. 22. 11:46
728x90

terraform 이란 ? 

  • HCL 언어 사용
    • HshiCorp사 에서 GO 언어 기반으로 개발한 HCL 언어로 코드 작성
  • 인프라 프로비저닝
    • IaC 도구 중 인프라 프로비저닝 용도로 사용
  • Reuse 및 테스트 활용 
    • 재사용 가능한 dlsvmfk zhem 
    • 반복적인 인프라 구성 테스트 진행
  • Immutable Infrastructure
    • 환경 원활하게 변경되는 인프라 구성 가능
  • 클라이언트 아키텍처 
    • 별도의 서버구성이 필요 없는 클라이너트 기반 아키텍처만 지원
  • 다양한 Provider 지원
    •  AWS, GCP, Azure등 다양한 Provider 지원

Terraform Lice Cycle 

 


Terraform Flow

 

1. Terraform 구성 소스 - 현재 관리자가 작성/수정하고 있는 코드

2. Terraform state - 가장 최근에 배포한 테라폼 코드 형상

3. 실제 인프라 - 실제로 Cloud 환경에 배포되어 있는 인프라

 


terraform 디렉토리 레이아웃( 참고용  운영 규모에 맞게 수정하여 사용 필요)

  • main.tf - 프로비저닝할 리소스 정의 
  • variables.tf - 소스코드에 사용할 변수들을 정의
  • outputs.tf - 소스코드에 대한 실행 결과를 정의 및 출력
  • modules - 리소스를 모듈화한 단위
  • backend.tf - 형상 관리를 하기 위한 설정을 정의
  • provider.tf - 리소스 제공자와 버전등을 정의

테라폼 ec2 만들기 

간단하게 테스트 진행 

 

1. vscode 설치 

2. 테라폼 설치 설치 참조 아래 블로그 참조

https://curiousjinan.tistory.com/entry/terraform-installation-guide-mac

 

테라폼(Terraform) 사용 가이드 2:MacOS에 테라폼 설치하기

이번 포스트에서는 MacOs에 테라폼을 설치해 보자 1. 테라폼 설치: URL 직접 다운로드 직접 다운로드하기 첫 번째 방법은 URL로 직접 다운로드하는 건데, 최신 버전이나 이전 버전 모두 다운로드할

curiousjinan.tistory.com

 

3. backend.tf 파일 작성

 

4. main.tf 인스턴스 생성 할 정보 기입

 

 

5.provier.tf 에 AWS key 와 profile 등 정보를 기입한다.

 

아래는 init -> destory 까지 과정이다.

 

적용 이후 생성된 ec2

 

이후 destroy 명령어 입력하면 삭제된다.

728x90