AWS - EC2

TopOfTheHead·2025년 12월 13일

클라우드 / AWS

목록 보기
7/38

Amazon EC2 ( Elastic Compute Cloud )
Amazon에서 서비스중인 다양한 OS어플리케이션들을 호스팅하는 IaaS 클라우드 서비스
클라이언트에게 안전하고 필요한 컴퓨팅 자원만큼 가상머신( EC2 Instance )으로 가상화하여 제공하는 서비스

클라이언트서버 어플리케이션 배포 시 AWSVirtual MachineEC2 인스턴스에 배포하도록 Provisioning하기 위한 서비스

EC2 인스턴스EBS를 통해 데이터를 저장 / ELB를 통해 부하 분산 / ASG를 통해 자동으로 Scale up이 가능

데이터베이스 서버, 웹서버, 백엔드 서버서버가 필요한 모든 작업에 활용.

  • 현업에서의 EC2서버배포
    。보통 백엔드 API 서버 배포 시 EC2에서 서버를 배포
    프론트엔드 서버를 배포하는 경우 vercel, netlify, AWS S3을 사용해서 배포.

  • 인스턴스는 항상 고가용성Stateless를 유지하도록 설계해야한다.
    인스턴스는 갑작스러운 Fail에 대비하여 안정성을 위해 다음을 준수해야한다.

    EC2 인스턴스Fail 시 자동으로 프로비저닝하는 방법이 필요
    EC2 인스턴스AZ 별로 분산할 수 있는 방법이 필요
    EC2 인스턴스 클러스터트래픽을 분산하는 방법이 필요
    인스턴스 각자가 Stateless하여 언제나 추가될 수 있고 삭제되어도 무방하도록 설계

    Auto Scailing, Elastic Load Balancer , EFS를 통해 해결가능
    • 고가용성 :
      EC2 인스턴스 중 하나가 고장나도 자동으로 복구가능하도록 아키텍처 설계

    • Stateless :
      EC2 인스턴스상태에 의존적이지 않음
      ▶ 어떤 특정 EC2 인스턴스에만 특정 정보( ex. 로그인 정보 )를 특별하게 저장하지 않는 성질

EC2의 기능

  • On Demand 요금모델을 통해 초 단위로 비용을 산정하여 HW 자원 제공
    EC2를 사용하기위해 약정할 필요없이 초 단위로 비용을 산정

  • 확장성 ( Scalabilitiy )
    。수백개의 EC2 instance를 임대하도록 설정 가능

  • EC2 instance를 생성 및 생명주기를 관리

  • 여러 EC2 기반 AWS 서비스와 연동이 가능
    ¸ EBS, ELB ( Elastic Load Balancer ) , Auto Scailing , ...
    • EBS (Elastic Block Store)
      EC2 instancestorage를 attach.

    • 복수의 EC2 instanceLoad balancing을 설정
      。많은 사람들이 사용하는 어플리케이션은 단일 EC2 instance에서 구동할 수 없고, 여러 EC2 instance로 구동하여 로드 밸런싱하여 사용.

    • Auto Scailing
      어플리케이션에 많은 사용자가 사용 시 개발자가 능동적으로 Virtual Machine Instance의 수를 증가시켜서 Load Balancing을 수행.

EC2 Instance
EC2에서 다양한 TypeSize로 구성된 컴퓨팅을 담당하는 가상서버 역할의 가상머신
가상화EC2 인스턴스프로비저닝하여 해당 EC2 인스턴스 상에 서버 어플리케이션을 구동하여 배포를 수행.

인스턴스 생성 시 키 페어를 정의하여 외부에서 인스턴스콘솔에 대해 접근 시 키 페어를 통해 검증을 수행

。단일 가용영역 ( AZ ) 내 존재하여 다른 리전에서 해당 EC2 인스턴스의 확인이 불가능하다.
서울 리전에서 구동중인 EC2 인스턴스버지니아 리전에서 확인 불가능.
EC2 인스턴스EBS도 동일한 가용영역에 저장

EC2 인스턴스IaaS이므로 직접 개발자OS 등을 설치해야하는 번거로움이 존재.
EC2 인스턴스를 생성 시 템플릿 역할의 AMI에 정의된 OS, SW대로 설치하도록하여 이러한 단점을 해소

