기본 인증/비밀번호 보호 기능을 갖춘 S3 지원 미디어 서버를 설정하는 방법

기본 인증/비밀번호 보호 기능을 갖춘 S3 지원 미디어 서버를 설정하는 방법

요구 사항

  • S3 버킷에 저장된 오디오 및 비디오 제공
  • 기본 인증(사용자 이름 비밀번호)으로 폴더를 선택적으로 보호합니다.
  • 가능한 한 낮은 대기 시간을 사용하지만 반드시 필요한 것은 아닙니다.
  • 비용도 한 가지 요인이지만 아이디어는 열려 있습니다.
  • 미디어팀이 새로운 콘텐츠를 업로드하는 방법입니다. (s3의 경우 각 파일을 수동으로 공개해야 합니다)
  • 우리는 자원이 제한된 매우 작은 팀입니다.

현재 설정

  • s3 버킷에 저장된 데이터
  • EC2 인스턴스 내에서 실행되는 웹사이트
  • 아파치2 서버

우리의 고려사항

  • 아파치 수준에서 프록시 s3 URL을 역방향으로 설정하고 아파치 수준에서 기본 인증을 구성합니다. 그러나 이를 위해서는 모든 버킷 객체를 공개로 유지 한 다음 통제할 수 없는 버킷 정책을 적용해야 합니다!

  • S3 퍼블릭 액세스를 완전히 차단한 다음 AWS PHP SDK를 사용하여 콘텐트를 제공합니다. 그런 다음 미디어 팀이 AWS 콘솔에서 새 콘텐츠를 업로드하도록 하세요. 이 옵션을 사용하면 대기 시간이 어떻게 영향을 받을지 확실하지 않습니다.

유사한 요구 사항에 사용할 수 있는 좋은 솔루션이 있을 것이라고 확신합니다. 실행 가능한 솔루션을 알려주세요. 감사합니다.

편집: 현재 우리는 모든 공개 액세스를 차단하여 버킷을 비공개로 유지했습니다. 그런 다음 EC2 인스턴스에만 공개 액세스를 허용하는 버킷 정책을 추가했으며 이러한 방식으로 우리가 원하는 것을 달성했습니다. 그러나 우리가 향해 나아갈 수 있는 완전하고 지연 시간이 짧은 실행 가능한 솔루션은 여전히 ​​열려 있습니다.

답변1

EC2보다는 S3 또는 CloudFront를 통해 정적 웹 사이트를 제공하는 것을 보고 싶을 것입니다. CloudFront에서는 버킷을 비공개로 설정할 수도 있습니다. 동적 사이트가 필요한 경우 EC2(또는 Lambda 및 API 게이트웨이)에서만 API를 호스팅하고 S3 호스팅 사이트에서 연결하세요.

어떤 경우든 CloudFront를 사용하면 버킷을 비공개로 유지하면서 버킷의 콘텐츠를 제공하고 우수한 지연 시간 등을 제공할 수 있습니다.

관련 정보