1) EC2란?
Amazon EC2는 클라우드에서 가상 서버(인스턴스)를 손쉽게 만들고 확장/축소할 수 있게 해주는 컴퓨팅 서비스입니다. 원하는 CPU/메모리/스토리지/네트워크 조합을 선택하고, 몇 분 안에 서버를 가동할 수 있습니다. 사용한 용량과 시간만큼 과금되며, 필요하면 즉시 중지·종료할 수 있어 민첩성과 비용 효율이 뛰어납니다.
2) 핵심 특징
- 광범위한 인스턴스 패밀리: 범용(M), 컴퓨팅 최적화(C), 메모리 최적화(R), 스토리지 최적화(I/D), 가속(H/V/Trn/Nv) 등
- 유연한 스토리지: EBS(블록), 인스턴스 스토어(일시), EFS/FSx(파일) 연동
- 네트워크/보안: VPC, 서브넷, 보안 그룹, 키 페어, IAM 역할, 보안 패치 자동화(SSM)
- 탄력적 확장: Auto Scaling 그룹과 ELB로 수평 확장
- 다양한 구매 옵션: 온디맨드, 스팟, 예약(Reserved), Savings Plans
- 운영 자동화: User Data(초기 부팅 스크립트), Systems Manager(무에이전트/원격 명령), CloudWatch/CloudTrail/Config 연동
3) 인스턴스 패밀리 한눈에
- t4g, t3: 버스팅 범용. 소규모 웹/개발/테스트
- m7g, m6i: 범용. 대부분의 애플리케이션
- c7g, c7i: CPU 집약(고성능 웹/배치/미디어 트랜스코딩)
- r7g, r6i: 메모리 집약(캐시, 인메모리 DB)
- i4i, im4gn: 스토리지/IO 최적(고속 로컬 SSD)
- g5/g6, p4/p5: GPU(딥러닝/그래픽)
- trn1, inf2: ML 학습/추론 가속 특화
팁: Graviton(Arm 기반) 인스턴스(m7g, c7g, r7g 등)는 성능/가격 비율이 매우 우수해 최근 워크로드에서 인기가 높습니다.
4) 아키텍처 예시
ALB + Auto Scaling(EC2) + RDS
- ALB가 트래픽을 수신 → 2) Auto Scaling 그룹의 EC2로 라우팅 → 3) DB는 RDS로 관리형 운영 → 4) CloudWatch로 지표/로그 수집 → 5) 배포는 CodeDeploy/CodePipeline
5) 과금 개요(요약)
- 컴퓨팅 요금(초/시간 단위) + EBS 스토리지(GB/월, IOPS/처리량) + 데이터 전송
- 비용 절감: 스팟 인스턴스(최대 70
90% 절감), 예약/세이빙플랜(13년 약정), Auto Scaling으로 유휴 리소스 최소화
실습 후 반드시 인스턴스/볼륨/ALB/Elastic IP 등을 종료/삭제하세요!
🛠 Hands-on: 10분만에 EC2 웹 서버 띄우기
아래는 **콘솔(클릭)**과 AWS CLI 두 가지 방법을 제공합니다. 편한 방법을 골라 진행하세요.
A. 콘솔로 빠르게 시작
- 키 페어 생성: EC2 → 키 페어 → 생성 (예: ec2-demo-key, PEM)
- 보안 그룹 생성: 인바운드에 22(SSH), 80(HTTP) 허용 (소스는 필요 시 본인 IP만)
- 인스턴스 시작:
- AMI: Amazon Linux 2023 (또는 Ubuntu LTS)
- 인스턴스 유형: t3.micro(프리티어)
- 네트워크: 기본 VPC/퍼블릭 서브넷(인터넷 게이트웨이 연결)
- 키 페어: ec2-demo-key
- 보안 그룹: 위에서 만든 것 선택
- User Data에 아래 스크립트 입력(첫 부팅 시 NGINX 설치/시작)
- 퍼블릭 IPv4 확인 → 브라우저에서 http://<퍼블릭IP> 접속 → “EC2 Web Server is up!” 페이지 확인
- (선택) SSM 에이전트 활성: Amazon Linux 2023은 기본 포함. IAM 역할에 AmazonSSMManagedInstanceCore 부여하면 SSH 없이 Session Manager로 접속 가능
B. AWS CLI로 한번에 만들기
전제: AWS CLI 설정(aws configure) 완료, 기본 리전/프로필 설정됨. 아래 변수는 필요 시 바꾸세요.
(선택) SSH로 접속
C. (보너스) SSM(Session Manager)로 무SSH 접속
- IAM 역할 생성 후 EC2에 연결: AmazonSSMManagedInstanceCore 정책 포함
- Systems Manager → Session Manager → 인스턴스 선택 → Start session
보안 그룹에서 22포트 열 필요 없음. 운영 보안에 유리합니다.
D. (선택) 자동 종료 스케줄링(비용 보호)
User Data에 크론을 넣어 일정 시간 뒤 중지/종료 스케줄을 걸 수 있습니다. (또는 Instance Scheduler/Lambda 사용)
예: 2시간 뒤 자동 종료 스크립트(데모용)
6) 운영 팁
- AMI 베이크: Packer/EC2 Image Builder로 표준 이미지를 만들어 배포 시간을 단축
- Auto Scaling: CPU/지표 기반으로 최소/최대 용량 자동 조절
- 배포: CodeDeploy(블루/그린), ASG 롤링 업데이트, 혹은 컨테이너(ECS/EKS)로 이전 고려
- 보안: 보안 그룹 최소 권한, SSM 우선, 키 관리(KMS), 패치 자동화(SSM Patch Manager)
- 로깅/모니터링: CloudWatch Logs/metrics, Alarm, CloudTrail, Config로 변경 추적
7) 마무리
EC2는 가장 범용적이고 강력한 IaaS 컴퓨팅입니다. 본문 실습대로 User Data로 즉시 웹 서버를 구동하고, 필요 시 SSM을 붙여 보안과 운영 편의성을 동시에 챙기세요. 이후에는 ALB + Auto Scaling으로 확장하고, 배포 자동화까지 이어가면 프로덕션 수준의 아키텍처로 성장시킬 수 있습니다.
'AWS > 서비스' 카테고리의 다른 글
🚀 AWS Lambda 서비스 소개 및 실습 예제 (0) | 2025.08.20 |
---|---|
Amazon API Gateway (0) | 2025.02.24 |
AWS WAF (Web Application Firewall) (0) | 2025.02.24 |
AWS IAM (Identity and Access Management) (0) | 2025.02.24 |
Amazon Route 53 (0) | 2025.02.24 |