[패스트캠퍼스 챌린지 9일차] '76가지 DevOps 모의 실무 예제: AWS 기반 인프라 구축부터 재해복구, 보안까지' 강의 후기 본문
[패스트캠퍼스 챌린지 9일차] '76가지 DevOps 모의 실무 예제: AWS 기반 인프라 구축부터 재해복구, 보안까지' 강의 후기
ITst 2025. 4. 9. 18:08본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
※ 챌린지 URL: https://abit.ly/lisbva

오늘 학습한 Terraform 강의에서는 Terraform Cloud의 기본 개념과 실습을 통해, 기존 로컬 기반 Terraform 관리 방식에서 한 단계 발전된 클라우드 기반 인프라 관리 체계를 경험해보았다. Terraform Cloud는 HashiCorp에서 제공하는 서비스로, 별도의 실행 환경이나 저장소 없이도 Terraform 상태(state)와 실행을 안정적으로 관리할 수 있도록 설계되어 있다.
가장 먼저 살펴본 개념은 Organization과 Workspace이다. Organization은 GitHub의 조직 개념과 유사하며, 사용자 계정과는 별도로 팀 단위 프로젝트를 관리할 수 있는 구조를 제공한다. 실습에서는 개인 계정으로 Terraform Cloud에 가입한 후, 별도의 Organization을 생성하고 이를 기준으로 프로젝트를 구성하였다.
Workspace는 GitHub의 리포지토리에 해당하는 개념으로, 하나의 프로젝트 내에서도 개발(dev) 및 운영(prd) 환경을 나누어 독립적으로 관리할 수 있게 해준다. 실습에서는 프로젝트 A와 B에 대해 각기 두 개의 workspace를 생성하고, 환경 간의 설정을 구분할 수 있도록 구성하였다. 이로써 코드의 재사용성을 유지하면서도 환경별 설정을 안전하게 분리할 수 있는 기반을 마련할 수 있었다.
Terraform Cloud의 가장 큰 장점 중 하나는 상태(state) 관리의 중앙화이다. 기존에는 로컬 파일 시스템이나 S3와 같은 외부 저장소를 통해 state 파일을 관리해야 했지만, Terraform Cloud를 활용하면 이러한 운영 부담 없이 안정적인 상태 저장과 잠금(locking) 기능을 제공받을 수 있다. 특히 팀 단위 협업 환경에서는 state 충돌을 방지하고, 실행 기록과 변경 내역을 중앙에서 일관되게 관리할 수 있다는 점이 큰 이점으로 작용한다.
실습 과정에서는 GitHub 계정을 기반으로 Terraform Cloud 계정을 생성하고, .gitignore 파일을 설정하여 민감한 파일이 Git에 포함되지 않도록 구성하였다. 이후 backend 설정을 수정하여 기존 로컬 상태 저장 방식을 Terraform Cloud로 전환하고, 코드 실행 시 원격 상태 저장소를 통해 관리되는 구조를 실습하였다.
이번 실습을 통해 Terraform Cloud의 기본적인 구성과 활용 방법을 익혔으며, 다음 강의에서는 외부 모듈의 도입과 적용 방법을 학습하여, 외부 모듈과의 연동을 통해 보다 복잡한 인프라 구조도 클라우드 기반에서 안전하고 효율적으로 관리할 수 있게 될 거라고 한다.


