우당탕탕 개발일지
테라폼 개발 환경 준비 본문
테라폼(Terraform)이란?
클라우드 및 온프레미스 리소스를 안전하고 효율적으로 빌드, 변경 및 버전화할 수 있는 코드형 인프라 도구
API를 호출해 명령을 실행하는 절차적인 방법과 달리 HCL 언어로 선언적으로 클라우드 리소스를 정의하기 때문에 여러번 테라폼을 실행하더라도 여러 개의 리소스가 만들어지지는 않는다.
1. 패키지 설치
# sudo yum install -y yum-utils
2. YUM Repository 추가
# sudo yum-config-manager \
--add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo
# cat /etc/yum.repos.d/hashicorp.repo // 확인
3. 테라폼 패키지 설치
# sudo yum -y install terraform
4. AWS CLI 설치
[참고] https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
1) AWS CLI 다운로드
# mkdir -p ~/tools && cd ~/tools
# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" \
-o "awscliv2.zip"
2) 다운로드 받은 파일 압축 해제
# unzip awscliv2.zip
3) AWS CLI 설치
# sudo ./aws/install
# aws --version // 확인
* AWS CLI란?
AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구Powershell이나 터미널에서도 AWS에서 제공하는 명령어 기능을 실행할 수 있다.
5. 테라폼 AWS 계정 설정
1) aws configure 명령 수행
# cd
# aws configure
AWS Access Key ID [None]: AKIA53LRERVSKKSDRQEE
AWS Secret Access Key [None]: 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
Default region name [None]: us-east-2
Default output format [None]: json
2) 정보 확인
# tree ~/.aws
# cat ~/.aws/config
# cat ~/.aws/credentials
https://developer.hashicorp.com/terraform/language
https://registry.terraform.io/providers/hashicorp/aws/latest/docs
테라폼 구성 요소
- provider
- 테라폼으로 생성할 인프라 종류
- resource
- 테라폼으로 실제로 생성할 인프라 자원
- state
- 테라폼을 통해 생성한 자원의 상태
- output
- 테라폼으로 만든 자원을 변수 형태로 state에 저장
- module
- 공통적으로 활용할 수 있는 코드를 모듈 형태로 정의
- remote
- 다른 경로의 state를 참조
- output 변수를 불러올 때 주로 사용
테라폼 명령 실행 단계
- init
- 테라폼의 다른 명령들을 위한 설정을진행. (provider, state, module 등 설정)
- output
- 작성한 테라폼 코드가 어떻게 만들어질지에 대한 결과를 보여주는 명령어
- module
- 실제로 작성한 코드로 인프라를 구성하는 명령
'Cloud' 카테고리의 다른 글
모니터링 구축 (2) | 2024.01.05 |
---|---|
Linux Git (0) | 2023.12.12 |
테라폼 3-Tier 아키텍처 구축(2) - VPC, EC2 (1) | 2023.11.26 |
테라폼 3-Tier 아키텍처 구축(1) - 보안그룹 (0) | 2023.11.26 |
CI/CD 파이프라인 - GCP를 통한 Jenkins CI 구축 (0) | 2023.10.30 |