EC2는 클라우드에서 가상 서버(Instance)를 제공하는 서비스로, 사용자는 필요한 컴퓨팅 자원을 유연하게 생성하고 관리할 수 있으며 AWS에서 사용하는 가상의 컴퓨터라고 이해할 수 있다.
| 목적 | 설명 |
|---|---|
| 컴퓨팅 리소스 제공 | CPU, 메모리, 스토리지, 네트워크 등을 자유롭게 구성 가능한 서버 환경 |
| 확장성 (Scalability) | Auto Scaling을 통해 트래픽 변화에 따라 인스턴스를 자동으로 증감 |
| 비용 효율성 (Cost Optimization) | 사용한 만큼만 지불하며, Spot/Reserved Instance를 활용해 비용 절감 가능 |
| 가용성 (Availability) | 여러 AZ(Availability Zone)에 인스턴스를 분산 배치하여 서비스 중단 위험 최소화 |
| 유연한 배포 (Flexibility) | 다양한 운영체제, AMI, 네트워크 설정을 선택 가능 |
| 구성 요소 | 설명 | 예시 |
|---|---|---|
| AMI (Amazon Machine Image) | 인스턴스의 운영체제 및 소프트웨어 템플릿 | Ubuntu, Amazon Linux, Windows Server |
| Instance Type | CPU, 메모리, 네트워크 성능의 조합 | t2.micro, m5.large, c6g.xlarge |
| EBS (Elastic Block Store) | 인스턴스의 영구 스토리지 | OS용 Root Volume, 데이터 Volume |
| Instance Store | 인스턴스 종료 시 삭제되는 임시 로컬 스토리지 | 캐시, 임시 처리용 데이터 |
| Security Group | 인스턴스의 가상 방화벽 (인바운드/아웃바운드 규칙 설정) | TCP 22(SSH), TCP 80(HTTP) 허용 |
| Key Pair (SSH Key) | 인스턴스 접근을 위한 인증 키 | ec2-key.pem |
| Elastic IP (EIP) | 고정 퍼블릭 IP | 외부 서비스 접근 시 사용 |
| Elastic Network Interface (ENI) | 가상 네트워크 카드 | 보조 NIC, Multi-homing 구성 |
| Placement Group | 인스턴스 배치 전략 | Cluster / Spread / Partition |
EC2 인스턴스에서도 다른 AWS 리소스(S3, DynamoDB 등)에 접근할 수 있다.
이를 위해 IAM Role을 EC2에 연결하면, 인스턴스 내부 애플리케이션이 Access Key 없이 안전하게 AWS API를 호출할 수 있다.
예시: EC2 → IAM Role 부여 → S3 버킷 접근 (s3:GetObject)
| 유형 | 특징 | 비고 |
|---|---|---|
| On-Demand | 사용한 만큼만 지불, 약정 없음 | 테스트 환경, 예측이 어려운 워크로드 |
| Reserved Instance (RI) | 1~3년 약정으로 최대 75% 절감 | 장기적이고 안정적인 서비스 |
| Spot Instance | AWS의 남는 컴퓨팅 자원을 고정 할인율(최대 90%)로 제공, 필요 시 회수될 수 있음 | 비핵심 작업, 배치형 연산, 테스트·데이터 분석 등 중단 허용 가능한 작업 |
| Savings Plan | RI보다 유연하게 적용 가능, 인스턴스 패밀리 무관 | 다양한 워크로드 혼합 환경 |
| Dedicated Host/Instance | 물리 서버 단독 사용 | 라이선스 요구, 규제 준수 환경 |
| 주제 | 핵심 내용 |
|---|---|
| User Data | 인스턴스 시작 시 자동 실행되는 초기 설정 스크립트 |
| Elastic Load Balancer (ELB) | 여러 EC2 인스턴스에 트래픽을 분산 |
| Auto Scaling Group (ASG) | 트래픽 변화에 따라 인스턴스를 자동 증감 |
| CloudWatch | CPU, 네트워크 등 모니터링 및 알람 설정 |
| EBS Snapshot | EBS 볼륨 백업, AMI 생성에 활용 |
| Placement Group 전략 | Cluster(고성능), Spread(분산), Partition(대규모 분산) 구성 방식 선택 가능 |
EC2는 AWS 클라우드에서 제공하는 가상 서버 서비스로 필요한 컴퓨팅 자원을 유연하게 사용할 수 있으며,
Auto Scaling, ELB, IAM Role 등과 연계하여 확장성과 보안성을 동시에 확보할 수 있다.
실제 시스템 설계에서는 EC2의 요금제, IAM Role 설정,현재 상황 및 Auto Scaling 구조를 함께 고려하는 것이 중요하다.