。기본적으로 EC2 인스턴스의 모든 포트는 비활성화
▶ 하나 이상의 보안그룹을 설정하여 트래픽이 송수신될 포트를 활성화

  • EC2 인스턴스 설정
    OS : Linux / Windows / Mac OS
    CPU / RAM : Instance Family
    저장장치 : EBS & EFS
    네트워크 : Public IP
    방화벽 : 보안그룹
    Bootstrap 스크립트 : EC2 User Data

  • EC2 인스턴스의 데이터 저장 방식
    EC2 Instance의 데이터 저장방식으로 EBS / Instance Store / EFS가 존재
    ▶ 저장방식이 간접적 / 직접적의 차이

    EBS 방식 : EC2 인스턴스EBS를 동일 AZ네트워크를 통해 연결
    EC2 인스턴스 삭제하더라도 EBS를 통해 데이터를 보존가능
    네트워크로 연결되어 속도가 느린 단점이 존재.

    Instance Store 방식 : EC2 인스턴스를 삭제 시 데이터도 함께 삭제
    물리적으로 연결되어 속도가 빠른 장점이 존재.

EC2 Instance 유형 :
EC2 Instance의 용도에 따른 유형 별로 사용목적에 따라 최적화한 HW 구성
CPU / Memory / Storage / Network / EBS 전송률사용목적별로 최적화한 조합을 제공

  • Instance Type :
    EC2 Instance 생성에 활용할 HW를 선택.

    type 별로 이름이 존재
    t유형, m유형, inf유형 등이 있으며 세대별로 숫자 부여
    ex. m5 : m유형 인스턴스의 5세대

    Instance Type 종류

    • General Purpose
      컴퓨팅 / 메모리 / 네트워크 간 전체 HW 자원의 균형을 유지하는 범용 인스턴스 유형
      웹 서버 구동 용도로 적합

      ex ) t3, t2, m4 , ...

    • Compute Optimized
      。고사양의 CPU를 활용하여 컴퓨팅집약적인 작업에 최적화된 인스턴스 유형
      고성능 웹서버 / 배치 작업 / 머신러닝 등의 CPU 연산이 많이 요구되는 작업에 적합

      ex ) c (CPU)로 시작하는 인스턴스 유형 : c6g , c5 , ...


    • Memory Optimized
      。고사양의 메모리를 활용하여 대규모 데이터셋을 활용하는 작업에 최적화된 인스턴스 유형
      인메모리 DB, 캐시저장소, 실시간 대규모 비정형 데이터 처리 어플리케이션 등의 용도로 사용됨

      ex ) r (RAM)로 시작하는 인스턴스 유형 : r6g , r5 , ...


    • Storage Optimized
      Local Storage에서 대규모 데이터셋에 접근 시 적합한 인스턴스 유형
      OLTP, RDBMS, NoSQL , 분산 파일 시스템 등에 사용

      ex ) i, d , h1 로 시작하는 인스턴스 유형 : i3 , d2, h1 , ...


  • Instance Size :
    。각 Instance Type에서 제공하는 다양한 크기
    Instance Type 별로 Instance Size를 설정하여 사용할 CPU 수, 메모리 크기 등을 결정
    ex ) 인스턴스타입.nano / .micro / .small / .medium / .xlarge / .4xlarge / 16.xlarge / 8xlarge ...

    메모리 최적화 Instance Typer5Instance Size도 크면서 다른 인스턴스 유형에 비해 압도적으로 많은 RAM 용량을 가진 것을 확인 가능.

EC2 인스턴스 생명주기
생명주기에 따른 EC2 인스턴스 상태의 변화

  • 실행대기 ( Pending )
    。초기 EC2 인스턴스가상화할 경우 Pending 상태가상화되어 생성되며 이후 Running 상태로 전환

  • 실행 ( Running )
    EC2 인스턴스가 구동되어 프로비저닝 중인 상태

    EC2 인스턴스 비용이 청구되는 시점

  • 재부팅 ( Rebooting )
    EC2 인스턴스OS를 재부팅
    EC2 인스턴스 자체를 재실행하는게 아니므로 Public IPv4 Address가 재설정되지 않는다.

  • 중지 ( Stopped )
    EC2 인스턴스의 구동이 정지된 상태
    Running 상태에서 Stopping 상태를 거쳐서 정지됨
    ▶ 재실행 시 다시 Pending 상태를 거쳐서 Running 상태로 전환

    EC2 인스턴스의 요금은 미청구되나, 연관된 다른 AWS 서비스 ( EBS 등 )은 계속 청구.

    。중지 후 재시작 시 할당된 EC2 인스턴스ENIPublic IPv4 Address가 재설정.

    Instance Store 방식으로 저장된 EC2 인스턴스중지가 불가능

  • 종료 ( Terminated )
    EC2 인스턴스가 완전히 종료되어 제거된 상태
profile
공부기록 블로그

0개의 댓글