Amazon EC2 (Elastic Compute Cloud)
정의
클라우드 환경에서 가상 서버를 생성하고 관리하는 서비스
물리적 서버 구축 없이 컴퓨팅 리소스를 유연하게 활용하는 플랫폼
주요 특징
- 탄력성: 트래픽과 사용량에 따라 인스턴스 자동 추가·제거 기능
- 다양한 인스턴스 옵션: 범용형, 계산 최적화형, 메모리 최적화형, 스토리지 최적화형, GPU 인스턴스 제공
- 고가용성: 여러 가용 영역(AZ) 분산 배포를 통한 장애 복구 및 부하 분산 구조
- 보안성: VPC, 보안 그룹, ACL, 키 페어 기반 보호 체계
- 비용 효율성: 사용량 기반 과금(Pay -as-yo u -go 모델)과 예약형·스팟형·세이빙 플랜 등 다양한 요금제 구조
가상 서버 생성 절차(AWS 관리 콘솔 이용방식)
- AWS 콘솔 로그인 → EC2 대시보드 접속
- 인스턴스 시작 버튼 선택
- Amazon Machine Image(AMI) 선택
- 인스턴스 유형 선택 (예: t3, m5 등)
- 네트워크, IAM 역할, 키 페어, 사용자 데이터 설정
- 스토리지(EBS) 및 보안 그룹 구성
- 설정 검토 후 인스턴스 실행
인스턴스 유형 및 활용 예시
| 유형 | 설명 | 예시 |
|---|
| 범용형 | CPU와 메모리의 균형형 | 웹 서버, 앱 서버 등 다방면 사용 가능 |
| 계산 최적화형 | CPU 성능에 중점 | 게임 서버, 시뮬레이션 |
| 메모리 최적화형 | 대용량 메모리 기반 | 데이터베이스, 인메모리 캐시 |
| 스토리지 최적화형 | 빠른 I/O 중심 | 로그 처리, 빅데이터 |
| GPU 인스턴스 | 병렬 연산 및 그래픽 처리용 | 머신러닝, 영상 렌더링 |
서버 성능 결정 요소
: CPU 코어 수, 클럭 속도, 메모리 용량, 스토리지 속도, 네트워크 대역폭
서버 자동 추가 및 제거
Auto Scaling 기능
서버 부하 상태에 따른 자동 확장 및 축소 기능
- Scale Out: 서버 추가
- Scale In: 서버 제거
- CPU 사용률 기준 자동 조정
- 스케줄 기반 조정 (평일·주말 운영 정책 설정 가능)
EC2 요금제 유형
| 요금제 | 설명 | 특징 |
|---|
| 온디맨드 | 사용량 기반 지불 | 단기 작업 적합 |
| 예약 인스턴스 | 1~3년 단위 예약 | 장기 사용 할인 |
| 스팟 인스턴스 | 여유 자원 경매 | 중단 허용 작업 적합 |
| 세이빙 플랜 | 일정 사용량 약정 | 유연한 할인 방식 |
| 전용 호스트 | 물리 서버 독점 사용 | 라이선스 제약 대응형 |
Amazon S3 (Simple Storage Service)
- 객체(Object) 단위 데이터 저장용 클라우드 스토리지 서비스
- 데이터를 버킷(Bucket, 객체) 단위로 관리하며 무제한 확장 가능
- 파일 시스템이나 블록 스토리지와는 달리, 데이터를 객체(파일과 메타데이터의 집합) 형태로 저장
- 각 객체는 고유한 식별자인 키(KEY)를 가지며, 별도의 계층 구조 없이 버킷 내에 저장
- 이러한 특성으로 인해 확장성, 내구성, 관리 편의성이 높음
- 글로벌 서비스이지만 데이터는 리전에 저장 무제한용량,
- 하나의 객체는 0~5TB
S3 주요 특징
확장성
: 저장 용량 제한 없음
내구성
: 다중 가용 영역 저장, 99.999999999% 내구성
비용 효율성
: Pay-as-you-go 과금 모델
데이터 관리성
: 버전 관리, 수명 주기 정책, 객체 잠금 기능
보안성
: 암호화, 접근 제어, 액세스 로그 제공
S3와 AWS 서비스 연계 구조
- EC2와 연계: 인스턴스 내 데이터 입출력 처리
- CloudFront 연계: 정적 콘텐츠 CDN 전송
- Lambda 연계: 객체 추가·변경 시 이벤트 트리거
- Glacier 및 분석 서비스 연계: 장기 보관 및 분석 처리
S3 요금제 구조
스토리지 클래스별 차등 요금 체계
- Standard: 자주 접근 데이터용
- IA (Infrequent Access): 드물게 접근 데이터용
- One Zone-IA: 단일 AZ 저장, 저비용형
- Glacier / Deep Archive: 장기 보관용
요금 산정 기준: 저장 용량, 요청 횟수, 데이터 전송량
S3 기본 용어 정의
| 항목 | 설명 |
|---|
| Owner | 소유자 |
| Key | 파일의 이름 |
| Value | 파일의 데이터 |
| Version Id | 파일의 버전 아이디 |
| Metadata | 파일의 정보를 담은 데이터 |
| ACL | 파일의 권한을 담은 데이터 |
| Torrents | 토렌트 공유를 위한 데이터 |
버킷(Bucket)
-
S3에서 데이터를 저장하는 기본 컨테이너
-
모든 객체는 특정 버킷 내에 저장
-
전 세계에서 고유 값. 리전에 관계 없이 중복된 이름이 존재할 수 없음.
-
데이터 내구성: 최소 3개 AZ 분산 저장(Standard의 경우)
-
가용성 SLA: 약 99.9% (연간 약 8시간 미만 다운타임 허용)
S3 보안 구성
- 기본 설정: 비공개 버킷 생성
- 보안 설정은 객체 단위와 버킷 단위로 구성
- Bucket Policy: 버킷 단위 접근 제어
- ACL(Access Control List): 객체 단위 접근 제어 (최근 사용 감소)
- MFA: 다중 인증 기반 삭제 방지
- Versioning: 파일 변경 추적
- 액세스 로그 생성 및 전송 가능
요약
| 구분 | 주요 역할 | 핵심 키워드 |
|---|
| EC2 | 가상 서버, 컴퓨팅 리소스 | 탄력성, 고가용성, Auto Scaling |
| S3 | 객체 스토리지, 데이터 저장 | 확장성, 내구성, 보안성 |
| 통합 | 클라우드 시스템 구성 | 유연성, 비용 효율성, 관리 편의성 |