AWS S3에 대해 알아야 할 모든 것

이 기사에서는 Amazon Web Services의 안전하고 확장 가능하며 매우 저렴한 스토리지 서비스 인 AWS S3에 대한 심층적 인 소개를 제공합니다.

개발자로 일한 적이 있다면 파일 스토리지 사용 사례를 접했을 것입니다. 간단한 이미지에서 큰 비디오에 이르기까지 필요할 때 파일을 업로드, 저장 및 액세스하는 것은 항상 까다 롭습니다.

파일 스토리지에 대한 일반적인 대답은 웹 애플리케이션을 호스팅하는 동일한 서버에 보관하는 것입니다. 그러나 서버리스 아키텍처와 단일 페이지 애플리케이션의 출현으로 동일한 서버에 파일을 저장하는 것은 좋은 생각이 아닙니다.

데이터베이스에 파일을 저장할 수 있다고 주장 할 수 있습니다. 그러나 저를 믿으십시오. 즐거운 경험이 아닐 것입니다.

그래서 다른 옵션은 무엇입니까?

S3 란 무엇입니까?

AWS S3를 살펴 보겠습니다. S3는 Amazon에서 제공하는 사용하기 쉽고 확장 가능하며 저렴한 스토리지 서비스입니다. S3를 사용하여 다양한 사용 사례에 대해 원하는 양의 데이터를 저장할 수 있습니다.

정적 웹 사이트 호스팅, 데이터 보관 및 소프트웨어 제공은 S3가 완벽한 도구가 될 수있는 몇 가지 일반적인 시나리오입니다.

AWS SDK를 사용하여 S3로 데이터를 쉽게 푸시하고 가져올 수 있습니다. S3는 또한 널리 사용되는 여러 프로그래밍 언어를 지원하므로 기존 스택을 사용하고 S3를 매우 쉽게 통합 할 수 있습니다.

S3는 또한 AWS 콘솔을 통해 훌륭한 사용자 인터페이스를 제공합니다. 이를 사용하여 보안 및 버전 제어와 같은 추가 옵션과 함께 S3에 푸시 된 데이터를 볼 수 있습니다.

버킷

S3에서 파일은 버킷에 저장됩니다. 버킷은 컴퓨터의 폴더와 유사합니다.

모든 버킷에는 한 번만 사용할 수있는 고유 한 이름이 있습니다. 예를 들어, "freecodecamp"라는 버킷이있는 경우 귀 하나 다른 누구도 동일한 버킷 이름을 재사용 할 수 없습니다.

이는 리소스를 고유하게 식별하고 도메인 이름을 사용하는 정적 웹 사이트 호스팅에 유용합니다.

버킷에 저장할 수있는 파일 수에는 제한이 없습니다. 버킷은 버전 제어 및 정책과 같은 추가 기능도 제공합니다.

단일 애플리케이션에 다른 버킷을 사용할 수도 있습니다. 예를 들어 의료 기록을 저장하는 앱은 두 개의 버킷을 사용할 수 있습니다. 하나는 개인 고객 데이터 용이고 다른 하나는 백서를 포함하는 공용 버킷입니다.

S3는 또한 객체 기반 스토리지 서비스이므로 S3는 각 파일을 객체로 간주합니다. 모든 개체는 이름, 크기, 날짜 및 기타 정보를 포함하는 자체 메타 데이터를 가질 수 있습니다.

S3 스토리지 유형

S3에는 일반적인 사용 사례에 따라 세 가지 스토리지 클래스가 있습니다.

S3 표준

S3 Standard는 S3 사용을 시작할 때 적용되는 기본 스토리지 플랜입니다. 표준 스토리지 클래스는 뛰어난 성능, 내구성 및 가용성을 제공합니다.

자주 액세스해야하는 데이터가있는 경우 S3 Standard가 가장 좋습니다.

S3 Infrequent Access (S3-IA)

