AWS-NLB-Sticky-sessions-timeout

ALB에 대한 고찰이후 ELB관련 주제의 포스팅을 적는건 오랜만이다.

NLB의 Sticky 에 대해 한번 적어보려 한다.

Target group의 속성 이야기다.

NLB sticky는 추가된지 6개월정도 지났지만 아직도 일반적으로 아는 기능은 아니다.
너무 오랜기간 없었던 터라 없다고 아는 사람이 더 많은..ㅋㅋㅋ 그런 기능이다.

https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/network/load-balancer-target-groups.html

먼저 Docs 를 링크하고..

NLB의 Routing algorithm 은 ip_hash 방식으로 동작 한다.

https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html

The protocol
The source IP address and source port
The destination IP address and destination port
The TCP sequence number

6개의 조건이 일치하면 같은 target으로 연결해주나, 하나의 조건이라도 달라지면 다른 target으로 연결해주는 것이다. 이 tuple 들이이 일치하지 않더라도 같은 target으로 연결하게 하는 방법이 있다. 그것이 바로 sticky session 인것이다.

stictky session 에서 라우팅 조건은 souce ip 뿐이다. 1 tuple인것이다. 하지만 그렇다고 해서 영원히 같은 인스턴스로 연결해주는것은 아니다. 여기엔 시간 제한이 붙어있다.

-추가 - 수정합니다.
docs에는 souce ip 1tuple로 동작한다 적혀있지만 NLB-multi-AZ(HA)구성을 할경우엔 A RR-EIP가 두개가 붙으므로 예상과는 다르게 동작할것입니다. 또한 1tuple로 동작하는 부분또한 client ip + nlb node ip 로 구성되므로 2tuple 로 동작합니다.

예상과 같은 정상적인 결과를 얻기위해선 Weighted, failover 방식으로 route53을 설정해서 단일존으로 라우팅 해야 동일한 결과를 얻을 수 있습니다.
-도움주신 무무님 감사합니다.

docs 대로라면 1tuple이라 생각했는데 요소는 1tuple이 아니라

Connection idle timeout 이다

NLB의 Connection idle timeout 은 TCP 350 초 UDP 120초다.
- UDP는 태우님이 물어보셔서 추가로 알아봤다.

https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#connection-idle-timeout

Elastic Load Balancing sets the idle timeout value for TCP flows to 350 seconds. You cannot modify this value. Clients or targets can use TCP keepalive packets to reset the idle timeout.

Connection idle timeoutElastic Load Balancing sets the idle timeout value for UDP flows to 120 seconds.

그래서 동작은 이렇다.

sticky session 을 켜고 연결이 지속되는 동안은 무조건 같은 target으로 연결되고 마지막 연결부터 350초가 지나고 연결하면 대상/클라이언트 모두 TCP RST 응답을 받아서 sticky session 의 연결이 해제되고 다른 target과 연결되게 되고 다시 sticky로 동작하는거다.

최근에 질문을 받아서 다시한번 정리해봤다.

읽어주셔서 감사하다!

에드센스 광고 추가

블로깅이 좀 시들해졌다..

AWS Devops pro 시험 준비를 시작하며 쫒기는 느낌이 들면서 다른 모든것에 소홀했다.

생소한것을 배우는건 즐거운 일이지만 거기에 목적이 들어가고 겹쳐지면 초초해진다.
이번엔 내가 페이스를 놓쳤다.

급해지기만했다.

블로깅을 손에서 놓으니까 뭔가 루즈해지는게 치열하지 않았다.

그래서 에드센스를 추가하고 동기를 얻어보려 했는데..

생각보다 애매했다..ㅋㅋㅋ

일단 유지해보고 반응을 봐야겠다.

AWS Certified Cloud Practitioner (CLF)-Recertified

Certmetrics 를 보다보니 이상한게 보였다.

CLF 의 상태가..이상하다

파일:oo의 상태가.png

Recertified 상태인것이다. 뭐지 하고 궁금해서 눌러봤다.

CLF를 취득후에 Associate를 취득하면 같이 갱신된다. 그래서 지금 Practitioner 의 만료일자는

자동 연장되어 2023년 8월 23일이다.

결론을 말하자면 CLF를 취득후에 갱신해야 한다면 Associate 자격증을 취득하자.

AWS Certified Developer - Associate-review

AWS Certified Developer - Associate 시험을 오늘 봤다. 오늘은 2020년 8월 11일이다.

영우글로벌에서 시험을 응시했고 영우글로벌 매우 쾌적한 시험장에 PC상태도 좋았다.

일단 합격했고 후기는 쓸게 없다.

나는 공부를 헛했다....다른 사람들의 후기를 보고서 공부를 했는데 정작..공부한 곳에선 한문제도 안나왔다. 그냥 가서 풀고나온거다..

AWS Certified Developer – Associate

이렇게 찜찜할수가...그래도 합격은 합격이니...인증은 써야지..

아....