어쩌다 IT
article thumbnail
반응형

고가용성과 확장성

 

확장성

  • 애플리케이션이나 시스템이 조정을 통해 더 많은 양을 처리할 수 있다는 의미
  • 수직 확장성 - Scale Up / Scale Down
    • 인스턴스 크기를 확장하는 것을 의미
    • 데이터베이스와 같이 분산되지 않은 시스템에 사용, ex) RDS나 ElastiCache
  • 수평 확장성 (탄력성) - Scale In / Scale Out
    • 인스턴스나 시스템의 수를 늘리는 것을 의미
    • 수평 확장을 했다는 것은 분배 시스템이 있음을 의미

 

고가용성

  • 애플리케이션이나 시스템을 둘 이상의 AZ 또는 데이터 센터에 가동 중이라는 것을 의미
  • 동일한 애플리케이션의 동일한 인스턴스가 다수의 AZ에 걸쳐 실행되는 것을 의미
  • 하나의 AZ 또는 데이터 센터에 문제가 생겨도 정상적인 서비스 가능

ELB

  • 트래픽 분산을 위해 사용
  • EC2 인스턴스의 상태를 자동 감지하여 오류가 있는 인스턴스는 제외
  • ELB는 애플리케이션에 사용 가능한 정적 DNS 이름을 제
  • ALB (Application Load Balancer) - HTTP, HTTPS, Web Socket 등에 특화된 로드 밸런서
  • NLB (Network Load Balancer) - TCP, TLS, UDP에 특화된 로드 밸런서
  • GWLB (Gateway Load Balancer) - L3 네트워크 계층의 IP 프로토콜에서 작동하는 로드 밸런서
  • CLB (Classic Load Balancer)
 

Elastic Load Balancing이란 무엇인가요? - Elastic Load Balancing

Elastic Load Balancing이란 무엇인가요? Elastic Load Balancing은 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산합니다. 등록된 대상의 상

docs.aws.amazon.com

 

ALB (Application Load Balancer)

  • L7 애플리케이션 계층의 로드 밸런서
  • HTTP 전용 로드 밸런서
  • 마이크로 서비스나 컨테이너 기반 Application에 가장 좋은 로드 밸런서 (Docker, Amazon ECS 등)
  • 포트 매핑 기능이 있어 동적 포트로의 리다이렉션을 가능하게 함
  • X-Forwarded-for 헤더를 이용하여 클라이언트 IP를 확인할 수 있도록  
  • 대상 그룹 - EC2 인스턴스, ECS 작업, 람다 함수, IP 주소가 대상 그룹이 될 수 있음

 

NLB (Network Load Balancer)

  • L4 전송 계층의 로드 밸런서
  • TCP, UDP 트래픽을 다루는 로드 밸런서
  • 초당 수백만 건의 요청 처리
  • ALB에 비해 지연 시간도 짧음
  • AZ 별로 하나의 고정 IP를 갖기 때문에 여러 개의 고정 IP를 가진 애플리케이션 노출에 유용
  • 1~3개의 IP로만 액세스 할 수 있는 애플리케이션을 만거나 고성능, TCP, UDP, 고정 IP가 나오면 NLB를 떠올릴 것
  • 대상 그룹 - EC2 인스턴스, IP 주소 (Private), ALB

 

GWLB (Gateway Load Balancer)

  • L3 네트워크 계층의 로드 밸런서
  • 모든 트래픽에 대한 방화벽 제어와 침입 탐지, 방지 시스템에 사용
  • 6081 포트의 GENEVE 프로토콜 사용
  • 대상 그룹 - EC2 인스턴스, IP 주소 (Private)

 

Sticky Session

  • 세션 고정 기능
  • ALB, CLB는 쿠키를 활용, NLB는 Source IP를 기억하는 방법을 사용
  • 애플리케이션 기반 쿠키 이름 AWSALBAPP
  • 기간 기반 쿠키 이름 - AWSALB, AWSELB

 

