AWS SAA 준비하기 #1. EC2

snooby·2022년 7월 28일
0

☁ Cloud

목록 보기
4/24
post-thumbnail

EC2 다양한 유형 존재

컴퓨팅, 메모리, 스토리지 기능 리소스 조합 가능

  1. 고성능 데이터베이스 → 메모리 최적화

    : 대용량 데이터 세트 처리하는 워크로드

  2. 데이터 웨어하우징 어플리케이션 → 스토리지 최적화

    : 로컬 스토리지의 대규모 데이터 세트에 대한 높은 순차적 읽기 및 쓰기 액세스가 필요한 워크로드

  3. 컴퓨팅, 메모리, 네트워킹 리소스 균현 → 범용

    : 웹 서버 및 코드 리포지토리와 같이 이러한 리소스를 동등한 비율로 사용하는 애플리케이션

  4. 고성능 프로세서 → 컴퓨팅 최적화

    : 배치 처리 워크로드, 미디어 트랜스코딩, 고성능 웹 서버, HPC(고성능 컴퓨팅), 과학적 모델링,

    전용 게임 서버 및 광고 서버 엔진, 기계 학습 추론

EC2 다양한 요금

  1. 온디맨드 : 개발 & 테스트 등 예측할 수 없는 중단할 수 없는 경우 적합,

      사용한 컴퓨팅 시간에 대해서만 비용지불
  2. Saving Plans :일정 컴퓨팅 사용량 약정 (+ 기간약정시, 72%할인)

  3. 예약 인스턴스 : 온디맨드 인스턴스에 적용, 1년/3년 약정, 약정 끝나고 사용지 온디맨드 요금 부과

  4. 스팟 인스턴스 : 자유롭게 요청하여 그 당시 사용가능한 인스턴스 있다면 사용가능

  5. 전용 호스트 : 사용자 전용 인스턴스 갖춘 물리적 서버

EC2 확장

Amazon EC2 Auto Scaling

필요한 리소스만으로 시작하고 수요변화에 따라 자동으로 확장 및 축소

  1. 동적 조정 : 수요 변화에 대응
  2. 예측 조정 : 예측된 수요에 따라 적절한 수의 EC2 인스턴스 자동 예약
  3. 수직 확장 : 실행중인 장치에 성능 추가
  4. 수평 확장 :

Auto Scailing 동작 → 3가지 서비스의 조화

  1. Auto Scaling가 정의된 필요한 서버 생성
  2. ELB (Elastic Load Balancing) L4로 서버를 서비스에 추가
  3. CloudWatch 크기 조정 정책 - 모니터 - 5분 동안 CPU 사용률 xx% 이상이면 적용

Elastic Load Balancing

트래픽 리디렉션

애플리케이션 트래픽을 인스턴스들에 분산하는 서비스

로드 밸런서 : Auto Scaling 그룹으로 들어오는 모든 웹 트래픽의 단일 접점

메시징 및 대기열

  1. Amazon Simple Queue Service (SQS)

    메시지 대기열 서비스, 폴링

    용량에 상관없이 사용가능

    페이로드(메시지에 포함된 데이터) 전달되기 전까지 보호

    소프트웨어 구성 요소 간에 메시지를 전송, 저장, 수신

  2. Amazon Simple Notification Service (SNS)

    게시.구독 서비스, 푸쉬

    구독자는 웹서버, 이메일 주소, AWS Lambda 함수 또는 그 밖의 여러 옵션 가능

위의 방식들은 마이크로서비스 접근 방식으로 구성

마이크로서비스 접근 방식에서는 애플리케이션 구성 요소가 소결합

→ 단일 구성 요소에 장애가 발생해도 다른 구성 요소들은 서로 통신하기 때문에 계속 작동

: 소결합 때문에 전체 애플리케이션에서 장애가 발생하는 것이 방지

서버리스 컴퓨팅

EC2 → 가상서버를 실행할 수 있는 서비스

EC2에서 실행하려는 어플리케이션이 있는경우?

  1. 인스턴스 (가상서버)를 프로비저닝
  2. 사용자 코드 업로드
  3. 어플리케이션이 실행되는 동안 인스턴스 관리

↔ 

서버리스

  1. 코드가 서버에서 실행되지만 이러한 서버를 프로비저닝하거나 관리할 필요 x

  2. 어플리케이션을 자동으로 확장가능 (유연성)

    → 처리량 및 메모리와 같은 소비단위를 수정가능

ex) AWS Lambda

AWS Lambda

서버리스

서버를 프로비저닝하거나 관리할 필요없이 코드를 실행할 수 있는 서비스

사용한 컴퓨팅시간에 대해서만 비용 지불

모든 유형의 어플리케이션 또는 백엔드 서비스 코드를 실행 가능, 관리 x

→ 작동방식

컨테이너

컨테이너식 어플리케이션 빌드 실행 가능

컨테이너? 어플리케이션의 코드와 종속성을 하나의 객체로 패키징하는 표준 방식을 제공

  1. Amazon Elastic Container Service(Amazon ECS)

    컨테이너식 애플리케이션을 실행하고 확장할 수 있는 확장성이 뛰어난 고성능 컨테이너 관리 시스템

    Docker 컨테이너 지원

  2. Amazon Elastic Kubernetes Service(Amazon EKS)

    Kubernetes를 실행하는데 사용 가능 완전 관리형 서비스

    (*Kubernetes : 컨테이너식 애플리케이션을 대규모로 배포하고 관리하는데 사용하는 오픈소스)

  3. AWS Fargate

    컨테이너용 서버리스 컴퓨팅 엔진

    Amazon ECS와 Amazon EKS에서 작동!

profile
데이터를 가치있게 다루고 싶은 개발자 🐥

0개의 댓글