| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Til
- amazon ecs
- 티스토리챌린지
- 오블완
- PostgreSQL
- 커머스
- Go-lang
- github
- terraform
- Rust
- AWS
- 14일 공부
- AWS 비용 절감
- 청첩장 모임
- 지표
- 구조 패턴
- Playwright
- 신혼 여행
- 토스
- 논문 정리
- 생성 패턴
- study
- DevOps
- MAPF
- 디자인 패턴
- leetcode
- 실용주의 프로그래머
- docker
- ssh
- 경로 계획 알고리즘
- Today
- Total
밤 늦게까지 여는 카페
terraform 사용하기 - GCP terraform으로 Compute Engine 배포하기 본문
안녕하세요. 오늘은 terraform을 직접 사용해보려고 합니다!
GCP에서 Compute Engine을 생성하는 진짜 진짜 단순한 사례이니 직접 따라하기도 쉬울거에요!
같이 가볼까요?
- terraform 스크립트가 저장된 github 링크 공유드립니다:) https://github.com/goodahn/gcp-computing-engine-tf
1. 준비 과정
이번 포스팅에서는 terraform cloud를 사용할 것입니다.
terraform cloud를 사용하기 위해서 필요한 소프트웨어 및 준비 과정을 진행해보겠습니다.
1.1 terraform 설치하기
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /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
1.2. github 저장소 생성하기

github 저장소 생성하는 법을 모르시겠다면 git 200% 활용하기 - github 를 참고해주세요 :)
1.3 terraform cloud & github 연동하기

terraform cloud와 github 연동하는 방법은 terraform cloud - 개인 PC에서 terraform 관리는 그만!!! 링크를 참고하시면 알 수 있습니다!
1.4 GCP 계정 준비하기
GCP와 연동하기 위해서는 당연히 계정이 필요하겠죠?
그리고 terraform으로 관리할 프로젝트를 생성하고, 해당 프로젝트에서 Compute Engine 기능을 활성화시켜야 합니다.
마지막으로 서비스 계정을 생성하고 키를 생성해줘야 합니다!
- 서비스 계정을 생성할 때에는 권한을 잘 설정해줘야 해요!


2. terraform.tf 만들기

위에 첨부한 그림과 같이 terraform.tf 파일을 만들고 terraform init 명령어를 실행해봅시다!

그러면 terraform login 명령어를 입력하라고 에러 메시지가 출력될 거에요.
시키는대로 terraform login 명령어를 입력하면 다음과 같은 메시지가 출력되고,
다시 yes를 입력하면 terraform 로그인 과정이 진행됩니다.

로그인을 끝내고 다시 terraform init 명령어를 입력해볼까요?

드디어 terraform 환경이 준비가 되었습니다!
이제 Compute Engine을 추가해볼까요?
3. terraform GCP provider 사용하기
이제 GCP provider 설정 관리하는 terraform 파일을 작성해줍니다.

아래를 보시면 gcp-credential이라는 variable이 있는데요.
terraform cloud에서 gcp-credential이라는 Variable을 생성해줘야 합니다.
이 때 Sensitive 변수로 생성해주는 것 잊지마세요!

4. GCP Computie Engine 추가하기
이제 거의 다 왔습니다!
Compute Engine을 관리하는 terraform 스크립트만 남았습니다!

저는 프리 티어를 활용하기 위해서 e2-micro를 사용했습니다.
- GCP 프리 티어를 찾을 때 참고하면 좋은 링크 https://goodahn.tistory.com/79
5. github에 푸시 & terraform cloud에서 배포 진행하기
이제 추가한 스크립트를 github에 푸시하면 terraform cloud에서 배포를 진행할 수 있습니다!


이런 식으로 배포에 커맨트를 남길 수도 있습니다 ㅋㅋㅋ

6. 끝!
짜잔! 이렇게 terraform을 이용해서 compute engine을 배포해봤습니다.

생각보다 사용하기 편리하고, terraform cloud를 사용하니 배포 과정이 체계적으로 관리되는 것 같지 않으신가요?
다음에는 terraform 장단점을 비교해보는 시간을 가져보려구 합니다 ㅎㅎ
'DevOps' 카테고리의 다른 글
| 시맨틱 버저닝 pre-release & build metadata - "-", "+"에 의미가 있는 줄은 몰랐네요 ㄷㄷ (0) | 2023.08.13 |
|---|---|
| terraform 리뷰 - terraform 진짜 쓸만한가...? (0) | 2022.11.20 |
| terraform cloud - 개인 PC에서 terraform 관리는 그만!!! (0) | 2022.10.29 |
| terraform이 뭘까? - IaC! 인프라도 형상 관리해야죠! (0) | 2022.10.18 |
| github action을 활용한 CD - CD 여기 있어요 (0) | 2022.10.13 |