Amazon API Gateway로 HTTPS로 연결해서 개봉을 해보도록 하겠습니다.
4255 단어 AWSAPIGateway
시사회를 통해 실행되는 앱이지만 다양한 외부 시스템이 결합한 API 게이트웨이를 준비하는 상황에서 AWS를 이용하면 아마존 API Gateway(이하 API Gateway라고 함)를 선택할 수 있다.
예를 들면 이런 느낌의 상황이나 배경이요?
하고 싶은 일
이런 경우 하고 싶은 일을 간단하게 표현하면 다음 그림과 같은 인상을 준다.
아직 인상일 뿐이야.
API Gateway는 어떤 API 유형이든 안전한 통신을 전제로 해야 하기 때문에 외부 시스템에서 API Gateway까지 항상 TLS로 안전한 통신을 한다.
또 여기서는 외부 시스템에 제공되는 API의 종류로 REST형을 고려하기로 했다.
그리고 예를 들면...
보안 정책에 따라 인터넷에서 API Gateway로의 경로뿐만 아니라 API Gateway에서부터 AWS Direct Connect를 통한 폐역 네트워크까지의 상총리 시스템 내의 부하 균형기까지 모두 HTTPS를 통해 통신해야 한다만약 이런 것이 있다면 어떻게 될까요?
그러니까 전부 HTTPS니까 이런 느낌이에요.
그리고 가능하다면 시사회에서 그걸 이유로 간단하게 자기 서명 증명서를 부하 평형기가 기다리고 있을 때의 HTTPS 통신을 사용해 실현시키자.
그렇다면 이를 실제로 구현하기 위해 어떻게 하면 좋을까 API Gateway를 시작으로 고민해보자.
1. VPC 링크를 통해 사용자 VPC 연결
API Gateway(이곳은 REST형 API라고 부른다)의 백엔드로서 최종 개봉에 이르면 사용자 VPC를 거쳐야 한다.
API Gateway의 REST API를 사용자 VPC에 연결하기 위해 사용자 VPC에서 Network Load Balancer(NLB)를 누르고'VPC 링크'정의를 만들 수 있다.
2. 끝점 URL 지정
그러나 REST API에서 백엔드에 지정된 백엔드 URL에는 무엇이 설정되어 있습니까?
만약 안전하지 않다면 HTTP의 통신이 가능하다면 NLB가 낸 호스트 이름(*.amazonaws.com)을 직접 지정하면 되지만 이번에는 전제로 모두 HTTPS로 통신해야 한다.
또한 API Gateway 자체를 파악하여 HTTPS 요청을 고객으로 보내야 합니다.그리고 또 중요한 점은...
API Gateway가 HTTPS 통신을 할 수 있는 목적지는 자체 서명된 인증서로 관리되는 단점과 통신할 수 없습니다
전제가 있다.구체적으로 말하면 다음 링크에 기재된 CA가 증명한 서버 인증서를 사용하여 호스트 서비스를 해야 한다.
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-supported-certificate-authorities-for-http-endpoints.html
최종점은https방안이어야 합니다.이렇게 되면 먼저 NLB에 TLS 요청을 보내야 하지만 https:/s와 같은 단점 URL을 지정할 수 없습니다.
결국 시사회에 대한 HTTPS 통신을 하려는 점을 고려하면 API Gateway 스스로 고객으로서 해당 통신사의 NLB에 이름을 해결해야 한다.
그리고 최종 목적지에 도착한 상 총리의 부하 밸런스는 자체 서명 인증서 호스트를 사용하기 때문에 API Gateway에서 직접 HTTPS 통신 목적지로 지정할 수 없다.
그럼 어떻게 하면 좋을까요?
몇 가지 방법이 있을 수 있지만 여기서는 관리적인 서비스를 최대한 활용하고, 2021년 9월 서비스 업데이트인'NLB의 백엔드로 ALB를 지정할 수 있다'를 활용해야 한다.
그 전에 ALB를 NLB의 백엔드로 지정하는 것은 Lambda 함수를 이용하여 NLB의 목표 그룹 ALB의 현재 IP 주소를 계속 동적으로 설정하고 유지할 수 있는 기술이다이 업데이트는 그런 고려와 사용자 측의 처리가 필요 없다.
3. 최종 구성
따라서 결국 이런 구성이라면 문제없고 시사회 부하 밸런스까지 HTTPS에서 안전하게 통신할 수 있게 됐다.
이렇게 하면 모든 통신장소가 HTTPS인 데다 시사회에서 사용한 자서명 증명서라도 수용할 수 있는 구조를 당초 목적을 달성할 수 있다.
비슷한 과제가 있는 사람에게 참고가 된다면 기쁠 것 같아요.
Reference
이 문제에 관하여(Amazon API Gateway로 HTTPS로 연결해서 개봉을 해보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/matsubta/items/faa9bb697247bf814c3e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)