⭐ AWS/Load Balancing & TargetGroup (10) 썸네일형 리스트형 TargetGroup의 Unhealthy 상태 체크 # TargetGroup의 Unhealthy 상태 체크 및 테스트 1. TG가 Unhealthy 상태가 되는 조건을 살펴보기 1-1. HealthCheck 실패, ELB를 사용하는 경우 정의된 헬스체크를 통과해야 한다. 보통은 해당 서비스가 설정된 트래픽 포트로 HealthCheck를 진행하고, 별도의 지정된 포트를 통해 HealthCheck를 수행할 수 있다. 내용은 아래를 참고. TargetGrpup를 보면 상태 검사라는 항목이 있다. 해당 항목에서 해당 포트에 대한 애플리케이션이 정상적으로 동작 하고 있는지 HealchCheck를 할 수 있다. 아래와 같이 해당 포트가 설정된 TCP 포트를 통해서 HealthCheck를 수행할 수 있고, 재 정의 항목을 선택하여 HealthCheck 경로를 재 정의.. TG의 Health Check 정리 # Server Side에서의 Port 체크 HealthCheck는 소켓 프로그래밍에서 bind() API를 호출 후 운영체제가 해당bind() 정보로 Socket을 할당 하고 할당 후 운영체제에서 Listen()상태가 됐을때 TG의 상태 검사 프로세스는 랜덤 포트를 활용하여 해당 소켓프로그램의 소켓이 살아 있는지 체크 후 Healthy와 Unhealthy를 판단하여 화면에 표시한다. - 끝 - TargetGroup(대상 그룹) IP 및 HealthCheck # TargetGroup 대상그룹 관련 내용 대상그룹 상태체크 내용을 변경해도 ip 변경 되지 않는다. - 대상그룹 상태체크 NLB IP는 해당 서브넷의 성격에 따라서 퍼블릭IP와 프라이빗IP가 부여된다. nslookup nlbdns 주소로 확인을 하면 아래와 같이 IP가 나온다. 여기서는 퍼블릭 서브넷과 프라이빗 서브넷 각각 하나씩 NLB에 맵핑 하였기 때문에 위에것이 Public IP이고 아래것이 Private IP로 부여가 됐을 것이다. 보통은 사내 방화벽 등에서 PublicIP를 차단하므로, 보통은 PrivateIP로 내부 통신을 하게 된다. 여기서 주의할게 바로 상태체크 HealthCheck인데, 대상그룹에 가면 상태체크라는 탭을 볼수 있다. 테스트를 해보니 상태체크는 랜덤 아이피와 해당 NLB.. 대상그룹 (TargetGroup) 정리 # 대상그룹 TargetGroup 정리 - 대상 그룹은 ALB와 NLB 그리고 GWLB에서 전달하는 그룹을 말한다. 한마디로 ELB(ALB, NLB, GWLB)로 들어오는 트래픽에 대한 배분을 위해 존재한다고 보면 된다. 아래의 그림을 보면 쉽게 이해가 가능하다. - ALB와 NLB에서 대상그룹으로 설정할수 있는 서비스는 위와 같이 Instance, IP주소, Lambda, ALB 이다. - AWS 서비스가 계속해서 업그레이드 되면 대상 서비스는 더 늘어나겠지만 현재까지는 위와 같다. - 헷갈려서 한번 정리해 봤다. - 끝 - 대상그룹 (TargetGroup) 생성하고 리스너에 등록하기 # 대상그룹 TargetGroup을 생성하는 방법 - 로드밸런서 서비스로 이동 후 대상그룹을 생성하려는 로드밸런서 서비스로 이동한다. 그리고 화면 중간쯤에 리스너 항목을 보면 아래와 같을 것이다. 1. 리스너 추가 버튼을 클릭하여 리스너를 추가한다. - 리스너 추가를 클릭하면 아래와 같은 하면이 나오고 여기서 대상 그룹 생성을 클릭하여 새로운 대상그룹을 생성한다. - 대상그룹 생성 버틈을 클릭하면 새로운 창에 대상그룹을 생성하기 위한 화면이 열린다. 아래와 같은 화면이 보일 것이다. 아래와 같이 설정 후 다음 버튼을 클릭하여 다음 단계로 넘어간다. - 다음 단계로 오게되면 해당 대상그룹의 목적지인 대상을 선정 할 수 있는데 여기서 EKS 같은 경우는 Node Instance를 선택해 주면 된다. 그리고 .. ALB 리스너 규칙 정리 / /api # 문제 정리 문제 : FrontEnd에서 백엔드 호출이 안되는 현상이 발생함, 원인은 모르고 아래와 같이 405 Method Not Allowed 오류가 계속 발생하고 있었음. 코드문제인가 싶어 이것저것 바꿔보고 network문제인가 싶어서 이것저것 바꿔보고 했는데 답이 없었음. 그래서 혹시나 ALB 리스너 문제인가 싶어서 확인해보니... 잘못된 설정 올바른 설정 / 와 api/ 로 세팅 되어 있었는데, /*가 1번 /api가 2번으로 설정 되어 있었음 이렇게 하니까 /api로 접속이안되더라, 왜안되는지 확인을 해봐야 겠고, 결국 /api, /로 설정하니까 잘 되네... 원인을 유추해보자면 첫 경로가 / 로 들어오다 보니까 / 로 포함된 /api의 요청이 막힌게 아닌가 싶은 생각이 들었음 어쨌든 해결은.. AWS 로드밸런서 HTTP → HTTPS 리다이렉트 방법 # 보통 브라우저는 HTTPS로 접근되어 보안성을 높입니다. 그래서 AWS에서는 해당 작업을 지원해주는 기능이 있습니다. 보통 로드밸런서에서 해당 기능을 지원해주고 있습니다. 그럼 지금부터 HTTP → HTTPS 로 리다이렉트 하는 과정에 대해서 알아 봅시다. 1. AWS 로드밸런서 탭에서 리스너를 선택 후 아래와 같은 화면으로 이동 합니다. 2. 리스너 규칙에서 아래와 같이 수정을 해줍니다. HTTP로 받은 데이터를 HTTPS로 리다이렉트를 수행 합니다. 그러면 80으로 들어오는 모든 데이터는 HTTPS로 리다이렉트 된다. 참고 사이트 https://medium.com/@yangga0070/aws-%EB%A1%9C%EB%93%9C%EB%B0%B8%EB%9F%B0%EC%84%9C-http-https-%E.. Sticky Session과 Session Clustering 비교 Sticky Session이 적용되어 있는것과 적용이 안되어 있을때 비교 Sticky Session Sticky Session은 이름 그대로 서버를 고정하는 방식이다. 웹 서버로의 첫 요청 이후의 모든 요청을 처음 요청을 처리한 서버로 지속적으로 연결하여 세션 문제를 해결한다. 대표적인 방법으로 cookie에 이용 서버를 저장하는 방법이 있다. 다만, 결국 사용자가 접속해야하는 서버가 정해져있기 때문에 트래픽 쏠림 현상에서 완전히 자유로울 수는 없고, 서버에 장애가 발생하는 경우 해당 서버를 이용하고 있던 사용자의 세션 정보를 잃게 된다는 위험이 있다. Session Clustering Clustering은 여러 컴퓨터를 연결하여 하나의 시스템처럼 동작하도록 하는 기술을 말한다. Session Clust.. 이전 1 2 다음