AWS ALB에서 grpc 사용하기

Singsoong·2022년 9월 2일
0

AWS

목록 보기
9/14
  • 현재 사내에서 사용하고 있는 인프라에서 grpc 프로토콜로 통신하는 것이 있다.
  • 기존에는 NLB(네트워크 로드밸런서)를 사용하여 구축했었지만, 새로운 인프라를 구축하면서 ALB(어플리케이션 로드밸런서)로 grpc 프로토콜로 통신하려 한다.
  • 2020년 11월 부로 ALB에서 grpc 프로토콜 통신을 지원한다고 한다.

📌 Target Group

  • 먼저 ALB에서 라우팅 시킬 타겟 그룹을 설정한다.
  • target의 type은 IP addresses로 설정하고, 그룹 이름을 입력한 뒤 아래와 같이 설정한다.

  • VPC를 선택하고, 프로토콜 버전을 gRPC로 선택한다.

  • 네트워크 선택을 하고 접속할 grpc 서버(EC2 인스턴스)의 IP 주소를 입력한다. 보통 private subnet에 있으므로 private IP를 입력하면 된다.
  • 포트는 50051로 입력하고 pending하면 된다.


📌 ALB의 리스너 추가

  • ALB의 리스너를 추가한다.
  • 프로토콜은 HTTPS, grpc 프로토콜의 포트인 50051번으로 설정한다.
  • 50051번으로 접속했을 때 만들어두었던 grpc 타겟그룹으로 Forward 시키면 된다.

  • 인증서를 추가한다.


📌 보안그룹 설정

  • grpc EC2의 보안그룹을 설정해야 한다.
  • 프로토콜을 TCP로 설정하고 50051번 포트를 열어주면 된다.

📌 이렇게 안하면...

  • 만약 이렇게 안한다면 NLB를 앞에두고 ALB를 뒤에 두는 방법도 있다.
  • 근데 굳이 돈을 더 써가면서 이렇게 할 이유는 없는 것 같다. ALB가 grpc를 지원하기 때문..
  • grpc는 HTTPS밖에 지원안한다더라... 무조건 ALB 리스너에서 HTTPS로 해야함...

참고 : AWS 공식 문서 (https://aws.amazon.com/ko/blogs/korea/new-application-load-balancer-support-for-end-to-end-http-2-and-grpc/?utm_source=gaerae.com&utm_campaign=%EA%B0%9C%EB%B0%9C%EC%9E%90%EC%8A%A4%EB%9F%BD%EB%8B%A4&utm_medium=social)

profile
Frontend Developer

0개의 댓글