교차 영역 로드 밸런싱

  • AZ에 상관없이 EC2 인스턴스 수에 따라 트래픽이 고르게 분배되는 기능
  • ALB는 기본적으로 활성화되어 있고 비용이 청구되지 않음
  • NLB, GWLB는 기본적으로 비활성화되어 있고 활성화 시 비용이 청구
  • CLB는 기본적으로 비활성화되어 있고 활성화 시 비용이 청구되지 않음

 

Connection Draining

  • CLB 사용 시 Connection Draining 이라 부르고, ALB나 NLB 사용 시 Deregistration Delay 라고 부름
  • 종료 예정인 EC2 인스턴스를 사용 중인 세션이 종료될 때 까지 기다리는 기능

 

SSL / TLS 인증서

  • SSL 인증서는 클라이언트와 로드 밸런서 사이에서 트래픽이 이동하는 동안 암호화 (in-flight, 전송 중 암호화)
  • SSL - 보안 소켓 계층을 의미, 연결을 암호화 하는데 사용
  • TLS - 새로운 버전의 SSL로 전송 계층 보안을 의미, 통상적으로 SSL은 TLS를 의미
  • ACM - AWS Certificate Manager, 아마존 인증서 관리자
  • SNI (서버 이름 표식) - 하나의 리스너로 다수의 SSL 인증서를 가져올 수 있도록 하는 기능


ASG

  • Auto Scaling Group
  • CloudWatch로 모니터링 하여 설정된 부하 임계치에 따라 자동으로 EC2 인스턴스의 수를 늘리거나 줄이는 기능
  • ASG는 무료, EC2 인스턴스와 같은 생성된 하위 리소스에 대한 비용만 부과
  • ASG 속성
    • 시작 템플릿
      • AMI
      • 인스턴스 유형
      • EC2 사용자 데이터
      • EBS 볼륨
      • 보안 그룹
      • SSH 키 페어
      • IAM Role
      • 네트워크 및 서브넷 정보
      • 로드 밸런서 정보
    • 최소 크기 / 최대 크기 / 초기 용량 설정
 

Amazon EC2 Auto Scaling이란 무엇입니까? - Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling이란 무엇입니까? Amazon EC2 Auto Scaling을 사용하면 애플리케이션의 로드를 처리할 수 있는 정확한 수의 Amazon EC2 인스턴스를 유지할 수 있습니다. 오토 스케일링이라는 EC2 인스턴

docs.aws.amazon.com

 

조정 정책

  • 동적 크기 조정 정책
    • 대상 추적 정책 - ASG의 지표 평균값을 목표로 인스턴스의 수를 조절
    • 단순 / 단계 추적 정책 - CloudWatch 경보를 설정하여 지표값에 따라 인스턴스의 수를 조절
  • 예약된 작업 - 특정 시간에 인스턴스 수를 조절
  • 예측 크기 조정 정책 - 머신 러닝을 기반으로 과거 로드를 분석하여 예측하고 이를 기반으로 스케일링 작업이 예약
  • 지표 유형 - CPU 평균 사용률, 로드 밸런서 요청 수, 네트워크 입출력량, 사용자 정의 지표
  • 스케일링 휴지 (Scaling Cooldown)
    • 스케일링 작업이 끝날 때 마다 기본적으로 300초의 휴지 기간을 갖는 것
    • 새로운 인스턴스가 안정화 될 수 있도록 하고 새로운 지표 양상을 보기 위함

반응형

'자격증 > SAA-C03' 카테고리의 다른 글

[SAA-C03] Amazon S3 - 기본  (0) 2023.08.30
[SAA-C03] AWS 기초 - RDS, Aurora, ElastiCache  (0) 2023.08.29
[SAA-C03] EC2 인스턴스 스토리지  (0) 2023.08.25
[SAA-C03] EC2 - SAA Level  (0) 2023.08.24
[SAA-C03] EC2 기초  (0) 2023.08.23
profile

어쩌다 IT

@jwlish

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!