개요


해당 페이지에서는 Aws devops professional 자격증 취득을 위한 과정들과 배운 내용을 기록합니다.

 

회사에서 클라우드 관련 팀에 소속되어 있다보니, 자격증 취득 관련 요구 사항이 빗발치는 것 같다.

Aws 클라우드 서비스가 현 시점에서는 글로벌 시장 점유율 1위에 해당하는 것은 맞다.

그러나, 이러한 추세는 언제 바뀔지 모르기에 필요 이상의 시간을 투자하기는 싫어서 

"최대한 적은 시간을 들여서, 자격증도 따면서 클라우드 관련 기본 개념을 익힐 수 있는 방법"으로 

아래와 같은 전략을 세워 보았다.

 

1. 새로운 검색 ai로 각광 받고 있는 ChatGPT를 통해 자격증 취득을 위한 핵심 추천 서비스 50가지의 명칭과 단순 설명 목록을 추천 받는다.
(필자의 경우, 이미 Aws 기반의 프로젝트를 해본 경험이 있으므로, 용어들이 그렇게 낯설지는 않을 것이다.)

2. 위의 목록을 핵심 개념 위주로 최대한 외운다.

3. 시험 Dump를 조금이나마 이해한 상태로 답을 외운다.

 

ChatGPT를 통해 추천 받은 핵심 서비스 50가지


