3

ELB 뒤에있는 Windows EC2 클러스터에있는 RESTful API가 있다고 가정합니다. 기존 API는 .NET 응용 프로그램이며 IIS에서 호스팅됩니다.AWS API 게이트웨이 뒤의 기존 API 보안

기존 API 앞에 AWS API Gateway를 설치하여 보안, 확장 성 등을 AWS에서 처리하도록하고 싶습니다. 기본적으로 AWS Gateway를 기존 API에 대한 HTTP 프록시로 설정하십시오.

AWS 문서에서 기존 API를 공개해야한다고 명시합니다. 그러나 클라이언트 측 인증서를 검사하여 호출이 Amazon API 게이트웨이에서 발생하는지 확인하여 보안을 설정해야합니다. 기존 API에 대한 SSL 연결이 ELB에 종료됩니다 그러나

http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html

. 따라서 요청시 클라이언트 인증서를 확인할 때 코드에 존재하지 않습니다.

EC2/IIS/코드 수준에서 클라이언트 인증서를 얻으려면 어떻게해야합니까?

기존 API를 보호하고 AWS API 게이트웨이가 계속 통신 할 수있는 다른 방법이 있습니까?

답변

2
당신은 TCP 기반의로드 밸런싱을 수행하고 IIS/EC2 호스트의 SSL 연결을 종료하기 위해 ELB를 당신의 설정을 구성해야합니다

. SSL 인증서를 호스트에 배포하고 인증서를 적절한 포트에 바인딩하도록 구성해야합니다.

0

보통 사람들은 ELB 종료 효과적으로 아니라 여러 서버에 SSL 인증서에서의 관리를 필요로하는 것보다, 인프라에 단일 지점 관리를 이동하기 때문에 관리 비용을 절약하기 위해 자신의 API 게이트웨이에서 SSL 오프로드하는 것을 선호합니다.

오케스트레이터가 관리하는 EC2 클러스터가있는 경우에도 도움이됩니다 [ECS, kubernetes, Docker Swarm]. 로드 밸런서에 대한 API 게이트웨이가 SSL 인증서에 의해 보안되었다고 이미 언급했듯이로드 밸런서에 액세스 정책을 추가하여 EC2 클러스터와 상호 작용하는 데 필요한 권한을 제공 할 수 있으며 EC2는 개인 VPC에 존재하므로 필요하지 않을 수도 있습니다 모든 통신이 이미 보안되어 있으므로 인증서를 EC2 시스템에 추가하십시오.

희망적입니다.