IT/클라우드 / / 2022. 9. 15.

AWS EC2 알아보기

포스팅 목차

    Amazon EC2

    • Amazon에서 가장 인기 있는 서비스 중 하나
    • EC2 (Elastic Compute Cloud)는 AWS에서 제공하는 IaaS (Infrastructure as a Service)
    • EC2는 하나의 서비스가 아니라 많은 것을 포함하고 있다
      • 가상머신 임대 (EC2) → EC2 인스턴스
      • 가상 드라이브에 데이터 저장 (EBS)
      • 로드 분산 (ELB)
      • 오토 스케일링 그룹(ASG)을 통한 서비스 확장
    • 클라우드 작동 방식을 이해하기 위해서는 필수적으로 EC2를 익히는 것이 필요함

     

    EC2 Options (sizing, configuration...)

    • OS : 리눅스가 가장 인기 많고 윈도우와 맥 OS 도 있음
    • CPU : 컴퓨팅 성능과 코어 수 (CPU 갯수)
    • RAM : 램 용량
    • 저장 공간
      • Network-attached : EBS, EFS
      • hardware : EC2 Instance Store
    • Netword Card : 네트워크 카드 속도, 공용 IP 등..
    • Firewall rules : Security Group(보안 그룹) 선택
    • EC2 User Data (Bootstrap script) : 부팅시 인스턴스 구성을 위한 스크립트
      • 부트스트래핑 : 머신이 작동할때 실행하는 명령
      • 처음 시작할때 한번만 실행되며 다시 실행되지 않음
      • EC2 User Data 에 자동화 할 수 있는 작업들
        • 업데이트, 소프트웨어 설치
        • 인터넷을 통해 일반적인 파일 다운로드
        • 기타 구성에 필요한 작업
      • EC2 User Data의 명령은 root 계정으로 실행되어야 하므로 sudo 로 처리

     

    EC2 Instance Types

     

     

    1. General Purpose (범용)

    • 범용 인스턴스는 균형 있는 컴퓨팅, 메모리 및 네트워킹 리소스를 제공하며, 다양한 여러 워크로드에 사용할 수 있습니다.
    • 웹 서버 및 코드 리포지토리와 같이 이러한 리소스를 동등한 비율로 사용하는 애플리케이션에 적합합니다.

     

    2. Compute Optimized (컴퓨팅 최적화)

    • 컴퓨팅 최적화 인스턴스는 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합합니다.
    • 배치 처리 워크로드, 미디어 트랜스코딩, 고성능 웹 서버, HPC(고성능 컴퓨팅), 과학적 모델링, 전용 게임 서버 및 광고 서버 엔진, 기계 학습 추론 및 기타 컴퓨팅 집약적인 애플리케이션에 매우 적합합니다.
    • 주로 C 로 시작

     

    3. Memory Optimized (메모리 최적화)

    • 메모리에서 대규모 데이터 세트를 처리하는 워크로드를 위한 빠른 성능을 제공하기 위해 설계되었습니다.
      • 고성능, 관련/비관련 데이터베이스
      • 분산 웹 스케일 캐시 저장소
      • BI에 최적화된 인메모리 데이터베이스
      • 빅 비정형 데이터의 실시간 처리를 수행하는 애플리케이션
    • 주로 R (RAM) 로 시작, X1이나 Z1(대용량 메모리) 도 있음

     

    4. Accelerated Computing (가속화된 컴퓨팅)

    • 하드웨어 액셀러레이터 또는 코프로세서를 사용하여 부동 소수점 수 계산이나 그래픽 처리, 데이터 패턴 일치 등의 기능을 CPU에서 실행되는 소프트웨어보다 훨씬 효율적으로 수행합니다.

     

    5. Storage Optimized (스토리지 최적화)

    • 로컬 스토리지에서 매우 큰 데이터 세트에 대해 많은 순차적 읽기 및 쓰기 액세스를 요구하는 워크로드를 위해 설계되었습니다. 이러한 인스턴스는 애플리케이션에 대해 지연 시간이 짧은, 수만 단위의 무작위 IOPS(초당 I/O 작업 수)를 지원하도록 최적화되었습니다.
      • 매우 빈번한 온라인 트랜잭션 프로세싱(OLTP) 시스템
      • Relational & NoSQL 데이터베이스
      • 레디스와 같은 인메모리 데이터베이스의 캐시
      • 데이터 웨어하우징 애플리케이션
      • 분산된 파일 시스템
    • I, G 또는 H1으로 시작

     

    Instance Features

    • Amazon EC2 인스턴스는 애플리케이션을 배포, 관리 및 확장하는 데 도움이 되는 수많은 추가 기능을 제공
      • 버스트 가능한 성능 인스턴스 :고정 성능 인스턴스(예: M5, C5, R5)와 버스트 가능한 성능 인스턴스(예: T3) 중 선택할 수 있음.
      • 다양한 스토리지 옵션 : 요구 사항에 따라 여러 스토리지 옵션 중 선택
      • EBS 최적화 인스턴스 :
        • EC2 인스턴스에서 EBS 볼륨에 프로비저닝된 IOPS를 충분히 활용
        • M6g, M5, M4, C6g, C5, C4, R6g, P3, P2, G3 및 D2 인스턴스에서는 이 기능이 추가 비용 없이 기본적으로 활성화
      • 클러스터 네트워킹 : 클러스터 배치 그룹은 클러스터 내 모든 인스턴스 간 지연 시간이 짧은 네트워킹을 제공
      • 인텔 프로세서 기능

     

    Measuring Instance Performance

    • 인스턴스 성능 측정 이유 Amazon EC2를 사용하면 다양한 인스턴스 유형을 프로비저닝하여 CPU, 메모리, 디스크 및 네트워킹의 다양한 조합을 제공할 수 있습니다. 새 인스턴스를 실행하고 테스트를 병렬로 실행하는 것은 간단하며 적합한 인스턴스 유형을 확인하고 애플리케이션 아키텍처를 검증하기 위해 애플리케이션의 성능을 측정하는 것이 좋습니다. 또한 애플리케이션이 원하는 대로 확장할 수 있도록 엄격한 로드/확장 테스트를 하는 것이 좋습니다.
    AWS Instance Naming convention (예시)
    • m5.2xlarge
      • m : instance class (m은 범용인스턴스라는 의미)
      • 5 : generation (AWS 에서 하드웨어를 개선하여 새로운 세대의 하드웨어 출시)
      • 2xlarge : size within the instance class (large, 2xlarge, 4xlarge 등 인스턴스의 크기) 

    • 네이버 블로그 공유
    • 네이버 밴드 공유
    • 페이스북 공유
    • 카카오스토리 공유