질문 : AWS devops professional 시험을 보기 전에 반드시 알아야 할 AWS 서비스 중요한 순서대로 명칭과 간단한 설명 위주로 목록을 나열해줘

  1. Amazon Elastic Compute Cloud (EC2): scalable computing capacity in the AWS Cloud
    Computing을 위해 OS 및 사양을 선택하여 Instance를 생성 & 접속 후, 서버 PC 같이 원하는 작업을 수행할 수 있다. 
    (AS-IS) 물리 서버 PC를 두고, OS 설치, 이중화 처리 및 물리 서버 컴퓨터 관리 및 장애에 대한 모든 문제를 직접 대응
  2. Amazon Simple Storage Service (S3): scalable, high-speed, web-based cloud storage
    프로그램 구현 시, 필수적으로 요구되는 이미지 및 첨부 파일 저장 서버를 클라우드에서 관리 및 제공해준다.
    (AS-IS) 물리 서버 PC 또는 EC2 상에, 파일 관리 프로그램을 설치하여 접속 정보, 장애 대응, 백업, 복구 등에 대한 모든 고려사항을 직접 설정 및 대응
  3. Amazon Virtual Private Cloud (VPC): isolated virtual network dedicated to your AWS account
    AWS 계정에 붙여서 독립된 가상 네트워크를 만들어준다?(용도는 보안?)
  4. AWS Identity and Access Management (IAM): securely control access to AWS services and resources
    프로젝트에서 사용하게 되는 AWS 클라우드 서비스와 자원에 대한 유저간 서비스간 접근 권한을 관리 한다.
  5. Amazon CloudWatch: monitor AWS resources and the applications you run on the AWS Cloud
    프로젝트에서 사용하게 되는 AWS 클라우드 서비스를 연동해서, 모니터링할 수 있는 기능을 제공한다.
  6. AWS Elastic Beanstalk: fully managed platform for deploying and running web applications and services
    웹 앱과 서비스를 배포하고 실행시키는 용도의 완전 관리형 플랫폼이다.
  7. Amazon Relational Database Service (RDS): managed relational database service for hosting databases in the cloud
    프로그램 구현 시, 필수적으로 요구되는 DB 중 관계형 DB(Mysql, MariaDB...)를 클라우드에서 관리 및 제공해준다.
    (AS-IS) 물리 서버 PC 또는 EC2에 접속하여, 직접 관계형 DB(Mysql, Maria DB)를 설치하고 운영상 발생할 수 있는 모든 장애, auto-scale 이슈, back-up, recovery와 관련하여 직접 설정 및 대응
  8. AWS CloudFormation: automate the creation, deployment, and management of AWS resources
    프로젝트 에서 사용하게 되는 AWS 클라우드 자원의 생성, 배포, 관리를 자동화해주는 기능을 제공한다.
  9. Amazon Elastic Block Store (EBS): block level storage volumes for use with Amazon EC2 instances
    EC2 인스턴스 생성 시, 사용될 수 있는 스토리지 볼륨 옵션으로 무슨 핵심 장점이 있으려나? 
  10. AWS Lambda: run code without thinking about servers
    별도의 서버에 대한 고려 없이 코드 조각을 실행할 수 있도록 해주는 서비스이다. 호출 수와 실행 시간으로 비용이 산정된다. 활용 용도의 따라, 간단한 배치 작업도 코드 몇 줄로 작성할 수 있다는 장점이 있다.
  11. Amazon Route 53: scalable Domain Name System (DNS) service
    auto-scale이 가능하게 해주는 DNS 서비스이다.
  12. Amazon S3 Transfer Acceleration: fast and reliable uploads to S3 over the public internet using the AWS global network of Edge locations
    Edge location의 글로벌 네트워크를 통해 전세계 어디서든 빠르고 안전하게 S3로 파일을 저장하는 기술이다?
  13. AWS CodeBuild: fully managed build service that compiles source code, runs tests, and produces software packages that are ready to deploy
    소스 코드를 컴파일 하고, 테스트하고, 배포 준비가 된 배포결과물들을 제공해주는 완전 관리형 빌드 서비스이다.
    (AS-IS) 직접 build 명령어, test 명령어를 통해 작업 수행
  14. AWS CodeDeploy: fully managed deployment service that automates software deployments to a variety of computing services, including Amazon EC2 and AWS Lambda
    다양한 AWS 컴퓨팅 자원에 대한 SW 배포를 자동화 해주는 완전 관리형 배포 서비스이다.
    (AS-IS) 어플리케이션 배포 후, 배포 결과물을 각 개별 환경의 배포 위치에 덮어씌우는 과정이 필요
  15. AWS CodePipeline: fully managed continuous delivery service for fast and reliable application and infrastructure updates
    빠르고 신뢰할 만한 어플리케이션을 위해 지속적은 전달 서비스를 제공하는 완전 관리형 서비스이다.
    (AS-IS) 물리 서버 또는 EC2 에 CI/CD 파이프라인 기능을 제공하는 프로그램(Jenkins) 등을 설치 후 관리
  16. AWS Systems Manager: unified management solution for DevOps administration and operations
    Devops 관리와 운영을 위한 통합 관리 솔루션이다.
  17. AWS CloudTrail: record AWS Management Console sign-in events and all API calls for auditing and compliance purposes
    감사 또는 회사 규율 준수를 목적으로 콘솔의 로그인 이벤트와 모든 API 호출을 기록해주는 서비스이다.
  18. Amazon DynamoDB: managed NoSQL database service that provides fast and predictable performance with seamless scalability
    프로그램 구현 시, 필수적으로 요구되는 DB 중 비관계형 DB(MongoDB...)를 클라우드에서 관리 및 제공해준다.
    (AS-IS) 물리 서버 PC 또는 EC2에 접속하여, 직접 비관계형 DB(Mongo DB)를 설치하고 운영상 발생할 수 있는 모든 장애, auto-scale 이슈, back-up, recovery와 관련하여 직접 설정 및 대응
  19. Amazon SQS: managed message queue service for reliably transmitting messages between distributed application components
    분산된 어플리케이션 컴포넌트간 메시지를 주고 받기 위해 message queue 방식을 사용할 때, 해당 기능을 안정적으로 제공해주는 관리형 서비스이다.
    (AS-IS) message를 queuing 해주는 프로그램을 직접 EC2 상에서 실행시키고 관리하여야 함
  20. Amazon SNS: managed publish/subscribe messaging service for event-driven serverless architectures
    별도의 서버를 두지 않고, Event 기반으로 특정 서비스나 로직을 실행시키는 아키텍처를 위해 Message publish/subscribe 방식을 사용할 때, 해당 기능을 안정적으로 제공해주는 관리형 서비스이다.
    (AS-IS) message를 publish하고 subscribe 하는 프로그램을 직접 EC2 상에서 실행시키고 관리하여야 함
  21. Amazon API Gateway: create, publish, and manage APIs for web and mobile applications
    웹과 모바일 어플리케이션 API들을 해당 서비스에 붙이면 auto-scaling 및 분산 등 여러가지로 유용한 기능을 제공한다.
  22. AWS X-Ray: analyze and debug applications in production
    운영 중인 어플리케이션을 분석하고 디버깅할 수 있도록 추적을 도와주는 서비스이다.
  23. Amazon Kinesis: real-time data streaming service for processing big data in real-time
    실시간으로 빅데이터를 처리할 수 있도록 실시간 데이터를 스트리밍(흘려보내주는)해주는 서비스이다. Kinesis Firehose를 사용하면 대용량의 실시간 데이터를 버터 단위로 모아서 스토리지에 저장시킬 수 있다.
  24. Amazon CloudFront: global content delivery network (CDN) service that speeds up distribution of your static and dynamic web content
    전세계의 사람들이 동일한 속도로 우리가 구축한 웹 정적/동적 컨텐츠를 분배받을 수 있도록 속도를 높여주는 글로벌 content 전달 서비스이다.
  25. AWS Direct Connect: dedicated network connection from your premises to AWS
    AWS Console에서만 제공하는 기술로, EC2 접속 시 보통 SSH/RDP 프로토콜로만 접근가능한 반면 브라우저로 쉽게 접속할 수 있도록 지원해준다.
  26. AWS Storage Gateway: integrate on-premises IT environments with cloud-based storage
    기존 on-premise IT 환경과 클라우드 기반 스토리지와의 통합을 위해 사용할 수 있는 서비스이다.
  27. AWS Certificate Manager: manage SSL/TLS certificates for use with AWS services
    AWS 간 통신을 위해 사용되는 SSL/TLS 인증서를 발급하거나 관리해주는 서비스이다.
    (AS-IS) 별도 로컬시스템이나 파일 서버에 저장 및 관리
  28. Amazon Machine Learning: fully managed machine learning service to easily build smart applications
    쉽게 스마트 어플리케이션을 빌드할 수 있도록 머신러닝 서비스를 제공하는 완전 관리형 서비스이다.
    (AS-IS) 머신러닝을 위한 별도 환경 등을 따로 구축해야 한다.
  29. AWS IoT: managed cloud platform that lets connected devices easily and securely interact with cloud applications and other devices
    쉽게 device(장치)등과 안전하게 연결하고 Message를 주고 받을 수 있도록 지원하는 관리형 서비스이다. 사용자는 scailing 또는 연결 안전성에 대해 신경쓸 필요가 없다.
    (AS-IS) 연결 및 보안, 초당 IPS 등과 scailing 이슈를 고려하여 IoT를 개발하여야 한다.
  30. AWS Mobile Hub: fully managed service that makes it easy to develop, deploy, and operate mobile applications at scale.
    모바일 어플리케이션을 쉽게 개발하고, 배포하고, 운영할 수 있도록 해주는 완전 관리형 서비스이다.
  31. Amazon Redshift: fast, fully managed, petabyte-scale data warehouse service in the cloud
    PB 스케일의 Data Warehose를 빠른 속도로 관리해주는 완전 관리형 서비스이다.
  32. Amazon Glacier: secure, durable, and extremely low-cost cloud storage service for data archiving and long-term backup
    오랜 기간 백업 데이터 등을 묵혀 놓는 용도의 안전하고 지속가능하고 가격이 제일 저렴한 스토리지 서비스이다.
  33. Amazon Elasticsearch Service: fully managed service that makes it easy to deploy, operate, and scale Elasticsearch in the cloud
    Elasticsearch에 대한 배포, 운영, 스케일링 기능을 제공해주는 완전 관리형 서비스이다.
  34. AWS Batch: fully managed batch processing service that enables developers to run large-scale batch computing workloads
    개발자가 큰 사이즈의 배치 계산 작업을 가능하게 해주는 배치 처리 서비스로써, 완전 관리형 서비스이다.
  35. AWS CodeCommit: fully managed source control service that makes it easy for companies to host secure and highly scalable private Git repositories
    회사가 안전하고 scaliing이 가능한 private git repositories 등을 관리할 수 있는 소스버전 관리 서버 기능을 제공한다.
    (AS-IS) 물리 서버 또는 EC2에 직접 Git Server 프로그램을 설치하여, 각종 설정 및 운영하여야 했다.
  36. Amazon QuickSight: fast, cloud-powered business intelligence service for big data analytics
    빅데이터 분석 용도로, 클라우드 기반의 데이터들을 참조하여 빠른 속도로 그래프를 그릴 수 있도록 하는 BI 서비스다.
    (AS-IS) 직접 태블로 서비스 등을 설치하여 BI 툴 환경을 구축 후 개발 및 Embedding 진행
  37. Amazon Athena: serverless, interactive query service that makes it easy to analyze data directly in Amazon S3 using standard SQL
    S3에 있는 데이터를 SQL문 형식으로 직접 데이터를 분석하고 조회할 수 있도록 해주는 쿼리 서비스이다.
  38. Amazon Managed Streaming for Apache Kafka (MSK): fully managed service that makes it easy to build and run applications that use Apache Kafka to process streaming data
    스트리밍 Data를 처리하기 위해 Apache Kafka를 쓰는 어플리케이션을 쉽게 build하고 실행시킬 수 있도록 지원하는 완전 관리형 서비스이다.
  39. AWS App Runner: fully managed service that makes it easy to automate building, testing, and deploying applications
    어플리케이션을 build하고 배포하고 테스트하는 것을 자동화하는 완전 관리형 서비스이다.
  40. AWS Device Farm: fully managed service that lets you test your mobile apps on real, physically-based devices in the cloud.
    실제, 물리 기반 장치에 대해서 모바일 앱을 테스트할 수있도록 지우너해주는 완전 관리형 서비스이다.
    (AS-IS) 실물 핸드폰 또는 가상 디바이스를 통해 간접적으로 앱 테스트를 진행
  41. AWS App Mesh: fully managed service mesh that makes it easy to monitor and control microservices
    마이크로 서비스들을 모니터링하고 관리하기 쉽도록 도와주는 완전 관리형 서비스이다.
  42. AWS CodePipeline: fully managed continuous delivery service that helps automate the build, test, and deployment of applications
    앱의 build, test, deploy를 자동화할 수 있는 CI/CD를 구축할 수 있도록 도와주는 서비스이다.
    (AS-IS) 물리 서버 또는 EC2에 CI/CD 프로그램(Jenkins..) 등을 설치하여 관리
  43. AWS X-Ray: distributed tracing service that makes it easier to identify and troubleshoot issues in applications
    앱에서 발생하는 트래블슈팅 이슈를 인식하고 분배하여 추적해주는 서비스이다.
  44. Amazon CodeGuru: fully managed service that uses machine learning to improve code quality and identify and fix software issues
    코드 품질을 향상시키고, SW 이슈를 인지하고 고치기 위해 머신러닝 기술을 사용하는 완전관리형 서비스이다.
    (AS-IS) 코드 품질을 위해, 내부 Rule 설정, Lint 설정, Prettier 라이브러리 설정 등 사용
  45. AWS CodeStar: fully managed service for developing, building, and deploying applications on AWS
    AWS 상에 어플리케이션 등을 개발하고, 빌드하고 배포하기 위한 기능을 제공하는 완전 관리형 서비스이다.
  46. Amazon Elastic Container Service (ECS): fully managed service that makes it easy to run, stop, and manage Docker containers
    docker 컨테이너를 실행하고 중지하고, 쉽게 관리할 수 있도록 지원해주는 완전 관리형 서비스이다.
    (AS-IS) 물리 서버 또는 EC2에 직접 docker를 설치 후, docker script 등을 통해 container 관리
  47. Amazon Elastic Kubernetes Service (EKS): fully managed service that makes it easy to run Kubernetes on AWS
    kubernetes를 AWS 상에서 쉽게 실행시킬 수 있도록 지원해주는 완전관리형 서비스이다.
    (AS-IS) 물리 서버 또는 EC2에 직접 kubernetes를 설치 후, kubernetes 제공 문법 등을 통해 기능 사용
  48. AWS Serverless Application Repository: fully managed repository for serverless applications that makes it easy to discover, deploy, and publish serverless applications
    서버리스(ex. Lambda) 어플리케이션을 위한 레포지토리 서비스이다.
  49. AWS Lambda@Edge: fully managed service that allows you to run code closer to users of your application, in AWS locations around the world
    전세계의 사용자들이 더 가깝게 코드가 실행될 수 있도록하는 완전 관리형 서비스이다.
    (AS-IS) A지역의 유저가 B지역에 있는 Lambda를 실행시키면, 더 느리게 실행되었으려나?
  50. AWS Outposts: fully managed service that brings AWS infrastructure, services, APIs, and tools to almost any datacenter, co-location space, or on-premises facility.
    AWS 인프라 구조, 서비스, API, 도구 등을 속도 또는 보안이라는 이유로, 특정 데이터센터, 온프리미스 시설로 옮겨다주는 완전 관리형 서비스이다.

