SlideShare a Scribd company logo
1 of 24
Download to read offline
AWS Load Balancers
2019-05-11
AWSKRUG - syha
0. 들어가기에 앞서
AWS managed service인 ELB의 내부는 Black box 영역 입니다.
발표 내용의 대부분은 AWS 공식 매뉴얼에 한쪽 귀퉁이에 있거나
AWS Case를 통해 확인한 내용입니다.
따라서, 정확한 내용일 수도, 아닐 수도 있습니다.
0. 들어가기에 앞서
L4 Layer에서는 IP, Port based의 Routing 처리
L7 Layer에서는 IP, Port, packet based의 Routing 처리
1. Load Balancer 비교
CLB ALB NLB
Protocols HTTP/HTTPS TCP/TLS HTTP/HTTPS TCP/TLS
TCP connection Connection pool 1:1 connection connection pool 1:1 flow/connection
Idle timeout Idle timeout (default 60s) 350 Sec RST
Routing algorithm Least outstanding Round Robin Round Robin Flow hash
SSL/TLS Yes No Yes Yes
SNI(Server Name
Indication)
No Yes No
Static IP No - Dynamic IP No - Dynamic IP Yes - EIP
Sticky session Yes No Yes No
multiple ports on the
same instance
No Yes Yes
1. Load Balancer 비교
CLB ALB NLB
Protocols HTTP/HTTPS TCP/TLS HTTP/HTTPS TCP/TLS
WebSockets No Yes Yes
Lambda as targets No Yes No
Delete protection No Yes Yes
Native HTTP/2 No Yes No
Preserve Source IP No No Yes
TAG-based IAM
Permission
No Yes Yes
Slow Start No Yes No
User Authentication No Yes No
1. Load Balancer 비교
CLB ALB NLB
Protocols HTTP/HTTPS TCP/TLS HTTP/HTTPS TCP/TLS
Redirects No Yes No
Fixed response No Yes No
Custom security
policies
Yes No No
Support WAF No Yes No
Fail Open No Yes Yes
Cross AZ Traffic 비
용 발생
No No Yes
Security Group Yes Yes No
Container Support No Yes Yes
NLB :
- 높은 처리량, 낮은 대기시간, 즉각적인 응답성을 요구하는 TCP 트래픽을 로드 밸런싱 할 때
- 트래픽이 갑작스럽고 변동이 심한 패턴을 가지는 워크로드일 경우
- 외부에 노출될 고정IP가 필요로 할 때
- ECS 등 Container 기반 동적 포트의 L4 작업이 요구 될 때
ALB :
- HTTP/HTTPS 트래픽의 고급 요청 라우팅이 필요할 때
- ECS 등 Container 기반 동적 포트의 L7 작업이 요구 될 때
- Front에 WAF를 두거나 혹은 backend로 lambda를 선택하고자 할 때
CLB :
- EC2-Classic platform 에서 계속 동작되는 EC2를 단일 지점에서 로드밸런싱 해야 될 때
- 보안정책으로 Custom Security Policy를 만들어야 할 때
ELB 제품군 세부 비교 URL : https://aws.amazon.com/ko/elasticloadbalancing/details/#compare
1. Load Balancer 선택 기준
2. Load Balancer 구조(예상)
AWS의 Load Balancer의 구조는 Black box
Request flow TCP connection and HTTP
Client
A zone
C zone
Load Balancer
A zone
C zone
Backend
Traffic Traffic
3. CLB의 SurgeQueueLength
Request Spike -> SurgeQueueLength Max 1024 -> SpillOver -> ELB_5xx
A zone
C zone
Load Balancer Backend
Client
ELB_5xx
CLB TCP Listener 에서는 왜 SurgeQueueLength 가 자주 발생?
3. CLB의 SurgeQueueLength
A zone
C zone
Load Balancer Backend
SYN_SENT SYN_RCV
ESTABLISHED
ESTABLISHED
SYN
SYN, ACK
ACK
Traffic
ALB는 SurgeQueueLength 가 없을까요?
- RejectecConnectionCount Metric은 CLB의 SurgeQueueLength Metric 을 대체
- LB가 정상적인 Target 과의 라우팅 요청 연결을 설정할 수 없어 거부 된 연결 수
- LB의 최대 연결 수에 도달하여 거부된 연결 수
3. Load Balancer의 SurgeQueueLength
URL :
https://www.slideshare.net/AmazonWebSer
vices/application-load-balancer-and-the-
integration-with-autoscaling-and-ecs-
popup-loft-tlv-2017
4. Load Balancer의 Health check
TCP Listener / HTTP Listener Health Check
TCP : SYN -> SYN/ACK -> 세션 종료
HTTP : Connection pool과 다른 connection을 맺어 HTTP 상태코드 체크/ Backend의 KeepAlive에 따라 세션 유지
4. Load Balancer의 Health check
Unhealthy Hosts의 Min 값과 Max 값이 다르다!?
4. Load Balancer의 Health check
결론 ELB의 Unhealthy hosts 는 Min 값으로 모니터링하고,
ELB node의 상태는 Sample data를 참고만 한다.
5. Load Balancer의 Scale OUT/IN
기본적으로 CLB와 ALB의 Scaling은
CPU Utilization, Network Traffic In/Out 에 의해 결정
A zone과 C zone에 동시에 Scaling이 적용
NLB는 단순히 백엔드로 트래픽을 전달만 해서,
리소스가 거의 사용되지 않으며, 이론적으로 Scaling이 필요 없음
5. Load Balancer의 Scale UP/DOWN
몰라요
6. Load Balancer의 Unbalancing
50%
25%
25%
7. Load Balancer의 일반적인 질문
질문 답변 비고
Backend 에서 확인해 보니 ELB와의 커넥션이 SYN_RCV
connections 으로 표기 됩니다.
CLB TCP Listener 에서 좀더 빨리 세션을 맺기 위해 pre-opening
connection 을 하기 위함임으로 정상 입니다.
Client 가 504 Gateway Timeout을 수신했습니다.
$ time telnet URL 80
Backend connection idle timeout이 ELB Time out 보다 큰지 확인 합니다.
항상 SurgeQueueLength가 1~2 정도가 존재합니다.
CLB TCP Listener 일 경우 connection proxying time 으로 항상 발생할 수
있습니다.
NLB에서 RST(resets) 를 Client와 Target 에 보냅니다.
NLB는 350초 이상 아무런 통신 없이 세션을 유지할 때 RST신호를 보냅니
다. 만약 회피하고 싶으면 Backend에서는 Keep Alive를 사용하지 않고
Client 요청을 즉시 끝내거나, 350초 이전에 Ack를 보내게끔 설정.
ELB Access log에 request 내용이 표시되지 않습니다.
LB Log는 end to end connection이 성공해야만 남습니다. 혹은 request,
response_processing_time에 -1 값이 들어왔는지 확인 합니다.
RequestCount 가 Backend의 access log 보다 낮습니다.
Listener 의 종류에 따라 HTTP request count 일 수도 TCP connections
count 일 수도 있습니다.
즉 HTTP Listener는 등록된 인스턴스의 HTTP 오류 응답을 포함한 수신 및
라우팅 요청 수를 표기 하며, TCP Listener일 경우 등록된 인스턴스에 대한
연결 수를 의미 합니다.
7. Load Balancer의 일반적인 질문
질문 답변 비고
Client 에서 항상 같은 ELB(IP)에 접근합니다. Client DNS caching 을 확인해 보아야 합니다.
Backend 의 특정 EC2만 CPU 사용률이 높습니다. 해당 EC2가 ELB에서만 접근할 수 있는지 확인합니다.(예, Security Group)
트래픽을 분산 시키는 Routing algorithm이 뭡니까? 두 가지를 봐야하는데, Front 단과 Backend 단을 확인해야 합니다. Front 는
DNS에서 결정이되며, Backend 는 ELB 종류와 Listener 종류에 따라 결정
됩니다.
Backend 혹은 Target 에서 응답은 하지만 ELB Health Check
에 대해서는 실패 합니다.
$ telnet xxx.xxx.xxx.xxx port 명령을 통해 확인합니다.
$ curl -vIg 명령을 통해 HTTP response code 를 확인합니다.
Load Balancer의 IP가 변경되었습니다. ALB, CLB에서는 Scale Up/Down 에 의해 변경될 수 있습니다.
어떻게 ELB의 전체 IP를 확인할 수 있습니까? $ dig +short ELB_DNS_name
어떻게 방화벽에서 Load Balancer의 IP를 whitelist 로 추가할
수 있습니까?
NLB를 사용하여 EIP로 고정 시키거나, 내부 ELB의 경우 subnet 을 작게 만
들어서 ELB가 최소한의 IP만 할당 받을 수 있게 한 다음 방화벽에서 범위로
열어줍니다.
7. Load Balancer의 일반적인 질문
질문 답변 비고
SSL을 설정하였으나 익스플로러 창에 자물쇠가 안되는 경우 $ curl -vI https://Domain
Host header 값(200)을 확인
Domain name 과 server’s certificate 와 매칭이 안될 경우 $ openssl s_client -connect LB_DNS:443 -showcerts
명령을 통해 인증서의 subject 를 확인
No matching cipher on the client Load Balancer의 Security Policy를 확인하여 지원하는 암호화 제품군과
protocol version을 확인 합니다.
ALB 하위 target group에서 모든 Backend Instance의 상태 실
패되었는데 통신이 왜 되나요?
Fail open 정책으로 ALB, NLB 가 구성되어 있기에 이러한 일이 발생합니다.
이는 LB의 특성임으로 문제가 되지 않으며, 관리를 위해 Health check 정책
수정을 권고 합니다.
8. 부록 ELB Pre-warming
항목 예제 설명 비고
ELB DNS name ELB.ap-northeast-
1.elb.amazonaws.com
ELB DNS name
Start date for elevated traffic patterns 2018.07.16 00:00 AM UTC 트래픽의 시작 일시 UTC 기준
End date for elevated traffic patterns 2018.07.16 05:00 AM UTC 트래픽의 종료 일시 UTC 기준
Traffic delta or request rate expected at surge(in
requests per second)
500 to 1,000 in 1 sec 초당 요청 건수
Average amount of data passing through the ELB per
request/response pair(In Bytes):
50 Kbytes 요청과 응답의 총 사이즈
Rate of traffic increase 1000% 평시 대비 트래픽 증가율
Are keep-alives used on the back-end? Yes or No keep alive 설정 여부
Percent of traffic using SSL termination on the ELB 100% or 0% SSL 처리 여부
8. 부록 ELB Pre-warming
항목 예제 설명 비고
Number of AZ’s that will be used for this event/load
balancer
3 ELB에서 트래픽을 분산하고 있는 가
용 영역 갯수
Is the back-end scaled to event/spike levels?
If no, how many and what type of instances and when
will they be scaled?
Yes or [No]
[No일 경우 Backend Instance
Type 및 증가 계획]
Auto Scaling의 확장하는 기준(정책)
혹은 Manual로 추가될 EC2 Instance
유형과 갯수
Use-case description Ticket sales are being prepared
for the event.
Pre-warming 이 필요한 이유
Traffic pattern description Gradual increase (점진적 증가)
Radical increase (급진적 증가)
Maintain traffic during event
time(이벤트 시간동안 트래픽 유지)
Increase temporary traffic(일시적
인 트래픽 증가)
트래픽 패턴 설명
8. 참고 자료
오픈 소스 TLS 구현 인 s2n을 소개합니다.
https://aws.amazon.com/ko/blogs/security/introducing-s2n-a-new-open-source-tls-implementation/
네트워크로드 균형 조정기의 TLS 종단
https://aws.amazon.com/ko/blogs/aws/new-tls-termination-for-network-load-balancers/
응용 프로그램로드 밸런서가 SNI를 사용하여 스마트 선택으로 다중 TLS 인증서 지원
https://aws.amazon.com/ko/blogs/aws/new-application-load-balancer-sni/
Elastic Load Balancing: Deep Dive and Best Practices
https://www.slideshare.net/AmazonWebServices/repeat-1-elastic-load-balancing-deep-dive-and-best-practices-net404r1-aws-reinvent-
2018
감사합니다.
“포로리야~
박수 좀…”

