본문 바로가기

AWS/Practitioner Essentials

[AWS] EC2 확장 개념

📌 Amazon EC2 Auto Scaling (규모 수평 조정)


  • 자동으로 EC2 인스턴스의 규모를 조정하는 서비스
  • 규모 조정 원리 : 필요한 인스턴스로만으로 시작하고, 
    변화하는 애플리케이션 수요에 따라 EC2 인스턴스를 자동으로 추가하거나 제거하여 규모를 조정
  • Auto Scaling이 관리하는 인스턴스들을 Auto Scaling group이라 함

어플리케이션 수요에 대응하는 방법
1) 동적 조정: 수요 변화에 대응
2) 정적 조정: 예측된 수요에 따라 적절한 수의 EC2 인스턴스 자동 예약

규모 조정 방식
1) 최소 용량 설정 : Auto Scaling group 생성 직후 시작되는 인스턴스 수
2) 희망 용량 설정 : 설정하지 않으면 최소 용량으로 설정됨
3) 최대 용량 설정 : 확장 시 최대 인스턴스 갯수


📌 Elastic Load Balancing (ELB)


  • ELB와 AutoScaling의 관계
    EC2 Auto Scaling이 규모를 조정한다면, ELB는 트래픽을 조정하는 AWS 서비스
    ELB과 EC2 Auto Scaling은 별도의 서비스이지만 서로 연동하여 사용함
  • ELB 작동 원리
    로드 밸런서가 Auto Scaling group으로 들어오는 모든 웹 트래픽의 단일 접점 역할을 함
    로드 밸런서에 요청이 들어오면 이를 여러 인스턴스로 분산하여 라우팅해줌
    → 트래픽 분산이 이루어짐
  • ELB는 리존(region) 수준에서 작동하므로 사용자가 추가로 설정하지 않아도 됨
    cf. ELB는 클라이언트-서버 통신 뿐 아니라 서버간 통신 등에도 사용됨

단일 접점이자 트래픽을 분산해주는 ELB


📌 서버리스 컴퓨팅 서비스 Lambda


  • 서버리스란?
    코드가 서버에서 실행되지만, 마피 서버가 없는 것처럼 서버를 관리할 필요가 없다는 뜻
    서버리스 컴퓨팅을 사용하면 어플리케이션에만 집중을 할 수 있다는 장점이 있음
  • Lambda란?
    서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있게 해주는 aws의 서버리스 컴퓨팅 서비스
    사실상 모든 유형의 애플리케이션 또는 백엔드 서비스 코드를 실행할 수 있음
    비용은 사용한 컴퓨팅 시간에 대해서만 비용을 지불하면 됨
    Lambda는 코드를 15분 미만으로 실행하도록 설계되었있음

📌 Lambda 사용 방법


  1. 코드를 Lambda 함수에 업로드
  2. AWS 서비스, 모바일 애플리케이션 또는 HTTP 엔드포인트와 같은 이벤트 소스에서 트리거가 발생하도록 설정
  3. 트리거가 감지되면 관리형 환경에서 코드가 자동으로 실행됨
  4. 사용한 컴퓨팅 시간에 대한 요금만 지불

Lambda 사용 방법

📌 컨테이너 오케스트레이션 서비스 - ECS와 EKS


  • 컨테이너란, 애플리케이션과 애플리케이션에 필요한 모든 구성을 모아 놓은 코드 패키지
  • 오케스트레이션이란, 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화하는 것
  • ECS와 EKS는 컨테이너 오케스트레이션 서비스
    ECS (Elastic Container Service) : 도커 관리 시스템
    EKS (Elastic Kubernetes Service) : 쿠버네티스 관리 시스템
  • ECS와 EKS모두 EC2에서 실행될 수 있음
    컨테이너식 어플리케이션을 서버리스로 호스팅하고 싶다면, AWS Fargate를 사용할 수도 있음
  • ❗정리❗
    어플리케이션을 서버를 관리하며 호스팅 → EC2
    어플리케이션을 서버리스로 호스팅 → Lambda
    컨테이너기반 어플리케이션을 서버를 관리하며 호스팅 → EC2
    컨테이너기반 어플리케이션을 서버리스로 호스팅 → Fargate

출처 : https://medium.com/@cloud_tips/eks-vs-ecs-vs-fargate-in-aws-158849d9cfc

 

출처 표시 안된 모든 이미지 출처 : https://explore.skillbuilder.aws/learn/course/13522/play/55710/aws-cloud-practitioner-essentials-korean-hangug-eo-gang-ui;lp=977

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

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