Dump 보면서 등장하는 서비스 정리


  1. Application Load Balancer란?
더보기

로드 밸런서란? 

서버에 가해지는 트래픽을 여러대의 서버에게 균등하게 분산시켜주는 역할을 하는 것이 로드 밸런서입니다.
서버의 인스턴스 성능을 올리는 스케일-업(Scale-up) 과
서버를 여러대로 나눠서 트래픽을 처리하는 스케일-아웃(Scale-out) 방식이 있습니다.
로드 밸런서는 바로 스케일-아웃 방식입니다.
로드 밸런서는 지속적으로  IP주소가 바뀌기 때문에 도메인 기반으로 사용해야 한다는 특징이 있습니다.

로드 밸런싱 알고리즘

  • 라운드 로빈(Round Robin) :
    서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식 서버와의 연결이 오래 지속되지 않을 경우 적합하다.
  • 가중 라운드 로빈 :
    각 서버에 가중치를 매기고 가중치가 높은 서버에 요청을 우선적으로 배정하는 방식
    서버의 트래픽 처리 능력이 다를 경우 사용
  • 최소 연결 방식(Least Connections) :
    요청이 들어온 시점에 가장 적은 연결 상태를 보이는 서버에 트래픽을 배정하는 방식
    서버에 들어온 트래픽들이 일정하지 않은 경우에 적합하다.
  • IP 해시 방식(Source) :
    클라이언트의 IP주소를 특정 서버로 매핑하여 요청을 처리하는 방식
    사용자가 항상 동일한 서버로 연결된다.

 

