• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

ingress routing 문제

21.03.14 14:47 작성 조회수 152

1

안녕하세요, 지난번에 eks 관련해서 질문드렸던 수강생입니다.

덕분에 EKS에 잘 배포를 하였고 ingress 도 application Load Balancer로 잘 설정을 하였습니다.

그런데, 유독 Chrome 브라우저에서 몇번씩 간헐적으로 ingress에 설정한 라우팅 주소로 들어갈때 아주 오랫동안 로딩이 걸리는 현상(10초~30초)이 발생합니다.

그리고 Safari에서 바로 접속하면 잘 되구요.

설정은 ingress  serviceNodePort 를 -> NodePort 80로 -> NodePort는 80을 오픈하고 8000 (웹서버)를 바라보게 설정을 해놓았는데요.

도메인 문제인가 싶어서 도메인도 바꿔보고 HTTPS 문제인가 싶어서 SSL 없이도 접속해보고 다 해보았는데 이 현상이 사라지지 않습니다 ㅠ

구글링해보아도 해당 문제가 잘 나오지 않아서 혹시 이러한 현상에 대해 아는 부분이 있나 궁금하여 질문을 드립니다 ㅠ

아래는 ingress yaml 파일입니다.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:ap-northeast-{}:certificate/{}
spec:
rules:
- http:
paths:
- path: /*
backend:
serviceName: ssl-redirect
servicePort: use-annotation
- path: /*
backend:
serviceName: backend-app-nodeport
servicePort: 80

찾다보니 이 문제인 것 같기도 하고.. 정확한 해결책을 잘 모르겠네요 ㅠ 쿠버네티스로 처음 배포를 하다보니 헤매는 부분이 많네요.

https://stackoverflow.com/questions/35523421/aws-elastic-load-balancing-seeing-extremely-long-initial-connection-time/55777470#55777470

(++추가 수정)

해당 질문 답변을 보고 ALB 서브넷 중 하나가 Private으로 설정되어있어서 Public 으로 일단 바꿔보았습니다.

일단 이걸로 해결이 되었으면 좋겠네요 ㅠ

https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.1/

이 사이트를 참고해서 애플리케이션 로드밸런서를 만들었는데요. 서브넷이나 이런 것들은 자동으로 설정이 되는 것 같아서 이런 것들은 어떻게 컨트롤할 수 있을지도 궁금하네요.

답변 1

답변을 작성해보세요.

0

안녕하세요!

자세한 설명 감사합니다. 말씀하신 문제를 확인하려면 여러가지 설정을 확인해 봐야할 것 같습니다.

우선 테스트를 하실땐, 크롬이나 사파리 말고 터미널에서 curl 명령어(curl http://xxxx.com)로 하는 것이 좋습니다. 크롬이나 사파리는 여러가지 원인(캐시를 사용한다던가) 때문에 정확한 요청/응답 테스트가 어려운 경우가 있습니다.

먼저, curl 테스트로 문제가 재현된다면, alb에 설정된 target 그룹을 보고 해당 target group의 방화벽을 체크해보시겠어요?

그럼 확인 부탁드립니다!