S3 Infrequent Access는 표준 플랜에 비해 데이터 가격이 저렴합니다. 덜 자주 필요한 데이터에 S3-IA를 사용할 수 있습니다.

S3-IA는 백업 및 재해 복구와 같은 사용 사례에 적합합니다.

빙하

Glacier는 S3에서 가장 저렴한 스토리지 옵션이지만 아카이브 스토리지 용으로 설계되었습니다. Glacier에서 Standard 또는 S3-IA만큼 빠르게 데이터를 가져올 수는 없지만 장기 데이터 보관을위한 훌륭한 옵션입니다.

이 세 가지 스토리지 클래스 중 하나를 선택하는 것 외에도 S3에서 수명주기 정책을 설정할 수도 있습니다. 즉, 특정 기간이 지나면 파일이 S3-IA 또는 Glacier로 자동 이동되도록 예약 할 수 있습니다.

왜 S3를 사용합니까?

Netflix, Dropbox 및 Reddit과 같은 회사는 S3의 열렬한 사용자입니다. 인기있는 파일 스토리지 시스템 인 Dropbox는 Amazon S3 위에 전체 스토리지 용량을 구축했습니다.

S3의 핵심 기능 중 일부를 살펴보고 이것이 기업과 신생 기업 모두에서 왜 그렇게 인기가 있는지 이해하겠습니다.

저렴합니다

S3는 저렴합니다. 다른 스토리지 솔루션에 비해 매우 저렴합니다. 그리고 S3에서는 사용한만큼만 지불하면됩니다. 초기 비용이없고 설정도 없습니다. 플러그 앤 플레이입니다.

저렴한 가격 외에도 S3는 프리 티어를 제공합니다. 이 무료 계층은 5GB의 저장 공간, 20,000 개의 GET 요청, 2,000 개의 PUT, COPY, POST 또는 LIST 요청 및 15GB의 데이터 전송과 함께 제공됩니다. 프리 티어는 첫해 동안 매달 사용할 수 있습니다.

S3를 사용하면 필요하지 않은 공간이나 대역폭에 대한 비용을 지불하지 않아도됩니다.

확장 가능

S3는 애플리케이션에 따라 확장됩니다. 사용한만큼만 비용을 지불하므로 S3에 저장할 수있는 데이터에는 제한이 없습니다.

이는 여러 시나리오에서 특히 사용자가 예상치 않게 급증하는 경우에 유용합니다. 추가 공간을 구입할 필요가 없습니다. S3가 당신을 다룹니다.

안전합니다

기업이 S3를 선호하는 여러 이유 중 하나는 보안에 대한 성향입니다. 사용자 지정 서버 설정을 보호해야하지만 S3는 기본적으로 안전합니다.

그렇다고 공개적으로 액세스 할 수있는 정보를 S3에 저장할 수 없다는 의미는 아닙니다. S3는 명시 적으로 설정하지 않는 한 높은 보안으로 모든 데이터를 잠급니다.

S3는 또한 PCI-DSS, HIPAA / HITECH, FedRAMP, EU 데이터 보호 지침 및 FISMA와 같은 규정 준수 프로그램을 유지하여 업계의 규제 요구 사항을 충족 할 수 있도록 지원합니다.

버전 관리가 있습니다.

버전 관리는 파일의 여러 복사본을 유지하고 시간에 따른 변경 사항을 추적하는 것을 의미합니다. 특히 민감한 데이터를 처리 할 때 유용합니다.

S3에서 버전 관리를 활성화하면 실수로 삭제 된 파일을 검색 할 수도 있습니다.

그러나 버전 관리를 활성화하면 동일한 문서의 여러 사본을 저장하게됩니다. 이는 가격 및 읽기 / 쓰기 요청에 영향을 미칠 수 있습니다.

따라서 애플리케이션의 버전 관리를 통합하는 동안이를 고려하십시오.

버전 관리는 S3에 대해 기본적으로 비활성화되어 있지만 AWS 콘솔을 사용하여 버전 관리를 활성화 할 수 있습니다.