로드 밸런싱 종류 (Network OSI 7계층을 기반으로 라우팅 진행)

  • L2 : Mac주소를 바탕으로 Load Balancing합니다.
  • L3 : IP주소를 바탕으로 Load balancing합니다.
  • L4 : Transport 계층(전송 계층) 에서 Load Balancing 합니다. (IP와 Port)
    데이터를 변경/수정 할 수 없습니다.
    패킷 레벨에서만 트래픽을 분산하기 때문에 속도가 빠르고 효울이 높습니다.
    섬세한 라우팅이 불가능하지만 L7로드 밸런서보다 가격이 저렴합니다.
    TCP,UDP
  • L7 : Application 계층(응용 계층) 에서 Load Balancing 합니다.
    포트나 헤더등의 정보를 수정 할 수 있습니다.
    패킷 내용을 확인하고 그 내용에 따라 트래픽을 특정 서버에 분산하는 것이 가능합니다.
    섬세한 라우팅이 가능하고, 비정상적인 트래픽을 필터링 할 수 있습니다.
    패킷의 내용을 복호화 하기 때문에 더 많은 비용이 듭니다.
    HTTP(80), HTTPS(443), FTP(21), WebSocket

 

 

타겟 그룹(Target Group)이란?

타겟그룹이란 EC2인스턴스를 오토스케일링 할 수 있는 단위로 사용됩니다.
각각의 타겟그룹에 있는 인스턴스들은 정의된 Health Checks(상태 확인)를 수행하게됩니다. 

 

