인강 정리/DevOps & MSA
terraform
미로처럼
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