내구성이 있습니다

데이터 내구성은 S3의 과소 평가 된 기능입니다. 기업간에 데이터 손실이 얼마나 흔한지를 감안할 때 데이터 내구성은 엔터프라이즈 소프트웨어를 구축 할 때 고려해야 할 핵심 요소입니다.

S3는 내구성이 뛰어난 스토리지 인프라를 제공합니다. S3는 여러 시설에 데이터를 중복 저장하므로 시스템 오류 발생시 데이터를 안전하게 보호합니다. 또한 S3는 정기적 인 데이터 무결성 검사를 수행하여 데이터가 손상되지 않았는지 확인합니다.

S3는 주어진 연도 동안 99.999999999 %의 내구성 (9s 내구성이라고 함)과 99.99 %의 객체 가용성을 제공합니다.

S3 사용 사례

정적 웹 사이트 호스팅

S3를 정적 웹 사이트 호스팅 플랫폼으로 사용할 수 있습니다. 정적 웹 사이트와 동적 웹 사이트의 차이점은 동적 웹 사이트가 사용자 입력을 받고 처리한다는 것입니다. 정적 웹 사이트는 정보 표시에만 사용됩니다.

단일 페이지 애플리케이션의 출현으로 S3에서 종종 무료로 완전한 웹 앱을 호스팅 할 수 있습니다.

React 및 Angular와 같은 프레임 워크는 브라우저 내에서 사용자 입력 처리가 이루어 지도록했습니다. 타사 API를 수신하고 S3 내에서 호스팅하는 SPA를 구축 할 수 있습니다.

또한 S3는 라우팅에 대한 뛰어난 지원을 제공하므로 사용자 지정 도메인도 사용할 수 있습니다.

최근에 S3를 사용하여 React 웹 앱을 호스팅하는 방법에 대한 기사를 작성했으며 여기에서 해당 기사를 찾을 수 있습니다.

해석학

데이터를 분석 플랫폼으로 이동하지 않고도 S3 데이터에 대한 쿼리를 실행할 수 있습니다. 따라서 S3는 강력한 분석 애플리케이션을 구축하기위한 훌륭한 사용 사례가됩니다.

S3는 S3 Select, Amazon Athena 및 Amazon Redshift Spectrum을 포함한 여러 옵션을 제공합니다. 또한이를 AWS Lambda와 결합하여 데이터 처리를 즉시 수행 할 수 있습니다.

파일 공유

Amazon S3는 저렴한 파일 공유 솔루션으로도 사용할 수 있습니다. 기사의 앞부분에서 언급했듯이 유명한 파일 공유 서비스 인 Dropbox는 S3를 기반으로 처음 구축되었습니다.

유연한 보안 정책을 통해 다양한 고객에 대한 사용자 지정 권한으로 S3 버킷을 구성 할 수 있습니다. S3는 또한 전송 가속화를 제공하여 장거리에서 대용량 파일 전송 속도를 높입니다.

요약

Amazon S3는 웹 또는 모바일 애플리케이션 스토리지 요구 사항에 적합한 훌륭한 도구입니다. 주문형 가격 책정과 확장 성을 핵심으로하는 S3는 중소기업과 대기업 모두에게 선호되는 클라우드 스토리지 솔루션이었습니다.

Netflix에서 Pinterest에 이르는 회사는 Amazon의 99.999999999 % 데이터 내구성 약속 덕분에 S3 데이터를 신뢰합니다.

Amazon S3를 개인 스토리지 솔루션으로 사용하거나 정적 사이트 호스팅을 통해 다음 프로젝트를 호스팅 할 수도 있습니다. 간단히 말해서 S3는 다양한 사용 사례를 충족하는 훌륭한 다목적 스토리지 솔루션입니다.

저는 기계 학습, 사이버 보안 및 AWS에 대해 정기적으로 글을 씁니다. 여기에서 주간 뉴스 레터를 신청할 수 있습니다 .