병훈's Blog

[CLF] AWS ELB, SNS, SQS, Lambda, ECS, EKS, Fargate 본문

자격증/AWS Cert

[CLF] AWS ELB, SNS, SQS, Lambda, ECS, EKS, Fargate

thdqudgns 2024. 3. 29. 11:23

Elastic Load Balancing

 Elastic Load Balancing은 들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스와 같은 여러 리소스에 자동으로 분산하는 AWS 서비스입니다. 

 

 로드 밸런서는 Auto Scaling 그룹으로 들어오는 모든 웹 트래픽의 단일 접점 역할을 합니다. 즉, 들어오는 트래픽의 양에 맞춰 Amazon EC2 인스턴스를 추가하거나 제거하므로 이러한 요청이 로드 밸런서로 먼저 라우팅됩니다. 그런 다음 요청을 처리할 여러 리소스로 분산됩니다. 예를 들어 Amazon EC2 인스턴스가 여러 개인 경우 Elastic Load Balancing은 워크로드를 여러 인스턴스에 분산하므로 어느 한 인스턴스가 대량으로 워크로드를 처리할 필요가 없습니다. 

 

 Elastic Load Balancing과 Amazon EC2 Auto Scaling은 별도의 서비스이지만 서로 연동하여 Amazon EC2에서 실행되는 애플리케이션이 뛰어난 성능과 가용성을 제공하도록 돕습니다.

인스턴스에 요청을 균등하게 분산할 수 있도록 안내한다.

 

Amazon Simple Notification Service(Amazon SNS)

 게시 및 구독 서비스입니다. 게시자는 Amazon SNS 주제를 사용하여 구독자에게 메시지를 게시합니다. Amazon SNS에서 구독자는 웹 서버, 이메일 주소, AWS Lambda 함수 또는 그 밖의 여러 옵션이 될 수 있습니다. 

구독자는 구독한 특정 주제에 대해서만 업데이트를 받게 됩니다.

 

Amazon Simple Queue Service(Amazon SQS)

 메시지 대기열 서비스입니다. Amazon SQS를 사용하면 메시지 손실이나 다른 서비스 사용 없이 소프트웨어 구성 요소 간에 메시지를 전송, 저장, 수신할 수 있습니다. Amazon SQS에서는 애플리케이션이 메시지를 대기열로 전송합니다. 사용자 또는 서비스는 대기열에서 메시지를 검색하여 처리한 후 대기열에서 삭제합니다.

 

 대기열을 통해 요청자와 응답자의 업무가 분리됩니다. 그렇기에 어느 하나에 종속되는 것이 아니라, 각각 독립적을 작업을 수행할 수 있습니다.

(좌) 대기열이 없는 상태 / (우) 대기열이 있는 상태

 

AWS Lambda

 람다를 설명하기 전에, 프로비저닝과 서버리스가 무엇인지 보겠습니다. 프로비저닝이란 사용자가 요청한 IT 자원을 사용할 수 있는 상태로 준비하는 것을 말합니다. 즉 Server setting 이죠. 서버리스코드가 서버에서 실행되지만 이러한 서버를 프로비저닝하거나 관리할 필요가 없다는 뜻입니다. 

 

 서버리스 컴퓨팅을 사용하면 서버를 유지 관리하는 대신 새로운 제품과 기능을 혁신하는 데 더 집중할 수 있습니다. 또 다른 이점은 서버리스 애플리케이션을 자동으로 확장할 수 있는 유연성입니다. 서버리스 컴퓨팅은 처리량 및 메모리와 같은 소비 단위를 수정하여 애플리케이션의 용량을 조정할 수 있습니다. 

 

 AWS Lambda서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있는 서비스입니다. AWS Lambda를 사용하는 경우 사용한 컴퓨팅 시간에 대해서만 비용을 지불합니다. 코드를 실행하는 동안에만 요금이 부과됩니다. 사실상 모든 유형의 애플리케이션 또는 백엔드 서비스 코드를 실행할 수 있으며 이를 관리할 필요는 전혀 없습니다. 예를 들어 간단한 Lambda 함수로 업로드되는 이미지의 크기를 AWS 클라우드에 맞춰 자동으로 조정하는 함수가 있을 수 있습니다. 이 경우 새 이미지를 업로드할 때 함수가 트리거됩니다. 

 

Amazon Elastic Container Service(Amazon ECS)

 ECS와 EKS를 보기 전에 컨테이너와 오케스트레이션에 대해 보겠습니다. 컨테이너는 애플리케이션의 코드종속성을 하나의 객체로 패키징하는 표준 방식을 제공합니다. 보안성, 신뢰성, 확장성 요구 사항이 매우 중요한 프로세스 및 워크플로에도 컨테이너를 사용합니다. 컨테이너 오케스트레이션 서비스는 컨테이너식 애플리케이션을 배포, 관리, 확장하는 데 도움을 줄 수 있습니다. ECS와 EKS는 컨테이너 오케스트레이션을 제공하는 서비스입니다.

 

 

 Amazon Elastic Container Service(ECS)는 AWS에서 컨테이너식 애플리케이션을 실행하고 확장할 수 있는 확장성이 뛰어난 고성능 컨테이너 관리 시스템입니다. Amazon ECS는 Docker 컨테이너를 지원합니다. Docker는 애플리케이션을 신속하게 구축, 테스트, 배포할 수 있는 소프트웨어 플랫폼입니다. AWS는 오픈 소스 Docker Community Edition 및 구독 기반 Docker Enterprise Edition의 사용을 지원합니다. Amazon ECS에서는 API 호출을 사용하여 Docker 지원 애플리케이션을 시작 및 중지할 수 있습니다.

 

Amazon Elastic Kubernetes Service(Amazon EKS)

 Amazon Elastic Kubernetes Service(Amazon EKS)AWS에서 Kubernetes를 실행하는 데 사용할 수 있는 완전관리형 서비스입니다. Kubernetes컨테이너식 애플리케이션을 대규모로 배포하고 관리하는 데 사용할 수 있는 오픈 소스 소프트웨어입니다. Kubernetes 애플리케이션의 새로운 기능이 릴리스되면 Amazon EKS로 관리되는 애플리케이션에 이러한 업데이트를 손쉽게 적용할 수 있습니다.

 

AWS Fargate

 AWS Fargate컨테이너용 서버리스 컴퓨팅 엔진입니다. Amazon ECS와 Amazon EKS에서 작동합니다. AWS Fargate를 사용하는 경우 서버를 프로비저닝하거나 관리할 필요가 없습니다. AWS Fargate는 자동으로 서버 인프라를 관리합니다. 애플리케이션 혁신과 개발에 더 집중할 수 있으며, 컨테이너를 실행하는 데 필요한 리소스에 대해서만 비용을 지불하면 됩니다.


출처: https://explore.skillbuilder.aws/learn/course/13522/play/107682/aws-cloud-practitioner-essentials-korean-na-hangug-eo-gang-ui

728x90
728x90