EC2 핵심 정리: 인스턴스, 구매 옵션, 배치와 접속
EC2 인스턴스 유형부터 보안 그룹, 접속 방식, 구매 옵션, 배치 그룹과 최대 절전까지 설계 기준 중심으로 정리합니다.
목차 10 SECTIONS +
EC2란?
Amazon EC2(Elastic Compute Cloud)는 필요한 만큼 가상 서버를 생성하고 운영하는 IaaS 서비스다. AMI로 운영체제와 초기 이미지를 선택하고, 인스턴스 유형으로 CPU·메모리·네트워크 성능을 정하며, EBS와 보안 그룹을 조합해 서버를 구성한다.
EC2 문제는 “가장 빠른 인스턴스”를 고르는 문제가 아니다. 워크로드 특성, 중단 허용 여부, 라이선스, 가용성 요구사항을 먼저 확인해야 한다.
인스턴스 유형 선택
| 계열 | 최적화 대상 | 대표 워크로드 |
|---|---|---|
| General purpose | CPU·메모리·네트워크 균형 | 웹 서버, 개발 환경, 소규모 DB |
| Compute optimized | 높은 CPU 성능 | 배치 처리, 미디어 인코딩, HPC |
| Memory optimized | 큰 메모리와 빠른 메모리 접근 | 인메모리 DB, 캐시, 실시간 분석 |
| Storage optimized | 높은 로컬 IOPS와 처리량 | 분산 파일 시스템, 데이터 웨어하우스 |
| Accelerated computing | GPU·가속기 | 머신러닝, 그래픽, 병렬 연산 |
크기만 키우는 수직 확장은 간단하지만 한계가 있다. 가능하면 Auto Scaling Group과 로드 밸런서를 사용해 수평 확장할 수 있는 구조를 우선 검토한다.
부트스트랩과 User Data
User Data는 인스턴스 최초 부팅 시 패키지 설치, 애플리케이션 배포, 에이전트 등록 같은 초기 작업을 자동화할 때 사용한다. 기본적으로 root 권한으로 실행되므로 스크립트에 비밀값을 직접 넣지 않는다. 반복 실행과 상태 관리는 Systems Manager, 이미지 베이킹 또는 구성 관리 도구가 더 적합하다.
보안 그룹
보안 그룹은 ENI에 연결되는 상태 저장형(stateful) 가상 방화벽이다.
- 허용 규칙만 정의하며 명시적 거부 규칙은 없다.
- 인바운드 요청이 허용되면 해당 응답 트래픽은 별도 아웃바운드 규칙 없이 반환된다.
- CIDR뿐 아니라 같은 VPC 또는 연결된 네트워크의 보안 그룹을 소스로 참조할 수 있다.
- 여러 ENI에 재사용할 수 있지만, 보안 그룹 자체는 VPC에 속한다.
- 웹 계층에서 DB 계층으로 접근할 때 IP 대신 웹 계층 보안 그룹을 참조하면 확장에 유리하다.
네트워크 ACL은 서브넷 경계에서 동작하고 상태 비저장(stateless)이다. 인스턴스 수준의 보안 그룹과 역할이 다르다.
안전한 접속 방식
| 방식 | 필요한 조건 | 적합한 상황 |
|---|---|---|
| SSH / RDP | 네트워크 경로, 키 또는 자격 증명 | 직접 운영 접속이 꼭 필요한 경우 |
| EC2 Instance Connect | 지원 AMI·OS와 네트워크 경로 | 단기 SSH 공개 키를 이용한 Linux 접속 |
| Systems Manager Session Manager | SSM Agent, IAM 역할, 서비스 연결 | 인바운드 관리 포트 없이 감사 가능한 접속 |
운영 환경에서는 퍼블릭 SSH/RDP 포트를 여는 대신 Session Manager를 우선 검토한다. 세션 기록을 CloudWatch Logs나 S3로 보내 감사 추적도 구성할 수 있다.
구매 옵션
| 옵션 | 약정·중단 특성 | 선택 기준 |
|---|---|---|
| On-Demand | 약정 없음, 중단 없음 | 사용량이 불규칙하거나 초기 예측이 어려움 |
| Savings Plans | 1년 또는 3년 동안 시간당 지출 약정 | 지속적인 컴퓨팅 사용량을 유연하게 할인 |
| Reserved Instances | 1년 또는 3년, 속성에 따라 할인·용량 혜택이 다름 | EC2 사용 패턴이 안정적이고 조건이 명확함 |
| Spot Instances | 여유 용량 사용, 2분 중단 알림 후 회수 가능 | 재시도 가능한 배치·분산 작업 |
| Dedicated Hosts | 물리 호스트 전용 | 소켓·코어 기반 라이선스 또는 규정 준수 |
| On-Demand Capacity Reservations | 특정 AZ의 용량 확보 | 반드시 정해진 AZ에서 즉시 실행해야 함 |
Savings Plans와 Reserved Instances는 비용 할인 모델이고, Capacity Reservation은 실행 용량을 확보하는 기능이다. 할인과 용량 보장은 같은 개념이 아니므로 요구사항에 따라 함께 사용할 수도 있다.
Spot 설계
Spot은 “저렴한 서버”가 아니라 “중단될 수 있는 용량”이다. 체크포인트 저장, 작업 큐, 다중 AZ·다중 인스턴스 유형을 사용해 회수에 견디도록 설계한다. EC2 Fleet이나 Auto Scaling Group의 price-capacity-optimized 전략은 가격과 가용 용량을 함께 고려할 때 적합하다.
배치 그룹
| 전략 | 배치 방식 | 적합한 워크로드 |
|---|---|---|
| Cluster | 한 AZ 안에서 인스턴스를 가깝게 배치 | 짧은 지연과 높은 네트워크 처리량이 중요한 HPC |
| Spread | 서로 다른 하드웨어에 소수 인스턴스를 분산 | 개별 인스턴스 장애 격리가 중요함 |
| Partition | 파티션별로 랙을 분리하고 다수 인스턴스를 배치 | HDFS, Cassandra, Kafka 같은 대규모 분산 시스템 |
Cluster는 성능을 위해 장애 범위를 집중시키고, Spread와 Partition은 장애 격리를 우선한다. 고가용성이 목표라면 배치 그룹만 보지 말고 여러 AZ를 함께 사용해야 한다.
Stop, Hibernate, Terminate
- Stop: EBS 기반 인스턴스의 컴퓨팅을 중지한다. 메모리 내용은 사라지며 EBS 데이터는 유지된다.
- Hibernate: RAM 내용을 암호화된 EBS 루트 볼륨에 저장한 뒤 중지한다. 지원되는 인스턴스 유형·AMI·루트 볼륨 조건을 충족해야 한다.
- Terminate: 인스턴스를 삭제한다. EBS는
DeleteOnTermination설정에 따라 함께 삭제되거나 남는다.
중지 중에는 인스턴스 사용 요금은 발생하지 않지만 EBS, Elastic IP 등 연결 자원의 요금은 계속 발생할 수 있다.
설계 체크리스트
- 상태를 외부 저장소로 분리해 인스턴스를 교체 가능하게 만들었는가?
- 관리 접속에 Session Manager를 사용할 수 있는가?
- 중단 가능한 작업은 Spot으로 분리했는가?
- 여러 AZ와 Auto Scaling으로 단일 장애 지점을 제거했는가?
- 비용 할인과 용량 보장을 구분해 선택했는가?
공식 문서
Last updated · 2026.09.05