클라우드

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 호출 로그 기록