Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

우당탕탕 개발일지

테라폼 개발 환경 준비 본문

Cloud

테라폼 개발 환경 준비

YUDENG 2023. 11. 26. 04:10

테라폼(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
    • 실제로 작성한 코드로 인프라를 구성하는 명령

 

 

728x90