2014-03-13 3 views
0

Java bean 응용 프로그램을 bean bean에 배포했으며 응용 프로그램의 목적은 압축 된 번들로 S3 자원을 제공하는 것입니다. 예를 들어 내가 압축하여 응답으로 반환하는 30 개의 오디오 파일이 있습니다.Amazon beanstalk 응용 프로그램에서 S3의 자원에 직접 액세스하는 방법

AWS SDK의 getObject 요청을 사용했지만, 느린 속도이지만 네트워크를 통해 각 객체를 요청하고 있다고 가정합니다. S3 리소스에 직접 액세스 할 수 있습니까? 내 리소스가있는 버킷은 콩팥 버킷 옆에 있습니다.

+0

양동이와 콩 줄기가 같은 지역에 있는지 확인 했습니까? 모든 요청은 네트워크에서 발생합니다. Beanstalk 앱을 저장하는 버킷은 데이터 버킷 옆에 있지만 애플리케이션은 다른 서버에서 실행됩니다. –

+0

예 그들은 모두 같은 지역 region = us-east-1에 있습니다. – DianeH

+0

S3에 미리 압축 된 파일을 유지하고 서명 된 URL을 사용하여 S3에서 직접 제공하는 것을 고려 했습니까? http://docs.aws.amazon.com/AmazonCloudFront /latest/DeveloperGuide/private-content-signed-urls-overview.html –

답변

0

같은 지역에 있으면 S3에서 EC2 로의 전송이 빠릅니다.

파일을 더 빠르게 (안정적인) 전달하려는 경우, 파일을 S3에 미리 보관하고 서버를 통과하는 대신 S3에서 직접 처리하는 것이 좋습니다. 버킷을 공개 할 필요가 없도록 여기에서 signed URL 스키마를 사용할 수 있습니다.

다음 단계는 클라우드 프론트의 S3를 원 서버로 유지하여 속도를 높이는 것입니다. 여기서 파일은 사용자와 가까운 위치에 캐시됩니다. Serving Private Content through CloudFront

관련 문제