AWS Auto Scailing이란?

오토 스케일링은 미리 정의한 용량 정책에 따라 EC2 인스턴스의 용량을 확대하거나 축소할 수 있습니다. EC2와 오토 스케일링을 결합해 고가용성 아키텍처를 구현할 수 있으며, 언제든 원하는 수만큼의 인스턴스를 운용할 수 있습니다.

서버의 과부하, 장애 등과 같이 서비스 불능 상황 발생시 자동으로 서버를 복제하여 서버 대수를 늘려주는 작업을 해주는 AWS 서비스라고 생각하시면 됩니다.

 ** 고가용성: 서버와 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질, 보통 고가용성을 위해 2개의 서버를 연결하는 방식을 사용 **

 

 

Health Checks(상태 확인)란?

로드밸런서에는 Health Checks를 할 수 있습니다. Health Checks는 타겟그룹에 원하는 경로와 포트를 설정하여 HTTP 응답이 정상적으로 오는지 확인하고, 오지 않는다면 비정상 상태의 인스턴스를 제외한 다른 인스턴스로만 트래픽을 분산합니다.
- InService (정상적으로 응답)
- OurOfService (응답 실패)

AWS ELB(Elastic Load Balancer)란?

Elastic Load Balancing은 둘 이상의 가용 영역(AZ)에서 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산합니다. 등록된 대상의 상태를 모니터링하면서 상태가 양호한 대상으로만 트래픽을 라우팅합니다. Elastic Load Balancing은 수신 트래픽이 시간이 지남에 따라 로드 밸런서를 확장합니다.

