Git 저장소
- 역할
- 인프라 코드와 변경 이력을 보관합니다.
- 왜 필요한가
- 변경을 비교하고 리뷰하기 위해 사용합니다.
- 어떻게 연결되나
- 개발자 → Git push / PR → CI/CD
- 없으면 / 대안
- 로컬 코드만으로도 실행 가능하지만 팀 리뷰와 이력 공유가 어려워집니다.
AWS WIKI / PROJECT
신규 웹 인프라 · 팀 단위 변경 관리 · Production
전제조건과 공정별 산출물·완료 조건
Git에서 변경을 검토하고 Terraform으로 AWS 인프라를 구성한 뒤, 서버 운영과 상태 관찰을 별도로 연결합니다.
일반 인프라 개념과 AWS 구현의 선택
코드·실행 절차·변경 엔진·실제 인프라는 서로 다른 역할입니다. 서버 관리와 모니터링은 필수 실행 순서를 뜻하지 않습니다.
리뷰한 코드가 실제 AWS 리소스로
생성된 리소스에 관리와 관찰을 각각 연결 · SSM → CloudWatch의 필수 순서는 아님
Terraform: 리소스 상태 변경 · Systems Manager: 등록된 서버 관리 · CloudWatch: 상태 관찰
주의인프라 생성 ≠ OS 운영 자동 완성
검증 성공만으로 무승인 apply하지 않습니다. 승인 기능은 CI/CD 제품·플랜별 지원 범위를 확인하세요.
누가 무엇을 바꿨는지 남깁니다. Git은 리소스를 생성하지 않으며 코드 저장과 리뷰를 맡습니다.
검증과 계획을 실제 apply 전에 검토합니다. CI/CD는 Terraform 명령의 실행 순서와 승인 절차를 맡습니다.
원하는 상태를 선언하고 provider로 AWS API를 호출합니다. 리소스 생성만으로 앱 설치나 OS 운영이 끝나는 것은 아닙니다.
관리 대상으로 등록된 서버에 운영 절차를 적용합니다. Terraform과 역할을 구분하고 기존 관리 도구와 충돌하지 않게 합니다.
배포 성공 이후에도 서비스 상태를 확인합니다. 로그 전송과 알람의 수신 대상은 별도로 구성합니다.
화살표는 변경 작업의 순서입니다. 웹 요청 흐름이 아닙니다. 이 예시의 Terraform은 AWS provider로 인프라를 변경하고, 서버 OS 운영과 모니터링은 별도 설정합니다.
핵심·검토·추가·대체 요소의 역할
이 패턴을 설명하는 중심 요소
Production 설계에서 함께 고려
상황에 맞춰 선택할 요소
조건provider 설정·AWS 권한·state 관리 필요
조건템플릿·상태 / 스택·변경 절차가 다름
조건실행 환경·인증·승인·동시 실행 제어 구성
조건연결·기존 인프라·OS 관리 책임 필요
조건지원 OS, SSM Agent, hybrid activation / IAM Role, AWS endpoint HTTPS 연결
조건앱 배포·패치·로그 수집·알람을 따로 구성
Terraform| 기술영역 | 01요구사항 정리 | 02기본설계 | 03상세설계 | 04IaC 구축 / 변경 | 05테스트 | 06배포 / 이행 | 07운영 | 08인수인계 / 개선 |
|---|---|---|---|---|---|---|---|---|
구축 설정과 검증·전환·복구 결과
원하는 VPC·EC2·RDS와 환경별 변수 정의. OS 패치 절차와는 구분합니다.
변경 이력을 남기고 Pull Request로 코드 리뷰를 요청합니다.
검토할 코드 버전을 고정하고 fmt -check로 형식을 확인합니다.
backend와 provider를 초기화한 다음 validate로 구성을 검증합니다. plan 전에 수행합니다.
생성·수정·삭제 / 교체할 대상을 확인합니다. plan과 state는 민감 정보로 보호합니다.
Production에서 실제 적용할 계획을 검토합니다. 코드 / 계획이 달라지면 재검토합니다.
승인한 plan을 적용합니다. 환경별 잠금·동시 실행 제어와 실행 권한이 필요합니다.
AWS API가 허용된 리소스 변경을 처리합니다. 실패 시 부분 적용 상태를 확인합니다.
등록과 통신이 준비된 서버에 명령·초기 설정·패치를 수행합니다. apply가 자동으로 실행해 주지는 않습니다.
지표·로그·알람으로 변경 이후 상태를 확인합니다. SSM 성공과 무관하게 관찰 체계가 필요합니다.
시나리오별 참고안과 별개인 학습용 기준 설정입니다. 정답 구성이나 실제 배포 절차를 뜻하지 않습니다.
조건 / 입력팀원이 서버 구성 변경 PR을 제출
결과코드와 적용 이력이 남고 AWS 구성이 변경됩니다. 앱 정상 동작은 별도 확인합니다.
조건 / 입력Production DB의 삭제 / 교체 계획이 나타남
결과이 흐름에서는 승인 전 AWS 변경을 멈춥니다. Terraform 자체가 모든 위험을 자동 차단하는 것은 아닙니다.
서버 관리·관찰·백업과 운영 책임
요금·변경·중단·데이터·보안 위험
IaC 흐름에는 고정 AWS 청구액이 없음
apply 이후 EC2·RDS·네트워크·스토리지 사용 비용이 발생합니다. IaC를 쓰는 것과 요금은 별개입니다. AWS Pricing ↗
S3 저장·요청 및 CI 실행 시간/플랜을 확인합니다. 로컬 실행과 관리형 실행의 비용 구조는 다릅니다. Terraform 실행 방식 ↗
기능·대상·로그량에 따라 비용이 달라집니다. 운영 체계 전체를 무료라고 가정하지 않습니다. Systems Manager 요금 ↗
절대적인 정답은 아니며 요구사항에 따라 달라집니다.
실제 적용할 계획을 검토하고 코드나 상태가 달라지면 다시 계획합니다. 실패한 apply는 부분 적용 상태부터 확인합니다.
Terraform 작업 흐름 ↗원격 저장과 환경 분리는 자주 사용하는 방식입니다. 모든 backend가 잠금을 지원하지 않으며 Production 실행 제한도 별도로 구성합니다.
State 잠금 ↗