AWS DVA-C02AWS 허브발행일 2025. 8. 19.원본 https://blog.naver.com/jword_/223975918566 ↗

AWS DVA-C02 #47 EC2 Image Builder

AWS DVA-C02 #47 EC2 Image Builder — #개발자의도구들 #AWS시험 #AWSDVA-C02 #DVA-c02문제 #DVA-c02덤프 참고: ExamPotic Di...

#DVA-C02#Naver Blog

#개발자의도구들 #AWS시험 #AWSDVA-C02 #DVA-c02문제 #DVA-c02덤프

​

참고: ExamPotic Disscussion

문제 찾는법 : 여기 최하단

요구사항 분석

  • 문제 상황:
  • Auto Scaling Group에서 인스턴스 scale-out 시, UserData script 실행이 오래 걸려서 인스턴스 가용화가 늦음.
  • 요구사항:
  1. 인스턴스가 빨리 가용 상태가 되어야 함
  2. 애플리케이션 최신 버전은 항상 제공되어야 함
  3. 보안 패치도 항상 적용되어야 함
  4. AMI 이미지는 최소화해야 함 (너무 자주 이미지 빌드하지 말 것)
  5. 이미지는 검증되어야 함

​

📌정답 두 개 고르기

보기 분석

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에 전달해서 한 번 실행시킨다.
  • 보통 패키지 설치, 환경 설정, 애플리케이션 배포 같은 초기 작업을 자동화 하는데 사용한다.

​

🔎 특징

  1. 첫 부팅 시 자동 실행
  • EC2 인스턴스를 시작할 때만 실행 (재부팅은 실행 x, 가능은 함)

​

  1. 운영체제 부팅 후 root 권한으로 실행

-

  • Amazon Linux, Ubuntu 같은 Linux OS의 경우 cloud-init 서비스가 UserData를 실행한다.
  • Windows는 EC2Config/Ec2Launch를 통해 실행 됨
  1. 주요 활용 예시

-

  • 소프트웨어 설치
  • 코드/애플리케이션 배포
  • OS 보안 업데이트
  • 환경 변수/설정 파일 작성

이미지

Ec2 생성시 - Advanced details 맨 아래 User data 블럭에서 명령어를 적으면 된다. (패키지 설치 같은거)

​

보통 무엇을 작성하는가 ?

OS Patch

EC2 인스턴스를 띄우면 기본적으로 Amazon Linux, Ubuntu 같은 운영체게가 포함된다. 하지만 이 OS에는 최신 보안 패치가 안들어갈 수 있다. 보통 이 보안 패치를 User Data Script에 실행하는 경우가 많음

bash 코드 예제
                                    yum update -y
  • 이 과정에서 앱 실행 지연 증가

​

Agent 설치

  • EC2가 운영 환경에서 모니터링·배포·보안 관리 등을 받으려면 \\필수 에이전트(agent)\\들이 필요함. 예를 들면:
  • SSM Agent → AWS Systems Manager로 원격 제어/패치
  • CloudWatch Agent → 메트릭/로그 수집
  • CodeDeploy Agent → CodeDeploy가 EC2에 애플리케이션 배포 가능
  • Elastic Load Balancer health check agent (내장 스크립트로 포함 가능)

​

이 역시 UserData에서 설치

bash 코드 예제
                                    yum install -y amazon-ssm-agent
yum install -y codedeploy-agent

​

오래 걸리는 이유와 해결 패턴

​

왜 스크립트가 오래걸리는가?

기본적으로 유추가 가능하다. 아마 패키지 설치/업데이트 과정이 네트워크를 통하다보니, 용량이 큰 경우 딜레이가 생긴다.

​

해결 솔루션

EC2 Image Builder를 사용한다.

  • EC2 인스턴스 자체를 이미지화 하여 사용하는 개념
  • OS 보안 패치, 런타임, 에이전트 미리 포함
  • 빌드→테스트(검증)→배포 파이프라인으로 "검증된 최신 AMI 유지"

​

이미지

이미지

  • AMI 혹은 Docker Image 사용
  • 커스타 마이징