AWS Cloud School 13기 74일차

Forever 김·2026년 4월 15일

AWS Cloud School

목록 보기
68/97

TIL

배운 내용

DevOps Engineering on AWS

오늘은 AWS 공인교육이 있는 날이다. DevOps Engineering on AWS라는 주제로 강사님이 오셔서 수업을 진행하였다.DevOps 개념부터 시작해서 CI/CD 파이프라인, 코드형 인프라(IaC), AWS CloudFormation까지 다뤘다.


DevOps란?

DevOps는 개발(Dev)과 운영(Ops)의 경계를 허무는 문화이자 방법론이다.
핵심은 빠르고 안정적인 소프트웨어 전달이다.

주요 방식들:

방식설명
지속적 통합 (CI)코드 변경 시 자동 빌드 + 테스트
지속적 전달 (CD)테스트 환경까지 자동 배포
지속적 배포 (CD)프로덕션까지 완전 자동화
코드형 인프라 (IaC)인프라를 코드로 관리
마이크로서비스독립적으로 배포 가능한 작은 서비스 단위

CI/CD 파이프라인 흐름은 이렇다.

코드 → 빌드 → 테스트 → 프로비저닝 → 배포 → 모니터링

코드형 인프라 (IaC)

인프라를 코드로 정의하면 뭐가 좋냐면:

  • 버전 관리가 된다 (Git으로 인프라 히스토리 추적 가능)
  • 반복 가능하고 안정적으로 환경을 찍어낼 수 있다
  • 여러 고객에게 동일한 환경을 제공할 수 있다

AWS에서는 CloudFormation이 IaC의 대표 서비스다.


AWS CloudFormation

CloudFormation 템플릿은 YAML 또는 JSON으로 작성한다.
주요 섹션 구성:

섹션필수 여부설명
AWSTemplateFormatVersion선택템플릿 버전
Description선택템플릿 설명
Parameters선택입력값
Mappings선택정적 변수 (키-값)
Conditions선택리소스 생성 조건
Resources필수생성할 AWS 리소스
Outputs선택출력값 (URL, 사용자명 등)

스택 업데이트 방식

CloudFormation이 리소스를 업데이트할 때는 3가지 방식 중 하나를 택한다.

  • 중단 없는 업데이트: 서비스 중단 없이 속성만 변경
  • 일부 중단 업데이트: 잠깐 중단되지만 물리적 ID는 유지
  • 교체: 리소스를 새로 만들고 기존 것을 삭제 (물리적 ID 변경)

드리프트 탐지

스택이 템플릿과 달라졌는지 확인하는 기능이다.

  • DRIFTED: 실제 구성이 템플릿과 다름
  • IN_SYNC: 일치
  • NOT_CHECKED: 아직 검사 안 함

실습: CloudFormation 스택 관리

스택 상태 확인과 드리프트 탐지를 CLI로 직접 해봤다.

# 스택 상태 확인
aws cloudformation describe-stacks \
  --stack-name Lab1 \
  --query "Stacks[0].StackStatus"

# 드리프트 탐지 결과 확인
aws cloudformation describe-stack-resource-drifts \
  --stack-name Lab1 \
  --stack-resource-drift-status-filters MODIFIED DELETED

# 변경 세트 생성 (인스턴스 타입 변경)
aws cloudformation create-change-set \
  --stack-name Lab1 \
  --change-set-name Lab1ChangeSet \
  --parameters ParameterKey=InstanceType,ParameterValue=t2.micro \
  --template-body file://lab1-CS.yaml

변경 세트(Change Set)는 실제로 적용하기 전에 어떤 리소스가 어떻게 바뀌는지 미리 확인할 수 있는 기능이다.
운영 환경에서 스택 업데이트할 때 꼭 활용해야 할 것 같다.


CloudFormation 헬퍼 스크립트

EC2 인스턴스 초기화 자동화에 쓰이는 스크립트들이다.

스크립트역할
cfn-init패키지 설치, 파일 생성, 서비스 시작
cfn-signal리소스 준비 완료 신호 전송
cfn-get-metadata리소스 메타데이터 조회
cfn-hup메타데이터 변경 감지 후 후크 실행

오늘은 DevOps의 전반적인 개념과 CloudFormation을 통한 IaC 실습을 했다.
변경 세트와 드리프트 탐지 기능이 특히 인상 깊었다. 인프라도 코드처럼 diff를 보고 적용할 수 있다는 게 실무에서 정말 유용할 것 같다.

이번 velog는 AWS Kiro를 통해 작성하고 Kiro에 Notion MCP를 연결하여 Notion에서 바로 읽을 수 있도록 하였다.

profile
나를 한줄로

0개의 댓글