More Related Content

What's hot

대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...Amazon Web Services Korea
 
Security on AWS :: 이경수 솔루션즈아키텍트
Security on AWS :: 이경수 솔루션즈아키텍트Security on AWS :: 이경수 솔루션즈아키텍트
Security on AWS :: 이경수 솔루션즈아키텍트Amazon Web Services Korea
 
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례WhaTap Labs
 
AWS Summit Seoul 2023 | AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성
AWS Summit Seoul 2023 | AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성AWS Summit Seoul 2023 | AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성
AWS Summit Seoul 2023 | AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성Amazon Web Services Korea
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon Web Services Korea
 
AWS Simple Monthly Calculator 操作説明書
AWS Simple Monthly Calculator 操作説明書AWS Simple Monthly Calculator 操作説明書
AWS Simple Monthly Calculator 操作説明書Amazon Web Services Japan
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon Web Services Korea
 
Intro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute ServicesIntro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute ServicesAmazon Web Services
 
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인Amazon Web Services Korea
 
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Amazon Web Services Korea
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Amazon Web Services Korea
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Web Services Korea
 
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...Amazon Web Services Korea
 
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Web Services Korea
 
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100Amazon Web Services Korea
 
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...Amazon Web Services Korea
 
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019AWSKRUG - AWS한국사용자모임
 
