AWS는 디렉토리 경로를 기반으로 HTTPS 트래픽을 서로 다른 두 EC2 인스턴스로 라우팅하는 방법을 제공합니까? 위해 한 디렉토리 경로의

AWS 오퍼링에서 다음이 가능한지 궁금합니다.

https://www.example.com/a/-> EC2 인스턴스 A 에서 Apache에서 제공

https://www.example.com/b/EC2 인스턴스 B 에서 Apache에서 제공

명확히하기 위해 한 디렉토리 경로의 파일이 다른 디렉토리 경로의 파일과 동일한 서버 인스턴스에있는 것을 원하지 않습니다.

나는 이것이 일종의 프록시로 가능할 수도 있지만 AWS 제품 중 하나를 사용하여 더 쉬운 솔루션이 있다는 것을 알고 있습니다.

EC2로드 밸런서는 디렉토리 경로에 따라 스위칭을 허용하지 않는 것 같습니다. Route 53 은 DNS 수준에서 작동하며,이를 기반으로 IP를 반환하는 경로 정보가 없습니다.



답변

경로 기반 라우팅 을 수행 하는 AWS Application Load Balancer를 사용하십시오 . 그 두 번째 링크는 그것을 수행하는 튜토리얼입니다.

간단히 말해서 ALB를 정상적으로 설정 한 후 다음 단계를 수행하십시오 (AWS 자습서에서 복사).

  • 리스너 탭, 청취자에 대한 규칙을 확인하고 선택하려면 화살표를 사용하여 추가 규칙을 . 다음과 같이 규칙을 지정하십시오.

  • 내용은 대상 그룹 이름 , 당신이 만든 두 번째 대상 그룹을 선택합니다.

  • 대한 경로 패턴 정확한 패턴을 지정하는 것은 경로 기반 라우팅에 사용되는 (예를 들어, / IMG / *). 자세한 내용은 리스너 규칙을 참조하십시오.

  • 저장을 선택 하십시오 .


답변

Tim의 탁월한 답변 외에도 CloudFront를 통해이를 달성 할 수 있습니다 .

먼저, EC2 인스턴스 A 및 EC2 인스턴스 B (로드 밸런서, 비 AWS 호스트 또는 S3 버킷 일 수도 있음)에 대한 오리진을 추가 하여 배포를 만듭니다 .

그런 다음, 캐시 동작 규칙 을 설정 하여 / a / * 및 / b / *를 적절한 출처에 매핑하십시오.

이 목적으로 CloudFront를 사용하는 것이 적합한 지 여부는 애플리케이션과 CDN의 필요성에 따라 다릅니다.