1. EC2 (Elastic Compute Cloud)
1) Amazon EC2 개념
- 클라우드 가상 서버: 아마존에서 가장 인기 있는 서비스 중 하나로, 필요할 때마다 컴퓨팅 자원을 대여할 수 있는 IaaS (Infrastructure as a Service)입니다.
- EC2가 포함하는 서비스 범위:
- 가상 머신 대여 (EC2)
- 가상 드라이브에 데이터 저장 (EBS)
- 머신 간 부하 분산 (ELB)
- 서비스 자동 확장 (ASG - Auto Scaling Group)
2) EC2 사이징 및 구성 옵션 (Sizing & configuration)
- OS: Linux, Windows, Mac OS 지원
- CPU & RAM: 가상 머신에 사용할 컴퓨팅 성능과 메모리 크기
- Storage Space: 네트워크 연결형 스토리지(EBS, EFS) 및 물리적 하드웨어 스토리지(EC2 Instance Store)
- 네트워크 & 보안: 네트워크 카드(Public IP 등), 방화벽 규칙(Security Group)
- 초기 설정 스크립트: 부팅 시 실행되는 EC2 User Data
3) EC2 User Data
- 부트스트래핑(Bootstrapping): EC2 인스턴스가 처음 부팅될 때 업데이트 설치, 소프트웨어 설치, 파일 다운로드 등 초기 설정을 자동화하기 위해 실행되는 스크립트 또는 데이터입니다.
- 특징:
- 루트(Root) 계정 권한으로 실행됩니다.
- 인스턴스가 처음 시작될 때 단 한 번만 실행됩니다.
- 암호화되지 않은 텍스트로 저장되므로, 비밀번호 등 민감한 정보를 포함해서는 안 됩니다.
4) EC2 인스턴스 유형 (Instance Types)
- 인스턴스 명명 규칙 (예: m5.2xlarge): m (인스턴스 클래스), 5 (세대), 2xlarge (클래스 내 사이즈)
- General Purpose (범용): 웹 서버, 코드 저장소 등 컴퓨팅/메모리/네트워크 균형이 잘 맞는 다양한 작업에 적합합니다.
- Compute Optimized (컴퓨팅 최적화): 고성능 프로세서가 필요한 작업(배치 처리, 미디어 트랜스코딩, 머신러닝, 게임 서버 등)에 적합하며, 보통
C로 시작합니다 (예: C5, C6).
- Memory Optimized (메모리 최적화): 메모리에서 대규모 데이터 처리가 필요한 작업(고성능 데이터베이스, 실시간 빅데이터 처리 등)에 적합합니다.
- Storage Optimized (스토리지 최적화): 로컬 스토리지에서 대규모 순차적 읽기/쓰기가 필요한 작업(OLTP 시스템, 데이터 웨어하우스, 분산 파일 시스템 등)에 적합합니다.
2. Security Groups (보안 그룹)