Using AWS Key Management Service for Secure Workloads
Using AWS Key Management Service for Secure WorkloadsUsing AWS Key Management Service for Secure Workloads
Using AWS Key Management Service for Secure WorkloadsAmazon Web Services
 
[AWS Builders] 클라우드 비용, 어떻게 줄일 수 있을까?
[AWS Builders] 클라우드 비용, 어떻게 줄일 수 있을까?[AWS Builders] 클라우드 비용, 어떻게 줄일 수 있을까?
[AWS Builders] 클라우드 비용, 어떻게 줄일 수 있을까?Amazon Web Services Korea
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020Ji-Woong Choi
 

What's hot (20)

대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
 
Security on AWS :: 이경수 솔루션즈아키텍트
Security on AWS :: 이경수 솔루션즈아키텍트Security on AWS :: 이경수 솔루션즈아키텍트
Security on AWS :: 이경수 솔루션즈아키텍트
 
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
 
AWS Summit Seoul 2023 | AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성
AWS Summit Seoul 2023 | AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성AWS Summit Seoul 2023 | AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성
AWS Summit Seoul 2023 | AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
 
AWS Simple Monthly Calculator 操作説明書
AWS Simple Monthly Calculator 操作説明書AWS Simple Monthly Calculator 操作説明書
AWS Simple Monthly Calculator 操作説明書
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
Intro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute ServicesIntro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute Services
 
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
 
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
 
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
 
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
 
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100
 
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
 
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019
Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019
 
