AWS에서 제공하는 가상 서버 서비스이다. 필요한 만큼 서버(=인스턴스)를 즉시 빌려서 사용하고, 사용한 만큼만 비용을 지불하는 온디맨드 방식이 특징이다.
기존에는 물리 서버를 직접 구매·설치해야 했지만, EC2는 몇 분 만에 원하는 서버 사양을 선택하고 실행할 수 있다.
보통 AWS EC2 인스턴스 유형을 보면 m5.large와 같은 형태로 이루어져 있다.
| 종류 | 설명 |
|---|---|
| 범용(M5, M4) | 컴퓨팅, 메모리, 네트워크 리소스의 균형적 사용 |
| 컴퓨팅(C5, C4) | EC2에서 최고 성능의 프로세스이며 성능 대비 가격 저렴 |
| 메모리(R5, R4, X1) | 메모리 용량이 많이 필요한 애플리케이션용 |
| 성능 순간 확장(T2, T3) | 성능을 순간적으로 확장 가능한 인스턴스 |
| GPU(G3, P3) | 그래픽 및 일반 목적의 GPU 컴퓨팅 애플리케이션 |
| 높은 I/O(I2) | SSD 기반 초고속 인스턴스 스토리지 |
| 고밀도 스토리지(D2) | 높은 디스크 처리량, 단위 당 최소 가격 |
이렇게 만들어진 인스턴스에 대해 접근할 수 있는 방법이 2가지 있다.
SSH 키를 등록한 후 SSH 포트를 사용해 접속한다.
Session Manager는 SSH 키·점프서버 없이, 포트도 열지 않고, 로깅까지 제공하는 EC2 원격 접속 방식이다.
기존 SSH 방식
SSM 방식은 인바운드 포트를 열 필요없으며 SSH 키나 Bastion Host 필요하지 않으며
세션 활동이 자동으로 기록되어 감사와 보안성 강화할 수 있다.
즉, 운영 부담 ↓ / 보안성 ↑ 이라는 장점이 있다.

사용자 인증
사용자는 AWS에 접속하기 위해 먼저 IAM을 통해 인증을 받는다.
접속을 위해 권한 부여는 필수이다.
인스턴스 권한 확인
사용자의 연결 요청을 받은 Session Manager는 대상 EC2 인스턴스와 통신을 시작한다.
인스턴스 자체에 연결된 SSM Agent Role이라는 IAM 역할의 권한을 확인해 통신을 준비한다.
인스턴스와 연결
EC2 인스턴스 내부에는 SSM Agent라는 소프트웨어가 항상 실행중이다. 이 Agent가 SSM Agent Role의 권한을 사용해 Session Manager 서비스와 암호화된 통신 채널을 오픈한다. 이렇게 되면 원격 세션이 시작된다.
세션 활동 기록 (로깅)
연결이 수립된 후 사용자가 인스턴스에서 수행하는 모든 명령어와 활동은 Session Manager에 의해 기록된다.
보통 안정적인 기본 용량에는 예약 인스턴스를 사용하고 예측 불가능한 피크 용량에는 스팟 인스턴스를 섞어 사용하는 혼합 전략이 적합하다.
| 종류 | 설명 |
|---|---|
| Standard RI | 인스턴스 유형, 리전, AZ를 고정해 가장 큰 할인 제공 |
| Scheduled RI | 특정 시간대에만 필요한 워크로드에 적합 |
| Convertible RI | 인스턴스 패밀리, 유형 등을 변경할 수 있는 유연성 제공 |
애플리케이션 수요에 따라 자동으로 EC2 인스턴스를 늘리거나 줄여 성능을 유지하고 비용을 최적화하는데 필수적인 서비스이다. 이때, 정확한 수의 인스턴스를 보유하는게 핵심이다.
1. Auto Scaling Group
동일한 특성을 가진 EC2 인스턴스들의 논리적 그룹으로 사용자가 정의한 최소/최대 용량 내에서 지정된 수의 인스턴스 수를 유지한다.
2. 시작 템플릿 (Launch Template)
Auto Scaling 그룹이 새로운 EC2 인스턴스를 시작할 때 사용할 구성 정보를 정의해둔 것이다.
3. AMI (Amazon Machine Image)
EC2 인스턴스 생성에 사용되는 이미지로, 사전 구성된 AMI를 사용하면 Auto Scaling 그룹이 인스턴스를 신속하게 시작할 수 있다.

늘어나는 인스턴스가 어느 물리적 위치에 생성될지에 대한 전략을 말한다.



Warm Pool은 Auto Scaling Group(ASG)에서 사용하는 기능으로, 인스턴스를 미리 실행(프로비저닝)해 대기 상태로 유지하는 방법이다.
기존 방식은 Auto Scaling Group이 인스턴스를 새로 늘릴 때 AMI 기반으로 인스턴스 생성, OS/애플리케이션 초기화 등의 과정을 거쳤으며 수십 초~수 분의 워밍업(초기화 지연 시간)이 발생했다.
이렇게 되면 트래픽 급증 시 즉각적인 대응이 어려워진다.
Warm Pool을 사용하게 되면 미리 준비된 인스턴스들을 대기 상태로 유지한다.
인스턴스가 시작되거나 종료될 때 특정 작업을 수행하도록 구성해 감사 시스템에 보고서를 전송하는 등의 자동화 작업을 수행한다.

개발 환경의 Auto Scaling Group의 최대 인스턴스 수를 줄여 불필요한 비용을 절감한다.
주말 등 사용하지 않는 시간에 Auto Scaling 그룹의 최소/최대/원하는 용량 등을 0으로 변경하면 비용을 절감할 수 있다.
상태 비저장 웹 애플리케이션의 경우 Auto Scaling Group을 사용한다면 EC2 인스턴스의 AMI만 최신으로 유지하고 데이터베이스는 RDS의 자동 백업 포인트 타입 복구 기능을 사용하는 것이 더 효율적이다.