AWS DVA-C02 #47 EC2 Image Builder
AWS DVA-C02 #47 EC2 Image Builder — #개발자의도구들 #AWS시험 #AWSDVA-C02 #DVA-c02문제 #DVA-c02덤프 참고: ExamPotic Di...
#개발자의도구들 #AWS시험 #AWSDVA-C02 #DVA-c02문제 #DVA-c02덤프
참고: ExamPotic Disscussion
문제 찾는법 : 여기 최하단
요구사항 분석
- 문제 상황:
- Auto Scaling Group에서 인스턴스 scale-out 시, UserData script 실행이 오래 걸려서 인스턴스 가용화가 늦음.
- 요구사항:
- 인스턴스가 빨리 가용 상태가 되어야 함
- 애플리케이션 최신 버전은 항상 제공되어야 함
- 보안 패치도 항상 적용되어야 함
- AMI 이미지는 최소화해야 함 (너무 자주 이미지 빌드하지 말 것)
- 이미지는 검증되어야 함
📌정답 두 개 고르기
보기 분석
A. EC2 Image Builder → AMI 생성, OS patch + agent 설치 → ASG에 사용
B. EC2 Image Builder → AMI 생성, 최신 앱 + 패치 + agent 포함 → ASG에 사용
C. AWS CodeDeploy로 애플리케이션 최신 버전 배포
D. AWS CodePipeline으로 최신 앱 배포
E. UserData script에서 OS patch 제거
A. 🔔 AMI 내에 OS patch, agent를 미리 사용할 수 있어, 하지만 최신 유지를 못함
B. ❌ 최신 앱을 AMI에 포함하면 앱이 업데이트 될 때마다 항상 새로운 이미지를 빌드해야한다. 이미지 관리 오버헤드 증가
C. ✅ codedeploy를 통해 생성된 EC2에 애플리케이션 배포 가능
- resource(github, codecommit)를 가져와 ec2에 자동 배포 기능
- 배포 방식 제어 - rolling update, Blue/Green, Canary
D. ❌ 배포 만 필요하므로 궂이 사용할 필요 없다.
E. ❌ OS patch를 AMI에 넣긴 했는데, 이걸 단독으로 보고 고려하면 아님, 즉 AMI에 Os Patch 선택지를 선택하지 않았다는 가정하에 보면 틀렸다.
👉 근데 이렇게 보는게 맞나 ..
개념 정리
User Data Script
- EC2 인스턴스를 시작할 때 실행되는 초기화 스크립트
- 인스턴스를 처음 부팅할 때 AWS가 OS에 전달해서 한 번 실행시킨다.
- 보통 패키지 설치, 환경 설정, 애플리케이션 배포 같은 초기 작업을 자동화 하는데 사용한다.
🔎 특징
- 첫 부팅 시 자동 실행
- EC2 인스턴스를 시작할 때만 실행 (재부팅은 실행 x, 가능은 함)
- 운영체제 부팅 후 root 권한으로 실행
-
- Amazon Linux, Ubuntu 같은 Linux OS의 경우 cloud-init 서비스가 UserData를 실행한다.
- Windows는 EC2Config/Ec2Launch를 통해 실행 됨
- 주요 활용 예시
-
- 소프트웨어 설치
- 코드/애플리케이션 배포
- OS 보안 업데이트
- 환경 변수/설정 파일 작성
Ec2 생성시 - Advanced details 맨 아래 User data 블럭에서 명령어를 적으면 된다. (패키지 설치 같은거)
보통 무엇을 작성하는가 ?
OS Patch
EC2 인스턴스를 띄우면 기본적으로 Amazon Linux, Ubuntu 같은 운영체게가 포함된다. 하지만 이 OS에는 최신 보안 패치가 안들어갈 수 있다. 보통 이 보안 패치를 User Data Script에 실행하는 경우가 많음
yum update -y
- 이 과정에서 앱 실행 지연 증가
Agent 설치
- EC2가 운영 환경에서 모니터링·배포·보안 관리 등을 받으려면 \\필수 에이전트(agent)\\들이 필요함. 예를 들면:
- SSM Agent → AWS Systems Manager로 원격 제어/패치
- CloudWatch Agent → 메트릭/로그 수집
- CodeDeploy Agent → CodeDeploy가 EC2에 애플리케이션 배포 가능
- Elastic Load Balancer health check agent (내장 스크립트로 포함 가능)
이 역시 UserData에서 설치
yum install -y amazon-ssm-agent
yum install -y codedeploy-agent
오래 걸리는 이유와 해결 패턴
왜 스크립트가 오래걸리는가?
기본적으로 유추가 가능하다. 아마 패키지 설치/업데이트 과정이 네트워크를 통하다보니, 용량이 큰 경우 딜레이가 생긴다.
해결 솔루션
EC2 Image Builder를 사용한다.
- EC2 인스턴스 자체를 이미지화 하여 사용하는 개념
- OS 보안 패치, 런타임, 에이전트 미리 포함
- 빌드→테스트(검증)→배포 파이프라인으로 "검증된 최신 AMI 유지"
- AMI 혹은 Docker Image 사용
- 커스타 마이징


