S3에 대한 고성능 역방향 프록시

S3에 대한 고성능 역방향 프록시

S3 버킷과의 직접적인 상호 작용을 방지하고 싶습니다. 내 S3 버킷이 올바르게 구성되어 있는 동안 S3에서 파일을 계속 제공하면서 단일 IP에 대한 액세스를 잠그는 (성능이 좋은) 방법을 찾고 싶습니다.

내가 구상하는 아키텍처는 다음과 같습니다.

user request -> proxy web application -> s3 bucket

사용자가 S3 사용에 노출되거나 인식되지 않도록 합니다. 제가 해결 방법을 찾으려고 하는 책임은 모든 요청에 ​​대해 CPU 로드에 대한 비용을 지불하게 되어 애초에 S3 사용의 많은 이점이 감소한다는 것입니다. 나는 이 목표를 달성하려면 매우 빠르고 최소한의 웹 서비스가 필요하다고 상상합니다.

프록시에서 S3의 장점을 낭비하지 않고 사용자로부터 S3를 숨길 수 있는 방법이 있습니까?

참고:

S3가 안전하게 구성될 수 있다고 생각하고 싶지 않습니다. 내 경우에는 추가 안전 절차를 고려해야 하는 조직적인 이유가 있습니다. 비록 그것이 정말로 잘못된 선택이라 할지라도 나는 여기서 사고 훈련을 즐길 것입니다.

또한 S3 대신 서비스를 사용하는 것은 옵션이 아닙니다. 여기서는 S3에 대해서만 이야기하고 있습니다.

답변1

IP에 대한 액세스를 잠그고 싶다면 IAM을 통해 해당 권한을 설정할 수 있습니다. 이렇게 하면 역방향 프록시를 사용할 필요가 없습니다.

전역 읽기 S3 정책을 생성한 다음 요청이 특정 IP 주소에서 이루어져야 한다는 조건을 설정할 수 있습니다.

조건문의 예는 다음과 같습니다.

"Condition" :  {
       "IpAddress" : {
          "aws:SourceIp" : ["192.0.2.0/24", "203.0.113.0/24"]
      }
}

관련 정보