
AWS에서 가장 기본적이면서도 핵심적인 서비스 중 하나인 EC2에 대해 정리해봤다.
기본적이고 많이 쓰이는 서비스인 만큼, 내가 제대로 이해하고 있는지 다시 한번 점검하는 의미에서 내용을 정리했다.

안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스
개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계됐다.
클라우드는 IT 자원을 인터넷을 통해 빌려 쓰는 개념이고,
클라우드 컴퓨팅은 그중에서도 서버, 저장공간, 네트워크 같은 컴퓨팅 자원을 빌려 쓰는 것.
EC2는 그중 '서버(가상 컴퓨터)'를 빌려 쓸 수 있게 해주는 AWS의 서비스다.
초 단위 온디맨드 가격 모델
온디맨드모델에서는 가격이 초 단위로 결정
서비스 요금을 미리 약정하거나 선입금이 필요 없음
빠른 구축 속도와 확장성
다양한 구성방법 지원
머신러닝, 웹서버, 게임서버, 이미지처리 등 다양한 용도에 최적화된 서버 구성 가능
다양한 과금 모델 사용 가능
여러 AWS 서비스와 연동

사용자는 AWS 관리 콘솔, CLI 또는 SDK를 통해 AWS에 액세스
인스턴스 타입, AMI, 네트워크 설정, 보안 구성 등 모든 필요한 설정을 완료한 후 최종적으로 실행 중인 EC2 인스턴스를 생성한다.
- AWS 콘솔/CLI: 사용자가 AWS 관리 콘솔 또는 CLI를 통해 EC2 인스턴스 생성을 시작
- EC2 인스턴스 설정: 인스턴스 유형, AMI(운영 체제 이미지), 스토리지, 키 페어 등의 옵션 구성
- 네트워크 및 보안: VPC, 서브넷, 보안 그룹, IAM 역할 등 네트워크와 보안 관련 설정
- 고급 설정: 사용자 데이터, 테넌시, 메타데이터, 스팟 인스턴스 등 추가적인 구성 옵션을 설정
- EC2 인스턴스: 구성된 EC2 인스턴스를 실행 중 상태로 배포한다.
(인스턴스 ID, 퍼블릭/프라이빗 IP 주소 등의 정보를 확인 가능)
EC2 서비스를 통해 사용자가 생성하여 실행된 하나의 가상 서버
실제 서버처럼 작동
물리적으로는 AWS의 데이터 센터 어딘가에 존재
사용자는 이 인스턴스를 통해 리눅스/윈도우 서버 운영, 웹 애플리케이션 호스팅, 데이터 처리 등 다양한 작업을 수행
인스턴스 구성 요소
| 구성 요소 | 설명 |
|---|---|
| AMI (Amazon Machine Image) | 인스턴스에 설치할 운영체제 및 초기 설정 |
| Instance Type | CPU, 메모리, 네트워크 성능이 정해진 서버 사양 (예: t2.micro, m5.large) |
| Storage | 인스턴스에 연결되는 디스크 (EBS 등) |
| Network 설정 | VPC, 서브넷, 보안 그룹 등 네트워크 환경 |
| Key Pair | 인스턴스 접속을 위한 인증 수단 (SSH 키 등) |
하나의 EC2 인스턴스는 항상 하나의 가용영역(AZ) 에 생성한다.
여러 AZ에 인스턴스를 배포하고 싶다면, 여러 인스턴스를 각각 다른 AZ에 생성해야 하는데,
고가용성(HA)이나 장애 대비 목적이라면, 오토스케일링 그룹과 함께 여러 AZ를 사용하는 구성이 일반적이다.
EC2(Elastic Compute Cloud)
AWS에서 제공하는 가상 서버를 생성하고 운영할 수 있는 서비스
클라우드 컴퓨팅 환경에서 서버를 직접 구축하지 않고도 몇 분 만에 전 세계에 수백 대의 서버 인프라를 구성할 수 있다.
온디맨드 과금, 빠른 확장성, 다양한 인스턴스 구성, 다른 AWS 서비스와의 연동이 장점
인스턴스
EC2를 통해 생성된 하나의 가상 서버로, 사용자는 이 인스턴스를 통해 다양한 애플리케이션을 운영 가능
인스턴스는 AMI, 인스턴스 타입, 스토리지, 네트워크, 키 페어 등의 설정으로 구성된다.
하나의 인스턴스는 항상 하나의 가용영역(AZ) 에 생성되며, 여러 AZ에 인스턴스를 배포하려면 각 AZ에 별도로 생성해야 한다
고가용성 확보와 장애 대비를 위해서는 오토스케일링 그룹(ASG)을 활용해 여러 AZ에 인스턴스를 자동으로 분산 배포하는 구성이 일반적이다.
예)
🏢EC2는 식당
🪑인스턴스는 식당 안의 테이블 하나다.
식당이라는 공간 안에 여러 테이블이 있고, EC2 안에 여러 인스턴스가 생성되어 각자 독립적으로 작동하는 느낌이다..