클라우드
AWS EC2
탁재민
2024. 5. 29. 22:05
클라우드에서 확장 가능하고 안전한 컴퓨팅 용량을 제공하는 웹 서비스
1. 인스턴스 타입
- 일반 목적형: 균형 잡힌 컴퓨팅, 메모리, 네트워크 리소스를 제공
- 컴퓨팅 최적화형: 높은 컴퓨팅 성능(메모리 대비 vCPU 비율이 높음)
- 메모리 최적화형: 메모리 용량이 큼
- 가속화 컴퓨팅형: 최신 GPU 기반
- 스토리지 최적화형: 스토리지 용량이 훨씬 크고, 초고속 I/O가 제공
2. 스토리지 옵션
- EBS (Elastic Block Store): 블록 스토리지 볼륨을 제공, 인스턴스에 연결하여 사용
- SSD 기반: io1, io2, gp2, gp3
- HDD 기반: st1, sc1
- EC2 인스턴스 스토어: 임시 저장소로, 인스턴스 종료 시 데이터가 삭제
- EFS (Elastic File System): 공유 파일 스토리지, 여러 인스턴스에서 동시 액세스 가능
- S3 (Simple Storage Service): 객체 스토리지 서비스, 정적 웹 콘텐츠, 백업, 데이터 아카이빙에 적합
3. 네트워크 기능
- VPC (Virtual Private Cloud): 사용자 정의 네트워크 환경, 서브넷, 라우팅, 방화벽 설정
- Elastic IP: 고정된 퍼블릭 IP 주소, 인스턴스 간 전환 가능
- Elastic Load Balancer (ELB): 트래픽 분산, 고가용성 보장
- Enhanced Networking: 높은 패킷 처리량과 낮은 지연 시간을 제공
- Placement Groups: 인스턴스 배치를 통해 높은 네트워크 성능과 낮은 지연 시간 보장
4. 보안 및 IAM
- Security Groups: 인스턴스의 인바운드 및 아웃바운드 트래픽 제어
- IAM (Identity and Access Management): 세분화된 권한 설정, 사용자 및 역할 기반 접근 제어
- Key Pairs: SSH를 통해 인스턴스에 안전하게 접속
- VPC 피어링: 여러 VPC 간 안전한 트래픽 라우팅
- AWS Shield: DDoS 공격 방어
- AWS WAF: 웹 애플리케이션 방화벽을 통해 웹 공격 방지
5. 관리 및 모니터링
- AWS CloudWatch: 리소스 모니터링 및 경보 설정
- AWS CloudTrail: 계정 활동 기록 및 로그
- AWS Systems Manager: 인스턴스 및 애플리케이션 관리
- Auto Scaling: 수요 변화에 따라 인스턴스 자동 조정
- Elastic Beanstalk: 애플리케이션 배포 및 관리 자동화
사용 사례
1. 웹 애플리케이션 호스팅
- LAMP 스택: Linux, Apache, MySQL, PHP 기반의 웹 애플리케이션 호스팅
- 웹 서버: Apache, Nginx 등을 사용하여 웹 서버 구성
2. 빅 데이터 및 분석
- Hadoop/Spark: 빅 데이터 처리 프레임워크 실행
- 데이터 웨어하우징: Redshift와 통합하여 대규모 데이터 분석
3. 머신 러닝 및 AI
- ML 모델 훈련: GPU 인스턴스를 사용한 대규모 모델 훈련
- 실시간 예측: AI 모델을 배포하여 실시간 예측 수행
4. 게임 서버 호스팅
- 멀티플레이어 게임: 낮은 지연 시간과 높은 처리량을 요구하는 게임 서버 호스팅
- 유연한 스케일링: 플레이어 수에 따라 서버 자동 확장 및 축소
5. CI/CD 및 개발 환경
- Jenkins: CI/CD 파이프라인 구축
- 개발 및 테스트: 다양한 환경에서 애플리케이션 개발 및 테스트
비용 구조
1. 인스턴스 비용
- 온디맨드 인스턴스: 사용한 만큼 지불, 장기 계약 없음
- 리저브드 인스턴스: 1년 또는 3년 기간 예약, 비용 절감
- 스팟 인스턴스: 유휴 컴퓨팅 용량을 경매 방식으로 제공, 매우 저렴
2. 스토리지 비용
- EBS 비용: 사용한 스토리지 용량과 IOPS에 따라 비용 부과
- S3 비용: 저장 용량, 요청 수, 데이터 전송에 따라 비용 부과
- EFS 비용: 저장 용량에 따라 비용 부과, 프로비저닝된 스루풋 옵션 제공
3. 데이터 전송 비용
- 인터넷 데이터 전송: 인바운드는 무료, 아웃바운드는 요금 부과
- VPC 피어링: 피어링된 VPC 간의 데이터 전송 요금
- 내부 데이터 전송: 동일 가용 영역 내 전송은 무료, 가용 영역 간 전송은 요금 부과
4. 추가 서비스 비용
- Elastic IP: 사용되지 않는 Elastic IP에 대해 요금 부과
- 로드 밸런서: 사용한 로드 밸런서 시간과 처리된 데이터 양에 따라 비용 부과
- Auto Scaling: 스케일링 작업에 따라 요금 부과
EC2 설정 및 관리
1. 인스턴스 생성
- AWS Management Console: 콘솔에서 인스턴스 시작
2. 스토리지 설정
- EBS 볼륨 생성 및 연결: 인스턴스 시작 시 또는 이후에 EBS 볼륨 연결
- 스냅샷 생성: 데이터 백업 및 복구를 위한 EBS 스냅샷 생성
3. 네트워크 설정
- VPC 설정: 사용자 정의 VPC 생성, 서브넷, 라우팅 테이블 구성
- 보안 그룹 구성: 인스턴스의 인바운드 및 아웃바운드 트래픽 규칙 설정
4. 보안 설정
- IAM 역할 할당: 인스턴스에 IAM 역할을 할당하여 권한 관리
- 키 페어 생성: 인스턴스에 안전하게 접속하기 위한 SSH 키 페어 생성
5. 모니터링 및 로깅
- CloudWatch 설정: 지표 모니터링, 경보 설정
- CloudTrail 설정: 계정 활동 및 API 호출 로그 기록