왜 Linux에서 돌리게 되었는가?
AWS 요소 관리를 위해서 테라폼을 사용하려는데, 싸지방 컴에 직접 깔자니 껏다키면 리셋되는 문제가 있었다.
그래서 외부 서버를 사서 접속해서 code를 run 할까하다가 가격적인 문제도 있고 하니.
.tfstate 파일은 S3로 클라우드 위에서 관리하고, 실질적인 code run은 쓸 때만 github codespaces에 접속해서 돌리는 방식으로 해보려고 한다.
현재 OS 확인
github codespace는 리눅스 서버 위에서 돌아가고 있는 것을 확인할 수 있었다. MS azure 위에서 돌고 있는 듯하다.
Linux에 terraform 설치 방법
* OS별 다운로드 방법은 아래의 공식 사이트 링크에서 잘 알려주고 있다.
Install | Terraform | HashiCorp Developer
ubuntu의 경우 아래와 같은 방법으로 설치할 수 있다.
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
terraform -v 명령어로 잘 설치되었는지 확인할 수 있다.
기본 provider 설정
이후 아래와 같이 환경변수로 AWS KEY를 주입해주고 AWS 프로바이더를 설정해준 뒤
export AWS_ACCESS_KEY_ID="<ACCESS KEY>"
export AWS_SECRET_ACCESS_KEY="<SECRET KEY>"
export AWS_REGION="ap-northeast-2"
terraform init을 해주면 테라폼을 사용할 수 있다.
2편에서는 S3와 DynamoDB를 이용해 Terraform 상태 저장 파일인 tfstate 파일을 클라우드 위에서 관리하는 방법에 대해 정리해보겠습니다.