Using AWS Key Management Service for Secure Workloads
Using AWS Key Management Service for Secure WorkloadsUsing AWS Key Management Service for Secure Workloads
Using AWS Key Management Service for Secure Workloads
 
[AWS Builders] 클라우드 비용, 어떻게 줄일 수 있을까?
[AWS Builders] 클라우드 비용, 어떻게 줄일 수 있을까?[AWS Builders] 클라우드 비용, 어떻게 줄일 수 있을까?
[AWS Builders] 클라우드 비용, 어떻게 줄일 수 있을까?
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 

Similar to AWS load balancers deep dive-AWSKRUG

클라우드 인프라로 협업 시스템 구축기 - 김성한 / 야놀자
클라우드 인프라로 협업 시스템 구축기 - 김성한 / 야놀자클라우드 인프라로 협업 시스템 구축기 - 김성한 / 야놀자
클라우드 인프라로 협업 시스템 구축기 - 김성한 / 야놀자SeongHan Kim
 
Cse342 chapter 04
Cse342 chapter 04Cse342 chapter 04
Cse342 chapter 04Jinil Nam
 
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드Amazon Web Services Korea
 
Elastic Load Balancing 심층 분석 - AWS Summit Seoul 2017
Elastic Load Balancing 심층 분석 - AWS Summit Seoul 2017Elastic Load Balancing 심층 분석 - AWS Summit Seoul 2017
Elastic Load Balancing 심층 분석 - AWS Summit Seoul 2017Amazon Web Services Korea
 
