본문 바로가기

AWS/Practitioner Essentials

[AWS] EC2 동작 원리

📌 EC2 - Amazon Elastic Compute Cloud


클라우드를 이용한 배포를 위해선 인터넷을 통해 접근할 수 있는 '가상화되어 있는 서버'가 필요함
EC2는 가상화된 서버에 접근하기 위해 사용하는 aws 서비스
EC2를 사용하면 온프레미스 방법보다 훨씬 유연하고 비용 효율적이며 더 빠르게 서버를 구성할 수 있음
(왜 빠르고 쉬운지 자세한 내용은 생략)

📌 EC2 작동 방법


인스턴스를 요청하고, 종료하고, 사용한만큼 비용을 지불하면 됨

  • 사용자가 원하는 EC2 인스턴스를 요청하면 인스턴스가 시작하고 가동됨
  • 필요한 작업이 끝나면 EC2 인스턴스를 종료하면 됨 → 불필요한 서버를 가지고 있지 않아도 됨
  • EC2 인스턴스의 사용량은 시간에 따라서 크게 달라질 수 있는데 사용한 만큼만 비용을 지불하면 됨

📌 EC2 사용 순서


  1. 시작
    템플릿을 선택하여 시작 (운영체제, 애플리케이션 서버, 애플리케이션)
    네트워크 트래픽을 제어할 보안 설정 지정
  2. 연결
    프로그램과 애플리케이션를 인스턴스에 연결
  3. 사용
    연결 후 바로 사용 가능, 명령을 실행하여 소프트웨어 설치, 스토리지 추가, 파일 복사 및 정리 등 작업 수행

📌 EC2 작동 원리


  • 인스턴스 가상머신이 호스트를 공유
    EC2 인스턴스는 AWS에서 관리하고 있는 물리적 호스트 위에서 실행되는 가상 머신
    하나의 호스트를 소유하지 않고 다른 여러 인스턴스와 공유하는 방식으로 사용
    이렇게 가상머신이 물리적인 리소스를 공유하는 것을 '멀티 테넌시'라고 함
  • 하이퍼 바이저로 인스턴스 분리
    호스트 머신에서 멀티 테넌시의 조정을 책임지는 것 : 하이퍼 바이저
    하이퍼 바이저는 가상머신을 분리하는 일을 책임짐 -> EC2 인스턴스는 서로 분리되어있음
  • 정리
    EC2 인스턴스는 호스트 머신을 공유하지만, 하이퍼 바이저에 의해 분리되므로 독립적으로 작동함

출처 : https://builders-apj.virtual.awsevents.com/media/t/1_ts03h1w2/281518962

📌 EC2 인스턴스의 특징


  • 운영체제 선택
    EC2 인스턴스를 프로비저닝할때 운영 체제로서 Windows, Linux, Mac OS를 선택할 수 있음.
    cf. 프로비저닝 :  IT 인프라를 설정하는 프로세스
  • 크기 조정
    기본적으로 인스턴스는 필요할 때 언제든지 크기를 늘리거나 줄일 수 있음
  • 네트워크 트래픽 보안 설정
    서버에 전달할 요청 유형과 액세스 유형을 공개로 할지 비공개로 할지를 설정할 수 있음

📌 EC2 인스턴스 패밀리


EC2 인스턴스는 어떤 유형의 작업에 최적화되있는지에 따라 구분되는데,
이렇게 구분되는 인스턴스 유형을 인스턴스 패밀리라고 함
cf. 글꼴을 font-family 라고 하는 것과 비슷
인스턴스 패밀리 종류 : 범용, 컴퓨팅 최적화, 메모리 최적화, 액셀러레이티드 컴퓨팅, 스토리지 최적화

  • 범용 인스턴스
    컴퓨팅, 메모리, 네트워크 리소스가 균형이 잡힌 어플리케이션에 적합
    e.g. 애플리케이션 서버, 백엔드 서버, 중소 규모 데이터베이스
    (프로젝트를 할 때 가장 많이 사용할 인스턴스 패밀리)
  • 컴퓨팅 최적화 인스턴스
    고성능 프로세서를 활용하는 컴퓨팅 집약적인 어플리케이션에 적합
    e.g. 게임 전용 서버, 고성능 컴퓨팅, 하이파워 컴퓨팅, 과학 모델링
  • 메모리 최적화 인스턴스
    메모리에서 대규모 데이터를 처리하는 어플리케이션에 적합
  • 액셀러레이티드 컴퓨팅 인스턴스
    하드웨어 액셀러레이터를 사용하는 어플리케이션에 적합
    e.g. 부동 소수점 수 계산, 그래픽 처리, 머신러닝 모델 학습
  • 스토리지 최적화 인스턴스
    대규모의 데이터를 빠르게 처리해야 하는 어플리케이션에 적합
    e.g. 데이터 웨어하우스나 하둡과 같은 워크로드
    cf. 워크로드란? 
    비즈니스 가치를 창출하는 리소스 및 코드 모음
    컴퓨터에서 실행되는 모든 프로그램은 워크로드로 간주할 수 있음

📌 EC2 요금제


출처 : https://builders-apj.virtual.awsevents.com/media/t/1_ts03h1w2/281518962

  • On Demand
    인스턴스를 실행한 기간만큼만 비용을 내는 요금제
    인스턴스 유형과 선택한 운영 체제에 따라 시간당 혹은 초당으로 과금됨 
    사전 계약이나 허가를 필요로 하지 않음
    처음 서비스를 가동하고 워크로드를 테스트하며 조정해 보고 싶을 때 자주 사용
  • Savings Plan
    일정한 사용량을 약정하는 대가로 EC2를 저렴하게 사용할 수 있는 요금제
    EC2뿐만 아니라 서버리스 컴퓨팅 옵션인 AWS Fargate와 AWS Lambda 사용량에도 적용할 수 있는 유연한 요금제
  • 예약 인스턴스
    사용량이 예측 가능한 워크로드에 적합한 요금제
    온디맨드 요금제 대비 최대 75% 저렴함
  • 스팟 인스턴스
    여분의 Amazon EC2 컴퓨팅 용량을 저렴하게 사용할 수 있는 요금제
    온디맨드 가격의 최대 90%까지 할인을 받아 사용할 수 있음
    단점 : AWS가 필요 시 언제든 인스턴스의 용량을 회수할 수 있음
    인스턴스 회수 2분 전에는 경보가 제공되며 이후 필요할 때 언제든지 다시 시작할 수 있음
    시작 및 종료 시간이 자유롭거나 중단을 견딜 수 있는 워크로드에 적합
  • 전용 호스트
    EC2가 동작하는 물리적 호스트를 전용으로 사용하는 요금제
    가장 큰 비용

'AWS > Practitioner Essentials' 카테고리의 다른 글

[AWS] 네트워크 보안  (0) 2023.09.10
[AWS] 글로벌 인프라  (0) 2023.09.10
[AWS] EC2 확장 개념  (0) 2023.09.09
[AWS] 클라우드 컴퓨팅의 개념과 모델  (0) 2023.09.09