로드 밸런서는 클라이언트에서 오는 트래픽을 허용하고, 하나 이상의 가용 영역에서 등록된 대상(예: EC2 인스턴스)으로 요청을 라우팅합니다. 또한, 로드 밸런서는 등록된 대상의 상태를 모니터링하고 정상 대상으로만 트래픽이 라우팅되도록 합니다. 로드 밸런서가 비정상 대상을 감지하면, 해당 대상으로 트래픽 라우팅을 중단합니다. 그런 다음 대상이 다시 정상으로 감지되면 트래픽을 해당 대상으로 다시 라우팅합니다.

하나 이상의 리스너를 지정하여 들어오는 트래픽을 허용하도록 로드 밸런서를 구성합니다. 리스너는 연결 요청을 확인하는 프로세스입니다. 클라이언트와 로드 밸런서 간의 연결을 위한 프로토콜 및 포트 번호로 구성됩니다. 마찬가지로 로드 밸런서와 대상 간의 연결을 위한 프로토콜 및 포트 번호로 구성됩니다.

- AWS 사용 설명서 -

ELB의 경우 네트워크 레이어 4와 네트워크 레이어7에 대한 부하를 제어할 수 있습니다. 그리고 서버의 기본주소가 바뀌면 로드밸런서를 새로 생성해야하며 하나의 주소에 하나의 타겟그룹으로 보내게 됩니다. 따라서 타겟그룹이 많아질수록 더 많은 수의 로드밸런서가 필요하고 비용도 그만큼 더 들아가게 됩니다.

 

AWS ALB(Application Load Balancer)

Application Load Balancer는 개방형 시스템 간 상호 연결(OSI) 모델의 일곱 번째 계층인 애플리케이션 계층에서 작동합니다. 로드 밸런서는 요청을 받으면 우선 순위에 따라 리스너 규칙을 평가하여 적용할 규칙을 결정한 다음, 규칙 작업의 대상 그룹에서 대상을 선택합니다. 애플리케이션 트래픽의 콘텐츠를 기반으로 다른 대상 그룹에 요청을 라우팅하도록 리스너 규칙을 구성할 수 있습니다. 대상이 여러 개의 대상 그룹에 등록이 된 경우에도 각 대상 그룹에 대해 독립적으로 라우팅이 수행됩니다. 대상 그룹 레벨에서 사용되는 라우팅 알고리즘을 구성할 수 있습니다. 기본 라우팅 알고리즘은 라운드 로빈입니다. 그 대신 최소 미해결 요청 라우팅 알고리즘을 지정할 수 있습니다

