Program Club

EBS 또는 S3에서 이미지를 유지해야합니까?

proclub 2020. 11. 20. 16:54
반응형

EBS 또는 S3에서 이미지를 유지해야합니까?


Java, Tomcat, Mysql 서버를 AWS EC2로 마이그레이션하고 있습니다.

MySql 데이터를 저장하기 위해 이미 EBS 볼륨을 연결했습니다. 내 웹 애플리케이션에서 사람들은 이미지를 업로드 할 수 있습니다. 그래서 나는 그들을 지속해야합니다. 내 마음에는 두 가지 대안이 있습니다.

  1. 업로드 된 이미지를 EBS 볼륨에 저장합니다.
  2. S3 서비스를 사용하십시오.

다음은 내 메모입니다. 내 전문 지식이 서버가 아니라 소프트웨어 개발에 있기 때문에 회의적입니다.

  • EBS 플러스 : S3 스토리지는 더 비쌉니다. (0.15 $ / Gb> 0.1 $ / Gb)

  • S3 plus : EBS에서 통계를 제공하면 웹 서버 성능에 부정적인 영향을 미칠 수 있습니다. 이것이 사실입니까? 이미지 제공이 서버 성능에 특히 영향을 줍니까? S3의 경우 내 서버는 정적 서비스를 담당하지 않습니다.

  • S3 plus : EBS에서 통계를 제공하면 I / O 비용이 발생할 수 있으며, 아마도 경미 할 것입니다.

  • EBS 플러스 : 사람들은 EBS가 더 빠르다고 말합니다.

  • S3 플러스 : 사람들은 S3가 지속성에 더 안전하다고 말합니다.

  • EBS plus : API를 배울 필요가 없습니다. 이미지를 EBS 볼륨에 저장하는 것은 간단합니다.

즉 내가 결정할 수 없으며 안내해 주시면 기쁩니다.

감사


저는 현재 프로젝트에 S3를 사용하고 있으며 매우 잘 작동합니다.

EBS는 연결할 볼륨 + 머신을 관리해야 함을 의미합니다. 공간이 가득 차면서 백업을 수행해야합니다 (S3 데이터를 백업해서는 안된다는 의미가 아니라 중요하지 않다는 의미).

또한 확장하기가 더 어려워집니다. 머신을 더 추가하려면 이미지를 별도의 머신으로 가져 오거나 전체에 걸쳐 이미지를 복제해야합니다. 이것은 또한 병목 현상을 추가하고 있음을 의미합니다. 모든 시스템에 업로드하거나 단일 시스템에서 관리하는 자체 업로드 프로세스를 관리해야합니다.

나는 S3를 추천한다 : 그것은 설정되고 잊어 버린다. 여러 대의 컴퓨터에서 동시에 업로드를 수행 할 수 있으며 실제로 다른 컴퓨터에 업로드에 대해 알릴 필요가 없습니다.

또한 S3에서 직접 다운로드하는 대신 Amazon Cloudfront를 이미지 앞에 저렴한 CDN으로 사용할 수 있습니다.


가격 비교는 옳지 않습니다. S3 요금은 USED GB 당 0.14 USD 인 반면 EBS 요금은 사용 여부에 관계없이 PROVISIONED GB 당 0.10 USD (EBS 볼륨 크기)입니다. 결과적으로 S3는 EBS보다 저렴할 수도 있고 그렇지 않을 수도 있습니다.


저는 TB의 데이터에 걸쳐 수백만 개의 이미지를 저장하는 스톡 사진 사이트를위한 AWS 솔루션을 설계했습니다. 귀하의 요구 사항에 대한 AWS의 모범 사례를 공유하고 싶습니다.

P1) 원본 이미지 파일을 S3 표준 옵션에 저장

P2) 엄지 손가락 등과 같은 재현 가능한 이미지를 S3 RRS (Reduced Redundancy) 옵션에 저장하여 비용을 절감합니다.

P3) S3 URL을 포함한 이미지에 대한 메타 데이터는 쿼리 복잡성에 따라 Amazon RDS 또는 Amazon DynamoDB에 저장할 수 있습니다. Amazon RDS에서 항목을 쿼리합니다. 쿼리가 복잡한 경우 Amazon CloudSearch 또는 Apache Solr에 메타 데이터를 저장하는 것도 일반적입니다.

P4) Amazon CloudFront를 사용하여 지연 시간이 짧은 사용자에게 엄지 손가락을 제공합니다.

P5) Amazon EC2에서 SQS 또는 RabbitMQ를 통해 이미지 변환 대기

P6) EBS를 사용할 계획이라면 EC2로 확장 할 수 없습니다. 따라서 이상적으로는 GlusterFS를 모든 이미지에 대한 공통 스토리지 풀로 사용할 수 있습니다. 자동 확장 모드의 여러 Amazon EC2는 계속 연결하여 이미지에 액세스 / 쓰기 할 수 있습니다.


이미 두 가지의 장단점을 설명했습니다.

스토리지 요구 사항이 날마다 증가하면서 테라 바이트의 이미지를 저장할 계획이라면 S3 가 특히 이러한 종류의 상황에 맞게 제작 되었기 때문에 최상의 선택이 될 것입니다. 많은 EBS 볼륨에서 데이터분할 하는 것에 대해 걱정할 필요없이 무제한 저장 공간을 확보 할 수 있습니다 .

S3의 반복적 인 비용은 EBS보다 50 % 더 비싸다는 것입니다. 또한 API를 배우고 애플리케이션에 구현해야하지만 이는 일회성 비용으로 매우 빠르게 흡수 할 수 있어야한다고 생각합니다.


이미지가 무기한 지속될 것으로 예상하십니까?

Amazon EBS FAQ는 매우 명확합니다. 연간 고장률은 "본질적으로 0"이 아닙니다. 그들은 0.1 %에서 0.5 %를 인용합니다. 책상 아래의 디스크보다 낫지 만 일종의 백업이 필요합니다.

참고 URL : https://stackoverflow.com/questions/2288402/should-i-persist-images-on-ebs-or-s3

반응형