AWS Native하게 Atlassian 서버 설치하기
AWS Native하게 Atlassian 서버 설치하기AWS Native하게 Atlassian 서버 설치하기
AWS Native하게 Atlassian 서버 설치하기SeongHan Kim
 
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015WineSOFT
 
TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수Yeon Soo Kim
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료choi kyumin
 
AWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchAWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchHan Sung Kim
 
TXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API ServiceTXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API ServiceKlaytn
 
[2B5]nBase-ARC Redis Cluster
[2B5]nBase-ARC Redis Cluster[2B5]nBase-ARC Redis Cluster
[2B5]nBase-ARC Redis ClusterNAVER D2
 
[KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인
[KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인 [KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인
[KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인 Boin Kim
 
[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술NAVER D2
 
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)Amazon Web Services Korea
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista Community
 
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례YongSung Yoon
 
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은jieun kim
 
Quality of Service
Quality of ServiceQuality of Service
Quality of Service상봉 이
 

Similar to AWS load balancers deep dive-AWSKRUG (20)

클라우드 인프라로 협업 시스템 구축기 - 김성한 / 야놀자
클라우드 인프라로 협업 시스템 구축기 - 김성한 / 야놀자클라우드 인프라로 협업 시스템 구축기 - 김성한 / 야놀자
클라우드 인프라로 협업 시스템 구축기 - 김성한 / 야놀자
 
Cse342 chapter 04
Cse342 chapter 04Cse342 chapter 04
Cse342 chapter 04
 
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
 
LTM
LTMLTM
LTM
 
Elastic Load Balancing 심층 분석 - AWS Summit Seoul 2017
Elastic Load Balancing 심층 분석 - AWS Summit Seoul 2017Elastic Load Balancing 심층 분석 - AWS Summit Seoul 2017
Elastic Load Balancing 심층 분석 - AWS Summit Seoul 2017
 
L4교육자료
L4교육자료L4교육자료
L4교육자료
 
AWS Native하게 Atlassian 서버 설치하기
AWS Native하게 Atlassian 서버 설치하기AWS Native하게 Atlassian 서버 설치하기
AWS Native하게 Atlassian 서버 설치하기
 
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
 
TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
 
AWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchAWS lambda, step function, cloud watch
AWS lambda, step function, cloud watch
 
TXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API ServiceTXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API Service
 
[2B5]nBase-ARC Redis Cluster
[2B5]nBase-ARC Redis Cluster[2B5]nBase-ARC Redis Cluster
[2B5]nBase-ARC Redis Cluster
 
[KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인
[KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인 [KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인
[KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인
 
[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술
 
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
 
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
 
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
 
Quality of Service
Quality of ServiceQuality of Service
Quality of Service
 

Recently uploaded

JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 

Recently uploaded (8)

JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 

AWS load balancers deep dive-AWSKRUG

  • 2. 0. 들어가기에 앞서 AWS managed service인 ELB의 내부는 Black box 영역 입니다. 발표 내용의 대부분은 AWS 공식 매뉴얼에 한쪽 귀퉁이에 있거나 AWS Case를 통해 확인한 내용입니다. 따라서, 정확한 내용일 수도, 아닐 수도 있습니다.
  • 3. 0. 들어가기에 앞서 L4 Layer에서는 IP, Port based의 Routing 처리 L7 Layer에서는 IP, Port, packet based의 Routing 처리
  • 4. 1. Load Balancer 비교 CLB ALB NLB Protocols HTTP/HTTPS TCP/TLS HTTP/HTTPS TCP/TLS TCP connection Connection pool 1:1 connection connection pool 1:1 flow/connection Idle timeout Idle timeout (default 60s) 350 Sec RST Routing algorithm Least outstanding Round Robin Round Robin Flow hash SSL/TLS Yes No Yes Yes SNI(Server Name Indication) No Yes No Static IP No - Dynamic IP No - Dynamic IP Yes - EIP Sticky session Yes No Yes No multiple ports on the same instance No Yes Yes
  • 5. 1. Load Balancer 비교 CLB ALB NLB Protocols HTTP/HTTPS TCP/TLS HTTP/HTTPS TCP/TLS WebSockets No Yes Yes Lambda as targets No Yes No Delete protection No Yes Yes Native HTTP/2 No Yes No Preserve Source IP No No Yes TAG-based IAM Permission No Yes Yes Slow Start No Yes No User Authentication No Yes No
  • 6. 1. Load Balancer 비교 CLB ALB NLB Protocols HTTP/HTTPS TCP/TLS HTTP/HTTPS TCP/TLS Redirects No Yes No Fixed response No Yes No Custom security policies Yes No No Support WAF No Yes No Fail Open No Yes Yes Cross AZ Traffic 비 용 발생 No No Yes Security Group Yes Yes No Container Support No Yes Yes
  • 7. NLB : - 높은 처리량, 낮은 대기시간, 즉각적인 응답성을 요구하는 TCP 트래픽을 로드 밸런싱 할 때 - 트래픽이 갑작스럽고 변동이 심한 패턴을 가지는 워크로드일 경우 - 외부에 노출될 고정IP가 필요로 할 때 - ECS 등 Container 기반 동적 포트의 L4 작업이 요구 될 때 ALB : - HTTP/HTTPS 트래픽의 고급 요청 라우팅이 필요할 때 - ECS 등 Container 기반 동적 포트의 L7 작업이 요구 될 때 - Front에 WAF를 두거나 혹은 backend로 lambda를 선택하고자 할 때 CLB : - EC2-Classic platform 에서 계속 동작되는 EC2를 단일 지점에서 로드밸런싱 해야 될 때 - 보안정책으로 Custom Security Policy를 만들어야 할 때 ELB 제품군 세부 비교 URL : https://aws.amazon.com/ko/elasticloadbalancing/details/#compare 1. Load Balancer 선택 기준
  • 8. 2. Load Balancer 구조(예상) AWS의 Load Balancer의 구조는 Black box Request flow TCP connection and HTTP Client A zone C zone Load Balancer A zone C zone Backend Traffic Traffic
  • 9. 3. CLB의 SurgeQueueLength Request Spike -> SurgeQueueLength Max 1024 -> SpillOver -> ELB_5xx A zone C zone Load Balancer Backend Client ELB_5xx
  • 10. CLB TCP Listener 에서는 왜 SurgeQueueLength 가 자주 발생? 3. CLB의 SurgeQueueLength A zone C zone Load Balancer Backend SYN_SENT SYN_RCV ESTABLISHED ESTABLISHED SYN SYN, ACK ACK Traffic
  • 11. ALB는 SurgeQueueLength 가 없을까요? - RejectecConnectionCount Metric은 CLB의 SurgeQueueLength Metric 을 대체 - LB가 정상적인 Target 과의 라우팅 요청 연결을 설정할 수 없어 거부 된 연결 수 - LB의 최대 연결 수에 도달하여 거부된 연결 수 3. Load Balancer의 SurgeQueueLength URL : https://www.slideshare.net/AmazonWebSer vices/application-load-balancer-and-the- integration-with-autoscaling-and-ecs- popup-loft-tlv-2017
  • 12. 4. Load Balancer의 Health check TCP Listener / HTTP Listener Health Check TCP : SYN -> SYN/ACK -> 세션 종료 HTTP : Connection pool과 다른 connection을 맺어 HTTP 상태코드 체크/ Backend의 KeepAlive에 따라 세션 유지
  • 13. 4. Load Balancer의 Health check Unhealthy Hosts의 Min 값과 Max 값이 다르다!?
  • 14. 4. Load Balancer의 Health check 결론 ELB의 Unhealthy hosts 는 Min 값으로 모니터링하고, ELB node의 상태는 Sample data를 참고만 한다.
  • 15. 5. Load Balancer의 Scale OUT/IN 기본적으로 CLB와 ALB의 Scaling은 CPU Utilization, Network Traffic In/Out 에 의해 결정 A zone과 C zone에 동시에 Scaling이 적용 NLB는 단순히 백엔드로 트래픽을 전달만 해서, 리소스가 거의 사용되지 않으며, 이론적으로 Scaling이 필요 없음
  • 16. 5. Load Balancer의 Scale UP/DOWN 몰라요
  • 17. 6. Load Balancer의 Unbalancing 50% 25% 25%
  • 18. 7. Load Balancer의 일반적인 질문 질문 답변 비고 Backend 에서 확인해 보니 ELB와의 커넥션이 SYN_RCV connections 으로 표기 됩니다. CLB TCP Listener 에서 좀더 빨리 세션을 맺기 위해 pre-opening connection 을 하기 위함임으로 정상 입니다. Client 가 504 Gateway Timeout을 수신했습니다. $ time telnet URL 80 Backend connection idle timeout이 ELB Time out 보다 큰지 확인 합니다. 항상 SurgeQueueLength가 1~2 정도가 존재합니다. CLB TCP Listener 일 경우 connection proxying time 으로 항상 발생할 수 있습니다. NLB에서 RST(resets) 를 Client와 Target 에 보냅니다. NLB는 350초 이상 아무런 통신 없이 세션을 유지할 때 RST신호를 보냅니 다. 만약 회피하고 싶으면 Backend에서는 Keep Alive를 사용하지 않고 Client 요청을 즉시 끝내거나, 350초 이전에 Ack를 보내게끔 설정. ELB Access log에 request 내용이 표시되지 않습니다. LB Log는 end to end connection이 성공해야만 남습니다. 혹은 request, response_processing_time에 -1 값이 들어왔는지 확인 합니다. RequestCount 가 Backend의 access log 보다 낮습니다. Listener 의 종류에 따라 HTTP request count 일 수도 TCP connections count 일 수도 있습니다. 즉 HTTP Listener는 등록된 인스턴스의 HTTP 오류 응답을 포함한 수신 및 라우팅 요청 수를 표기 하며, TCP Listener일 경우 등록된 인스턴스에 대한 연결 수를 의미 합니다.
  • 19. 7. Load Balancer의 일반적인 질문 질문 답변 비고 Client 에서 항상 같은 ELB(IP)에 접근합니다. Client DNS caching 을 확인해 보아야 합니다. Backend 의 특정 EC2만 CPU 사용률이 높습니다. 해당 EC2가 ELB에서만 접근할 수 있는지 확인합니다.(예, Security Group) 트래픽을 분산 시키는 Routing algorithm이 뭡니까? 두 가지를 봐야하는데, Front 단과 Backend 단을 확인해야 합니다. Front 는 DNS에서 결정이되며, Backend 는 ELB 종류와 Listener 종류에 따라 결정 됩니다. Backend 혹은 Target 에서 응답은 하지만 ELB Health Check 에 대해서는 실패 합니다. $ telnet xxx.xxx.xxx.xxx port 명령을 통해 확인합니다. $ curl -vIg 명령을 통해 HTTP response code 를 확인합니다. Load Balancer의 IP가 변경되었습니다. ALB, CLB에서는 Scale Up/Down 에 의해 변경될 수 있습니다. 어떻게 ELB의 전체 IP를 확인할 수 있습니까? $ dig +short ELB_DNS_name 어떻게 방화벽에서 Load Balancer의 IP를 whitelist 로 추가할 수 있습니까? NLB를 사용하여 EIP로 고정 시키거나, 내부 ELB의 경우 subnet 을 작게 만 들어서 ELB가 최소한의 IP만 할당 받을 수 있게 한 다음 방화벽에서 범위로 열어줍니다.
  • 20. 7. Load Balancer의 일반적인 질문 질문 답변 비고 SSL을 설정하였으나 익스플로러 창에 자물쇠가 안되는 경우 $ curl -vI https://Domain Host header 값(200)을 확인 Domain name 과 server’s certificate 와 매칭이 안될 경우 $ openssl s_client -connect LB_DNS:443 -showcerts 명령을 통해 인증서의 subject 를 확인 No matching cipher on the client Load Balancer의 Security Policy를 확인하여 지원하는 암호화 제품군과 protocol version을 확인 합니다. ALB 하위 target group에서 모든 Backend Instance의 상태 실 패되었는데 통신이 왜 되나요? Fail open 정책으로 ALB, NLB 가 구성되어 있기에 이러한 일이 발생합니다. 이는 LB의 특성임으로 문제가 되지 않으며, 관리를 위해 Health check 정책 수정을 권고 합니다.
  • 21. 8. 부록 ELB Pre-warming 항목 예제 설명 비고 ELB DNS name ELB.ap-northeast- 1.elb.amazonaws.com ELB DNS name Start date for elevated traffic patterns 2018.07.16 00:00 AM UTC 트래픽의 시작 일시 UTC 기준 End date for elevated traffic patterns 2018.07.16 05:00 AM UTC 트래픽의 종료 일시 UTC 기준 Traffic delta or request rate expected at surge(in requests per second) 500 to 1,000 in 1 sec 초당 요청 건수 Average amount of data passing through the ELB per request/response pair(In Bytes): 50 Kbytes 요청과 응답의 총 사이즈 Rate of traffic increase 1000% 평시 대비 트래픽 증가율 Are keep-alives used on the back-end? Yes or No keep alive 설정 여부 Percent of traffic using SSL termination on the ELB 100% or 0% SSL 처리 여부
  • 22. 8. 부록 ELB Pre-warming 항목 예제 설명 비고 Number of AZ’s that will be used for this event/load balancer 3 ELB에서 트래픽을 분산하고 있는 가 용 영역 갯수 Is the back-end scaled to event/spike levels? If no, how many and what type of instances and when will they be scaled? Yes or [No] [No일 경우 Backend Instance Type 및 증가 계획] Auto Scaling의 확장하는 기준(정책) 혹은 Manual로 추가될 EC2 Instance 유형과 갯수 Use-case description Ticket sales are being prepared for the event. Pre-warming 이 필요한 이유 Traffic pattern description Gradual increase (점진적 증가) Radical increase (급진적 증가) Maintain traffic during event time(이벤트 시간동안 트래픽 유지) Increase temporary traffic(일시적 인 트래픽 증가) 트래픽 패턴 설명
  • 23. 8. 참고 자료 오픈 소스 TLS 구현 인 s2n을 소개합니다. https://aws.amazon.com/ko/blogs/security/introducing-s2n-a-new-open-source-tls-implementation/ 네트워크로드 균형 조정기의 TLS 종단 https://aws.amazon.com/ko/blogs/aws/new-tls-termination-for-network-load-balancers/ 응용 프로그램로드 밸런서가 SNI를 사용하여 스마트 선택으로 다중 TLS 인증서 지원 https://aws.amazon.com/ko/blogs/aws/new-application-load-balancer-sni/ Elastic Load Balancing: Deep Dive and Best Practices https://www.slideshare.net/AmazonWebServices/repeat-1-elastic-load-balancing-deep-dive-and-best-practices-net404r1-aws-reinvent- 2018