리스너는 구성한 프로토콜 및 포트를 사용하여 클라이언트의 연결 요청을 확인합니다. 리스너에 대해 정의한 규칙에 따라 로드 밸런서가 등록된 대상으로 요청을 라우팅하는 방법이 결정됩니다. 각 규칙은 우선 순위, 하나 이상의 작업, 하나 이상의 조건으로 구성됩니다. 규칙에 대한 조건이 충족되면 작업이 수행됩니다. 각 리스너에 대한 기본 규칙을 정의해야 하며, 필요에 따라 추가 규칙을 정의할 수 있습니다.

 대상 그룹은 지정한 프로토콜과 포트 번호를 사용하여 EC2 인스턴스 같은 하나 이상의 등록된 대상으로 요청을 라우팅합니다. 여러 대상 그룹에 대상을 등록할 수 있습니다. 대상 그룹 기준으로 상태 확인을 구성할 수 있습니다. 로드 밸런서의 리스너 규칙에서 지정한 대상 그룹에 등록된 모든 대상에서 상태 검사가 수행됩니다.

- AWS 사용 설명서 -

ALB의 경우는 네트워크 레이어7의 프로토콜에 대한 부하만 처리할 수 있습니다.(L4 수준의 부하가 걸리면 대응 어려움) ELB와 다르게 경로나 포트등에 따라 다른 타겟그룹으로 맵핑할 수 있습니다. 포트 단위로 연결해줄 수 있기 떄문에 도커에서 유용하게 작동할 수 있고 하나의 대상그룹에 더 많은 컨테이너를 넣을 수 있어 비용을 최적화할 수 있습니다. EC2 인스턴스, AWS 람다, IP로도 연결이 가능하고 특정한 요청에 대해서는 서버없이 응답메세지를 작성할 수 있습니다

ALB에는 리스너를 포트와 프로토콜별로 분기처리할 수 있습니다. 하단에 있는 룰은 패스별 혹은 AWS_ARN별로 다른 분기를 처리할 수 있습니다.

하지만 ALB는 IP가 끊임없이 변화하기 때문에 ALB의 Public IP를 목적지로 삼아 접근 제어(ACL)를 실시하는 네트워크 장비에겐 매우 난감할 수도 있습니다.

AWS NLB(Network Load Balancer)

Network Load Balancer는 오픈 시스템 상호 연결(OSI) 모델의 네 번째 계층에서 작동합니다. 초당 수백만 개의 요청을 처리할 수 있습니다. 로드 밸런서가 연결 요청을 받으면 기본 규칙의 대상 그룹에서 대상을 선택합니다. 리스너 구성에 지정된 포트에서 선택한 대상에 대한 TCP 연결을 열려고 시도합니다.

- AWS 사용 설명서 -

NLB는 L4 로드 밸런싱을 하는 로드 밸런서 입니다. L4 로드 밸런싱이기 떄문에 TCP와 UDP에 대한 트래픽을 처리할 수 있고, TLS(SSL Offload)까지 가능한 로드밸런서입니다. NLB는 사용자와 인스턴스간의 논리적인 연결이 생성될 수 있도록 돕습니다. 부하분산을 함과 동시에 사용자와 인스턴스의 커넥션을 생성하도록 돕고 자신 또한 커넥션을 가지며 관리합니다. 무엇보다 NLB의 가장 큰 특징은 ALB와 다르게 고정 IP를 갖는다는 것입니다. Private IP뿐만 아니라 Public IP까지 고정된 IP로 제공합니다. 

[AWS] 로드 밸런서란? (tistory.com)

  1. AWS Key Management Service(AWS KMS)란?
    데이터를 보호하는 데 사용하는 암호화 키를 쉽게 생성하고 제어할 수 있게 해주는 관리형 서비스
  2. Amazon Simple Email Service(SES)란?
    Amazon.com이 고객에게 서비스를 제공하기 위해 개발한 안정적이면서 확장 가능한 인프라상에 구축된 비용 효율적인 이메일 서비스입니다

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기