본문 바로가기

개발자정보

1.6 AWS Storage

반응형

AWS 스토리지 유형 살펴보기

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • 파일, 블록 및 개체 스토리지를 구분합니다.
  • 기존 온프레미스 스토리지 기술이 AWS 스토리지 옵션과 어떤 관련이 있는지 설명하십시오.

메모

이 모듈은 여기에 설명된 AWS 제품, 서비스 및 기능을 소유, 지원 및 유지 관리하는 Amazon Web Services(AWS)와 협력하여 제작되었습니다. AWS 제품, 서비스 및 기능의 사용에는 AWS에서 유지 관리하는 개인 정보 보호 정책 및 서비스 계약이 적용됩니다.

이 모듈을 시작하기 전에 AWS 네트워킹 을 완료하십시오 . 여기에서 수행하는 작업은 그곳에서 배운 개념을 기반으로 합니다.

 

네트워크로 적절히 보호된 Amazon Elastic Compute Cloud(EC2)에 고양이 사진 애플리케이션이 있습니다. 하지만 그렇다고 해서 모든 문제가 사라진 것은 아닙니다.

컴퓨터로 작업할 때 일반적으로 저장소도 함께 작업해야 합니다. 랩톱에서 스토리지는 운영 체제, 소프트웨어, 애플리케이션 및 시스템 파일을 저장하는 내장형 내부 스토리지 또는 외부 드라이브입니다. 이제 고양이 사진 응용 프로그램이 (가상) 컴퓨터에 있으므로 (가상) 드라이브가 어디에 있는지 궁금하지 않을 수 없습니다. 기억나는 것은 EC2 인스턴스를 생성할 때 기본 스토리지 옵션을 선택한다는 것뿐입니다.

고양이 사진 애플리케이션이 계속 성장할 수 있도록 어떻게 더 많은 저장 공간을 추가할 수 있습니까? 이 문제를 해결하는 방법을 배우기 전에 AWS가 지원하는 다양한 유형의 스토리지를 모두 이해하는 것이 중요합니다. 이렇게 하면 문제를 해결할 올바른 스토리지 서비스를 자신 있게 선택할 수 있습니다. 

AWS 스토리지 서비스는 블록 스토리지, 파일 스토리지 및 객체 스토리지의 세 가지 범주로 그룹화됩니다. 

파일 스토리지를 사용하여 계층에 데이터 저장

MacOS의 Windows 파일 탐색기 또는 Finder와 같은 파일 저장 시스템과 상호 작용한 적이 있다면 파일 저장에 익숙할 것입니다. 

폴더와 하위 폴더로 구성된 트리와 같은 계층 구조에 파일을 배치합니다. 

예를 들어, 노트북에 고양이 사진이 수백 개 있는 경우 고양이 사진이라는 폴더를 만들고 해당 이미지를 폴더 안에 넣어 정리할 수 있습니다. 

이 이미지가 고양이 사진 응용 프로그램에서 사용된다는 것을 알고 있으므로 응용 프로그램 파일이라는 다른 폴더 안에 고양이 사진 폴더를 배치할 수 있습니다.

각 파일에는 파일 이름, 파일 크기, 파일 생성 날짜와 같은 메타데이터가 있습니다. 파일에도 경로가 있습니다(예: computer/Application_files/Cat_photos/cats-03.png. 파일을 검색해야 하는 경우 시스템은 경로를 사용하여 파일 계층에서 파일을 찾을 수 있습니다.

파일 스토리지는 여러 호스트 컴퓨터에서 쉽게 공유하고 관리해야 하는 파일에 대한 중앙 집중식 액세스가 필요한 경우에 이상적입니다. 일반적으로 이 스토리지는 여러 호스트에 마운트되며 파일 잠금 및 기존 파일 시스템 통신 프로토콜과의 통합이 필요합니다. 

파일 스토리지의 일반적인 사용 사례는 다음과 같습니다. 

  • 대규모 콘텐츠 저장소
  • 개발 환경
  • 사용자 홈 디렉토리

블록 스토리지를 사용하여 청크에 데이터 저장

파일 스토리지는 파일을 단일 단위로 취급하지만 블록 스토리지는 파일을 자체 주소가 있는 블록 이라고 하는 고정 크기의 데이터 청크로 분할 합니다. 

각 블록에 주소를 지정할 수 있으므로 블록을 효율적으로 검색할 수 있습니다. 

데이터가 요청되면 스토리지 시스템에서 이러한 주소를 사용하여 블록을 올바른 순서로 구성하여 요청자에게 다시 제공할 완전한 파일을 형성합니다.

 주소 외부에는 각 블록과 연결된 추가 메타데이터가 없습니다. 따라서 파일에서 문자를 변경하려면 해당 문자가 포함된 블록 또는 파일 부분만 변경하면 됩니다. 이러한 액세스 용이성은 블록 스토리지 솔루션이 빠르고 더 적은 대역폭을 사용하는 이유입니다.

블록 스토리지는 저지연 작업에 최적화되어 있으므로 저지연 스토리지가 필요한 데이터베이스 또는 ERP(전사적 자원 관리) 시스템과 같은 고성능 엔터프라이즈 워크로드에 대한 일반적인 스토리지 선택입니다. 

객체 스토리지를 사용하여 플랫 주소 공간에 데이터 저장

파일과 마찬가지로 개체도 저장 시 단일 데이터 단위로 취급됩니다. 그러나 파일 저장소와 달리 이러한 개체는 계층 구조가 아닌 평면 구조로 저장됩니다. 

각 개체는 고유 식별자가 있는 파일입니다. 이 식별자는 추가 메타데이터와 함께 데이터와 함께 번들로 제공되어 저장됩니다.

객체에서 하나의 문자만 변경하는 것은 블록 스토리지보다 어렵습니다. 

파일에서 한 문자를 변경하려면 전체 파일을 업데이트해야 합니다.

오브젝트 스토리지를 사용하면 거의 모든 유형의 데이터를 저장할 수 있으며, 저장되는 오브젝트 수에 제한이 없어 쉽게 확장할 수 있습니다. 개체 스토리지는 일반적으로 대용량 데이터 세트, 미디어 자산과 같은 구조화되지 않은 파일, 사진과 같은 정적 자산을 저장할 때 유용합니다.

이것은 나중에 고양이 사진을 저장하는 데 유용할 것입니다. 계속해서 읽어보세요!

기존 스토리지 시스템으로 돌아가기

온프레미스 스토리지로 작업한 적이 있다면 블록, 파일 및 개체 스토리지에 이미 익숙할 것입니다. 

다음 기술과 이 기술이 이전에 본 적이 있는 시스템과 어떤 관련이 있는지 고려하십시오. 

  • 클라우드의 블록 스토리지는 DAS(직접 연결 스토리지) 또는 SAN(스토리지 영역 네트워크) 과 유사합니다 .
  • 파일 스토리지 시스템은 종종 NAS(Network Attached Storage) 서버에서 지원됩니다.

기존 데이터 센터 환경에 더 많은 스토리지를 추가하는 것은 이러한 스토리지 솔루션을 구매, 설치 및 구성해야 하기 때문에 보다 엄격한 프로세스입니다. 클라우드 컴퓨팅을 사용하면 프로세스가 더 유연해집니다. 몇 분 안에 스토리지 솔루션을 생성, 삭제 및 수정할 수 있습니다. 

마무리

이제 다양한 범주의 스토리지를 배웠습니다. 

이 모듈의 나머지 부분에서는 이 정보를 AWS 스토리지 서비스와 연결합니다. 다음 단원에서는 앞에서 설명한 문제에 대한 올바른 보관 서비스를 선택하여 배운 내용을 고양이 사진 응용 프로그램에 적용합니다.

 

Quiz

1. True or false: Block storage is commonly used for transactional applications that need to retrieve data quickly and reliably.

A.True

B.False

 

2. Which of the following is considered an attribute of object storage in the AWS Cloud?

A.There is a limit on how many objects can be stored.

B.There is an unlimited amount of storage for objects.

C.There is a file hierarchy that structures folders and files.

D.There is an identifier to organize the data in blocks.

 

Amazon EBS로 블록 스토리지 확보

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • AWS에서 Amazon Elastic Block Store(EBS)의 기능을 설명합니다.
  • Amazon EBS의 이점을 식별하고 설명합니다.
  • 사용 사례에 적합한 Amazon EBS 볼륨을 결정하십시오.

Amazon EC2 인스턴스를 생성할 때 기본 스토리지 옵션을 선택했으며 이제 스토리지를 추가하는 방법을 알아야 합니다. EC2 인스턴스와 연결된 데이터를 저장하려고 하므로 하드 드라이브와 유사한 스토리지가 필요합니다. 

AWS에서는 Amazon Elastic Block Storage(EBS)를 사용하여 이러한 드라이브를 프로비저닝합니다.

Amazon EBS란 무엇입니까?

이름에서 알 수 있듯이 Amazon EBS는 Amazon EC2 인스턴스에 연결할 수 있는 블록 수준 스토리지 디바이스입니다. 

이러한 스토리지 디바이스를 Amazon EBS 볼륨이라고 합니다. 

EBS 볼륨은 기본적으로 외부 드라이브를 노트북에 연결하는 방식과 유사하게 EC2 인스턴스에 연결된 사용자 구성 크기의 드라이브입니다. 

EBS 볼륨은 여러 면에서 외장 드라이브와 유사하게 작동합니다.

  • 대부분의 Amazon EBS 볼륨은 한 번에 하나의 컴퓨터에만 연결할 수 있습니다. 대부분의 EBS 볼륨은 EC2 인스턴스와 일대일 관계이므로 한 번에 여러 인스턴스에서 공유하거나 연결할 수 없습니다.

메모

최근 AWS는 한 번에 여러 EC2 인스턴스에 볼륨을 연결할 수 있는 Amazon EBS 다중 연결 기능을 발표했습니다. 이 기능은 모든 인스턴스 유형에 사용할 수 없으며 모든 인스턴스가 동일한 가용 영역에 있어야 합니다. EBS 설명서 에서 이 시나리오에 대해 자세히 읽어보십시오 .

  • 한 EC2 인스턴스에서 EBS 볼륨을 분리하고 동일한 가용 영역에 있는 다른 EC2 인스턴스에 연결하여 데이터에 액세스할 수 있습니다.
  • 외장 드라이브는 컴퓨터와 분리되어 있습니다. 즉, 사고가 발생하여 컴퓨터가 다운되는 경우에도 외장 드라이브에 데이터가 남아 있습니다. EBS 볼륨도 마찬가지입니다.

메모

AWS에는 instance store 라는 또 다른 유형의 블록 스토리지가 있습니다 . 인스턴스 스토어는 인스턴스에 존재하며 데이터 수명과 EC2 인스턴스의 수명을 연결합니다. 인스턴스를 삭제하면 인스턴스 스토어도 삭제됩니다. 이 때문에 인스턴스 스토어는 임시 스토리지로 간주됩니다. 자세한 내용은 AWS 설명서 를 참조하십시오 

  • 확장 가능한 방법에 고정된 제한이 있기 때문에 외부 드라이브의 크기로 제한됩니다. 예를 들어, 2TB의 외장 드라이브가 있을 수 있으며 이는 2TB의 콘텐츠만 저장할 수 있음을 의미합니다. 볼륨에는 볼륨에 저장할 수 있는 콘텐츠 양에 대한 최대 제한이 있기 때문에 이는 EBS와도 관련이 있습니다.

Amazon EBS 볼륨 확장

두 가지 방법으로 Amazon EBS 볼륨을 확장할 수 있습니다. 

  1. 최대 크기 제한을 초과하지 않는 한 볼륨 크기를 늘립니다. EBS 볼륨의 경우 보유할 수 있는 최대 스토리지 용량은 16TB입니다. 즉, 5TB EBS 볼륨을 프로비저닝하는 경우 16TB에 도달할 때까지 볼륨 크기를 늘리도록 선택할 수 있습니다.
  2. 단일 Amazon EC2 인스턴스에 여러 볼륨을 연결합니다. EC2는 EBS 볼륨과 일대다 관계입니다. EC2 인스턴스 생성 중 또는 생성 후에 이러한 추가 볼륨을 추가하여 호스트에 더 많은 스토리지 용량을 제공할 수 있습니다.

Amazon EBS 사용 사례

Amazon EBS는 데이터를 빠르게 검색하고 데이터를 장기간 유지해야 할 때 유용합니다. 볼륨은 일반적으로 다음 시나리오에서 사용됩니다. 

  • 운영 체제: 운영 체제 를 저장하기 위한 부팅/루트 볼륨. Amazon 머신 이미지(AMI)에서 시작된 인스턴스의 루트 디바이스는 일반적으로 Amazon EBS 볼륨입니다. AWS Compute 에서 언급한 대로 이를 일반적으로 EBS 지원 AMI라고 합니다 .
  • 데이터베이스: 트랜잭션 읽기 및 쓰기에 의존하는 Amazon EC2에서 실행되는 데이터베이스용 스토리지 계층입니다.
  • 엔터프라이즈 애플리케이션:  Amazon EBS는 비즈니스 크리티컬 애플리케이션을 실행할 수 있는 안정적인 블록 스토리지를 제공합니다.
  • 처리량 집약적 애플리케이션: 길고 지속적인 읽기 및 쓰기를 수행하는 애플리케이션 .

Amazon EBS 볼륨 유형 파악

Amazon EBS 볼륨에는 솔리드 스테이트 드라이브(SSD)와 하드 디스크 드라이브(HDD)의 두 가지 주요 범주가 있습니다. SSD는 임의 입/출력(I/O)에 강력한 성능을 제공하는 반면 HDD는 순차 I/O에 대해 강력한 성능을 제공합니다. AWS는 각각 두 가지 유형을 제공합니다.

다음 차트는 워크로드에 적합한 옵션인 EBS 볼륨을 결정하는 데 도움이 될 수 있습니다.

EBS 프로비저닝된 IOPS SSD(io1)EBS 범용 SSD(gp2)처리량 최적화 HDD(st1)콜드 HDD(sc1)


설명

지연 시간에 민감한 트랜잭션 워크로드를 위해 설계된 고성능 SSD

다양한 트랜잭션 워크로드에 대해 가격과 성능의 균형을 유지하는 범용 SSD

자주 액세스하고 처리량이 많은 워크로드를 위해 설계된 저가형 HDD

액세스 빈도가 낮은 워크로드를 위해 설계된 가장 저렴한 HDD

사용 사례

I/O 집약적인 NoSQL 및 관계형 데이터베이스

부팅 볼륨, 대기 시간이 짧은 대화형 앱, 개발 및 테스트

빅데이터, 데이터웨어하우스, 로그처리

하루에 더 적은 수의 스캔이 필요한 저온 데이터 

볼륨 크기

4GB-16TB

1GB-16TB

500GB-16TB

500GB-16TB

최대 IOPS/볼륨
64,000 16,000 500 250

최대 처리량/볼륨

1,000MB/초

250MB/s

500MB/s

250MB/s

고양이 사진 응용 프로그램은 대기 시간이 짧은 대화형 앱이고 가격과 성능 사이의 균형을 원하기 때문에 사용 사례에 가장 적합한 선택은 EBS 범용 SSD(gp2) 볼륨입니다. 이 애플리케이션의 경우 io1 드라이브의 성능, st1 드라이브의 처리량 집약적 이점 또는 sc1 드라이브의 비용 이점이 필요하지 않습니다. gp2가 최선의 선택입니다. 

Amazon EBS 사용의 이점

다음은 Amazon EBS 사용의 이점입니다(빠른 치트 시트가 필요한 경우).

  • 고가용성: EBS 볼륨을 생성하면 단일 장애 지점으로 인한 데이터 손실을 방지하기 위해 가용 영역 내에서 자동으로 복제됩니다.
  • 데이터 지속성: 인스턴스가 유지되지 않는 경우에도 스토리지가 유지됩니다.
  • 데이터 암호화: 모든 EBS 볼륨은 암호화를 지원합니다.
  • 유연성: EBS 볼륨은 즉석 변경을 지원합니다. 인스턴스를 중지하지 않고 볼륨 유형, 볼륨 크기 및 IOPS(초당 입/출력 작업) 용량을 수정할 수 있습니다.
  • 백업: Amazon EBS는 모든 EBS 볼륨의 백업을 생성할 수 있는 기능을 제공합니다.

데이터 백업

오류가 발생합니다. 이러한 오류 중 하나는 데이터를 백업하지 않아 필연적으로 해당 데이터가 손실되는 것입니다. 이러한 일이 발생하지 않도록 하려면 AWS에서도 데이터를 백업해야 합니다.

EBS 볼륨은 Amazon EC2 인스턴스의 데이터로 구성되므로 스냅샷이라고 하는 이러한 볼륨의 백업을 수행하는 것이 좋습니다.

EBS 스냅샷은 가장 최근 스냅샷 이후에 변경된 볼륨의 블록만 저장하는 증분 백업입니다. 예를 들어 볼륨에 10GB의 데이터가 있고 마지막 스냅샷 이후 2GB의 데이터만 수정된 경우 변경된 2GB만 Amazon Simple Storage Service(Amazon S3)에 기록됩니다.

EBS 볼륨의 스냅샷을 만들 때 이러한 백업은 Amazon S3를 사용하여 여러 가용 영역에 중복 저장됩니다. Amazon S3에 백업을 저장하는 이 측면은 AWS에서 처리하므로 EBS 스냅샷 작업을 위해 Amazon S3와 상호 작용할 필요가 없습니다. EBS 콘솔(EC2 콘솔의 일부)에서 관리하기만 하면 됩니다.

EBS 스냅샷은 동일한 가용 영역에 있든 다른 가용 영역에 있든 관계없이 여러 개의 새 볼륨을 생성하는 데 사용할 수 있습니다. 스냅샷에서 새 볼륨을 생성하면 스냅샷이 생성된 시점의 원본 볼륨과 똑같은 복사본이 생성됩니다.

마무리

새 Amazon EBS 볼륨을 생성하거나 기존 EBS 볼륨을 수정하여 Amazon EC2 인스턴스에 스토리지를 추가할 수 있습니다. Amazon EBS는 장기 영구 블록 스토리지 서비스로 간주됩니다. Amazon EBS는 고양이 사진 애플리케이션에 필요한 파일을 저장하는 데 이상적이지만 크기 및 공유 제한으로 인해 고양이 사진을 저장하는 데 적합하지 않을 수 있습니다. 다음 단원에서는 Amazon S3에 대해 자세히 알아보고 이것이 고양이 사진 애플리케이션에 어떻게 도움이 되는지 알아봅니다.

 

Quiz

1. Which of the following use cases is a good candidate for Amazon EBS?

A.Storage for a data lake that scales from gigabytes to terabytes

B.Storage for unlimited objects to support media hosting

C.Storage for a database that runs on Amazon EC2

D.Storage for data archiving for on-premises apps

 

2. True or false: Amazon EBS volumes are considered ephemeral storage.

A.True

B.False

 

 

Amazon S3로 객체 스토리지 확보

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Amazon Simple Storage Service(S3)의 기능과 특징을 설명합니다.
  • S3 버킷 및 객체와 같은 Amazon S3 개념을 설명합니다.
  • Amazon S3의 사용 사례를 설명합니다.

이제 고양이 사진 애플리케이션의 스토리지 문제를 해결했으므로 안심할 수 있습니다. EBS 스냅샷이 Amazon Simple Storage Service(Amazon S3)에 저장되는 방식에 대한 생각을 멈출 수 없다는 점만 빼면요. 이제 Amazon S3가 무엇인지 궁금합니다.

이 단원에서는 Amazon S3, 용도 및 효율적으로 사용하기 위해 알아야 할 몇 가지 중요한 개념을 다룹니다. 

Amazon S3란 무엇입니까?

Amazon EBS와 달리 Amazon S3는 컴퓨팅에 연결되지 않은 독립 실행형 스토리지 솔루션입니다. 

웹 어디에서나 데이터를 검색할 수 있습니다. 

온라인 스토리지 서비스를 사용하여 로컬 시스템의 데이터를 백업한 적이 있다면 Amazon S3와 유사한 서비스를 사용했을 가능성이 큽니다. 이러한 온라인 스토리지 서비스와 Amazon S3의 가장 큰 차이점은 스토리지 유형입니다. 

Amazon S3는 객체 스토리지 서비스 입니다. 

첫 번째 단원에서 언급했듯이 개체 저장소는 요청 시 개체를 조회하기 위해 고유 식별자를 사용하여 데이터를 평면 구조로 저장합니다. 

이 단원에서 객체는 단순히 메타데이터와 결합된 파일이며 원하는 만큼 이러한 객체를 저장할 수 있다는 것도 배웠습니다. 이러한 객체 스토리지의 모든 특성은 Amazon S3의 특성이기도 합니다. 

Amazon S3 개념 이해

Amazon S3에서는 버킷 이라는 컨테이너에 객체를 저장해야 합니다 . 

먼저 버킷을 생성하지 않고는 고양이 사진 한 장을 포함하여 어떤 객체도 S3에 업로드할 수 없습니다. 

버킷을 생성할 때 최소한 버킷 이름과 버킷이 상주할 AWS 리전의 두 가지를 선택합니다. 

첫 번째 부분은 버킷이 상주할 리전 을 선택하는 것입니다.

일반적으로 컴퓨팅과 같은 다른 리소스에 사용한 리전입니다. 버킷에 대한 리전을 선택하면 해당 버킷에 넣은 모든 객체가 여러 가용 영역에 걸쳐 여러 디바이스에 중복 저장됩니다. 이 수준의 중복성은 Amazon S3 고객에게 주어진 연도 동안 객체에 대해 99.999999999%의 내구성과 99.99%의 가용성을 제공하도록 설계되었습니다.

두 번째 부분은 모든 AWS 계정에서 고유해야 하는 버킷 이름   선택하는 것 입니다. AWS는 다른 AWS 계정의 다른 사람이 이미 선택한 버킷 이름을 선택하지 못하도록 합니다. 이름을 선택하면 해당 이름은 귀하의 것이 되며 해당 버킷을 삭제한 다음 다른 사람이 사용할 수 있도록 이름을 해제하지 않는 한 다른 사람이 소유권을 주장할 수 없습니다.

AWS는 이 이름을 객체 식별자의 일부로 사용합니다. S3에서 각 객체는 다음과 같은 URL을 사용하여 식별됩니다

. http:// 뒤에 버킷 이름이 표시됩니다. 이 예에서 버킷의 이름은 doc. 그런 다음 식별자는 서비스 이름을 사용 s3하고 서비스 공급자를 지정합니다 amazonaws. 그 후에 라는 버킷 내부의 묵시적 폴더 2006-03-01와 라는 폴더 내부 의 객체가 있습니다 AmazonS3.html. 객체 이름은 종종 키 이름 이라고 합니다 .

객체를 구성하는 데 도움이 되도록 버킷 내부에 폴더를 가질 수 있습니다. 그러나 백엔드에서 이를 지원하는 실제 파일 계층이 없음을 기억하십시오. 대신 모든 파일과 폴더가 같은 수준에 있는 평면 구조입니다. 버킷과 폴더를 사용하면 계층 구조를 의미하므로 육안으로 쉽게 이해할 수 있습니다.

S3 사용 사례

Amazon S3는 한 화면에 담을 수 있는 것보다 훨씬 더 많은 사용 사례가 있는 가장 널리 사용되는 스토리지 서비스 중 하나입니다. 

다음 목록에는 Amazon S3를 사용할 수 있는 가장 일반적인 몇 가지 방법이 요약되어 있습니다. 

  • 백업 및 저장: S3는 중복성이 높기 때문에 파일을 백업하는 자연스러운 장소입니다. 마지막 단원에서 언급했듯이 AWS는 고가용성을 활용하기 위해 EBS 스냅샷을 S3에 저장합니다.
  • 미디어 호스팅: 객체를 무제한으로 저장할 수 있고 각 개별 객체는 최대 5TB까지 가능하기 때문에 S3는 비디오, 사진 또는 음악 업로드를 호스팅하기에 이상적인 위치입니다.
  • 소프트웨어 제공: S3를 사용하여 고객이 다운로드할 수 있는 소프트웨어 애플리케이션을 호스팅할 수 있습니다.
  • 데이터 레이크: S3는 사실상 무제한 확장성으로 인해 데이터 레이크를 위한 최적의 기반입니다. 사용한 만큼만 비용을 지불하면 스토리지를 기가바이트에서 페타바이트의 콘텐츠로 늘릴 수 있습니다.
  • 정적 웹 사이트: HTML, CSS 및 클라이언트 측 스크립트의 정적 웹 사이트를 호스팅하도록 버킷을 구성할 수 있습니다.
  • 고양이 사진: 무제한 확장, 대용량 파일 지원, 웹을 통해 언제든지 모든 개체에 액세스할 수 있다는 사실 때문에 S3는 고양이 사진을 저장하기에 완벽한 장소입니다.

고양이 사진을 서버에 직접 저장하거나 Amazon EBS를 사용하는 대신 위에 나열된 이점을 활용해 보십시오. S3를 사용하여 고양이 사진을 저장하면 애플리케이션에서 정적 콘텐츠를 오프로드하고 S3가 제공하는 중복성을 활용할 수 있습니다. 

마무리

Amazon S3는 웹 어디에서나 액세스할 수 있는 URL을 사용하여 객체를 식별하기 때문에 종종 인터넷용 스토리지라고 합니다. 다음 단원에서는 최상의 보안 방법을 포함하여 S3에 대해 자세히 알아봅니다. 

 

 

Quiz

1. Which of the following is a typical use case for Amazon S3?

A.Object storage for media hosting

B.Object storage for a boot drive

C.Block storage for an EC2 instance

D.File storage for multiple EC2 instances

 

2. True or false: Bucket names have to be unique across all AWS accounts.

A.True

B.False

 

 

안전한 Amazon S3

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Amazon S3의 보안 기능을 설명합니다.
  • Amazon S3의 암호화를 설명합니다.
  • S3 버킷 정책과 AWS Identity and Access Management(IAM) 정책을 구별하십시오.
  • Amazon S3에서 버전 관리 기능을 설명합니다.

내 모든 개체가 어디에서나 액세스할 수 있다면 모든 사람이 액세스할 수 있다는 뜻입니까? 모든 사람이 내 고양이 사진에 액세스할 수 있나요? 

리소스에 적합한 연결 옵션 선택

Amazon S3의 모든 항목은 기본적으로 비공개입니다. 즉, 버킷, 폴더 및 객체와 같은 모든 S3 리소스는 해당 리소스를 생성한 사용자 또는 AWS 계정만 볼 수 있습니다. Amazon S3 리소스는 모두 비공개이며 처음부터 보호됩니다.

인터넷의 모든 사람이 고양이 사진을 볼 수 있도록 하려면 버킷, 폴더 및 개체를 공개하도록 선택할 수 있습니다. 공개 리소스는 인터넷의 모든 사람이 볼 수 있음을 의미합니다.

대부분의 경우 권한이 전부 또는 전부가 되는 것을 원하지 않습니다. 일반적으로 리소스에 대한 액세스를 제공하는 방법에 대해 더 세분화되기를 원합니다.

누가 S3 리소스로 무엇을 할 수 있는지 더 구체적으로 설명하기 위해 Amazon S3는 IAM 정책과 S3 버킷 정책이라는 두 가지 주요 액세스 관리 기능을 제공합니다.

IAM 정책 이해

에서 AWS ID 및 액세스 관리 , 당신은 생성 및 IAM 정책을 사용하고, 지금은 아마존 S3에이를 적용 할 수에 대해 배웠습니다. IAM 정책이 IAM 사용자, 그룹 및 역할에 연결되면 정책이 수행할 수 있는 작업을 정의합니다. IAM 정책은 하나의 AWS 서비스에 연결되지 않으며 거의 ​​모든 AWS 작업에 대한 액세스를 정의하는 데 사용할 수 있습니다.

다음과 같은 경우 프라이빗 버킷에 대한 IAM 정책을 사용해야 합니다. 

  • 권한 요구 사항이 서로 다른 많은 버킷이 있습니다. 다양한 S3 버킷 정책을 정의하는 대신 IAM 정책을 사용할 수 있습니다.
  • 모든 정책이 중앙 집중식 위치에 있기를 원합니다. IAM 정책을 사용하면 한 위치에서 모든 정책 정보를 관리할 수 있습니다.

S3 버킷 정책 이해

S3 버킷 정책은 JSON 형식에서 동일한 정책 언어를 사용하여 정의된다는 점에서 IAM 정책과 유사합니다. 차이점은 IAM 정책은 사용자, 그룹 및 역할에 연결되는 반면 S3 버킷 정책은 버킷에만 연결된다는 것입니다. S3 버킷 정책은 버킷에서 허용되거나 거부되는 작업을 지정합니다. 

예를 들어 catphotobucket이라는 버킷이 있는 경우 다른 AWS 계정이 해당 버킷에 객체를 넣을 수 있도록 허용하는 S3 버킷 정책을 연결할 수 있습니다.

익명 시청자 catphotobucket에서 개체를 읽을 수 있도록하려는 경우 또는, 당신은 사람이 사용 버킷에있는 객체 읽을 수 있도록하는 통에 정책을 적용 할 수 있습니다 "Effect":Allow온을 "Action:["s3:GetObject"]".

다음은 해당 S3 버킷 정책의 예입니다. 

{ "Version":"2012-10-17", "Statement":[ { "Sid":"PublicRead", "Effect":"Allow", "Principal": "*", "Action":["s3:GetObject"], "Resource":["arn:aws:s3:::catphotobucket/*"] } ] }

복사

S3 버킷 정책은 버킷에만 배치할 수 있으며 폴더나 객체에는 사용할 수 없습니다. 그러나 버킷에 적용된 정책은 해당 버킷의 모든 객체에 적용됩니다.

다음과 같은 경우 S3 버킷 정책을 사용해야 합니다. 

  • IAM 역할을 사용하지 않고 S3에 대한 교차 계정 액세스를 수행하는 간단한 방법이 필요합니다.
  • IAM 정책이 정의된 크기 제한과 충돌합니다. S3 버킷 정책에는 더 큰 크기 제한이 있습니다.

암호화 S3

Amazon S3는 전송 중(Amazon S3을 오가는 전송 시) 및 저장 시 암호화를 강화합니다. 저장 데이터를 보호하기 위해 다음을 사용할 수 있습니다.

  • 서버 측 암호화: 이를 통해 Amazon S3는 객체를 데이터 센터의 디스크에 저장하기 전에 암호화한 다음 객체를 다운로드할 때 암호를 해독할 수 있습니다.
  • 클라이언트 측 암호화: 클라이언트 측 데이터를 암호화하고 암호화된 데이터를 Amazon S3에 업로드합니다. 이 경우 암호화 프로세스, 암호화 키 및 모든 관련 도구를 관리합니다.

전송 중 암호화를 위해 클라이언트 측 암호화 또는 SSL(Secure Sockets Layer)을 사용할 수 있습니다.

버전 관리를 사용하여 개체 보존

아시다시피 Amazon S3는 부분적으로 객체 이름을 사용하여 객체를 식별합니다. 예를 들어 고양이 사진을 S3에 업로드할 때 개체 이름을 cat.jpg로 지정하고 고양이라는 폴더에 저장할 수 있습니다. Amazon S3 버전 관리를 사용하지 않는 경우 cat.jpg라는 객체를 고양이 폴더에 업로드할 때마다 원본 파일을 덮어씁니다. 

이것은 여러 가지 이유로 문제가 될 수 있습니다. 

  • cat.jpg는 고양이 사진 개체의 일반적인 이름입니다. 귀하 또는 해당 버킷에 대한 액세스 권한이 있는 다른 사람이 해당 버킷을 덮어쓸 의도가 없었을 수 있으며, 이제 귀하는 원래 파일에 더 이상 액세스할 수 없습니다.
  • 다른 버전의 cat.jpg를 보존할 수 있습니다. 버전 관리 없이 cat.jpg의 새 버전을 만들려면 개체를 업로드하고 다른 이름을 선택해야 합니다. 이름 변형에 약간의 차이가 있는 여러 객체가 있으면 버킷에 혼란과 어수선함을 유발할 수 있습니다.

그래서, 당신은 무엇을합니까? 당신은 S3 버전 관리를 사용합니다!

버전 관리를 사용하면 동일한 버킷에 단일 객체의 여러 버전을 유지할 수 있습니다. 이렇게 하면 실수로 삭제하거나 덮어쓰거나 응용 프로그램 오류가 발생하더라도 복구해야 하는 경우에 대비하여 다른 이름 지정 구성을 사용하지 않고도 개체의 이전 버전을 보존할 수 있습니다. 이것이 어떻게 작동하는지 봅시다.

버킷에 대한 버전 관리를 활성화하면 Amazon S3는 저장 중인 객체에 대한 고유한 버전 ID를 자동으로 생성합니다. 예를 들어 하나의 버킷에 catphoto.gif(버전 111111) 및 catphoto.gif(버전 121212)와 같이 키가 동일하지만 버전 ID가 다른 두 개의 객체가 있을 수 있습니다.


버전 관리가 활성화된 버킷을 사용하면 실수로 삭제하거나 덮어쓰는 객체를 복구할 수 있습니다.

  • 개체를 삭제해도 개체가 영구적으로 제거되지는 않습니다. 대신 Amazon S3는 삭제를 시도했음을 나타내는 마커를 객체에 표시합니다. 개체를 복원하려면 이 마커를 제거하면 개체가 복원됩니다.
  • 객체를 덮어쓰면 버킷에 새 객체 버전이 생성됩니다. 이전 버전의 개체에 계속 액세스할 수 있습니다.

버전 관리 상태 이해

버킷은 세 가지 상태 중 하나일 수 있습니다. 

  • 버전 없음(기본값): 버킷의 새 객체 또는 기존 객체에 버전이 없습니다.
  • 버전 관리 활성화: 버킷의 모든 객체에 대한 버전 관리를 활성화합니다.
  • Versioning-suspended: 새 개체에 대한 버전 관리를 일시 중단합니다. 버킷의 모든 새 객체에는 버전이 없습니다. 그러나 모든 기존 개체는 개체 버전을 유지합니다.

버전 관리 상태는 해당 버킷의 모든 객체에 적용됩니다. 버킷의 모든 객체와 해당 객체의 모든 버전에 대해 스토리지 비용이 발생한다는 점에 유의하십시오. S3 청구서를 줄이기 위해 더 이상 사용하지 않는 객체의 이전 버전을 삭제할 수 있습니다. 

마무리

이 단원에서는 액세스 제어를 사용하여 S3 리소스에 대한 원치 않는 액세스를 방지하고, 암호화로 S3 데이터를 보호하고, 버전 관리를 통해 우발적인 덮어쓰기 및 삭제를 방지하는 방법을 배웠습니다. 다음 단원에서는 많은 S3 스토리지 클래스를 활용하는 방법을 배웁니다. 

 

 

Quiz

1. Which of the following are versioning states?

A.Versioning-disabled

B.Versioning-suspended

C.Versioning-enabled

D.A and C

E.B and C

 

2. True or false: Amazon S3 only supports server-side encryption.

A.True

B.False

 

Amazon S3 스토리지 클래스 및 수명 주기 살펴보기

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Amazon S3 스토리지 클래스의 기능을 설명합니다.
  • 수명 주기 정책을 설명합니다.

Amazon S3에 고양이 사진을 저장하고 보호하는 방법을 배웠습니다. Amazon S3에 새 고양이 사진을 저장하면 오래된 고양이 사진에 액세스하는 횟수가 점점 줄어듭니다. 여전히 가끔 액세스하기 때문에 삭제하고 싶지 않지만 동일한 가격을 계속 지불하고 싶지도 않습니다. 너 뭐하니?

이 문제를 해결하기 위해 Amazon S3 스토리지 클래스를 사용할 수 있습니다. 오래된 고양이 사진을 다른 스토리지 계층으로 옮기고 전체 스토리지 비용을 줄일 수 있습니다. 

Amazon S3 스토리지 클래스란 무엇입니까?

Amazon S3에 객체를 업로드하고 스토리지 클래스를 지정하지 않으면 객체를 기본 스토리지 클래스(종종 표준 스토리지라고도 함)에 업로드하는 것입니다. 이전 단원에서 Amazon S3에 대해 배웠을 때 표준 스토리지 클래스에 대해 알지도 못한 채 배우고 있었습니다!

S3 스토리지 클래스를 사용하면 데이터 특성이 변경됨에 따라 스토리지 계층을 변경할 수 있습니다. 예를 들어, 이제 이전 고양이 사진에 자주 액세스하지 않는 경우 비용을 절약하기 위해 해당 고양이 사진이 저장된 스토리지 클래스를 변경할 수 있습니다.

6개의 S3 스토리지 클래스가 있습니다. 

  1. Amazon S3 Standard: 클라우드 애플리케이션, 동적 웹 사이트, 콘텐츠 배포, 모바일 및 게임 애플리케이션, 빅 데이터 분석을 위한 범용 스토리지로 간주됩니다.
  2. Amazon S3 Intelligent-Tiering: 이 계층은 데이터에 알 수 없거나 액세스 패턴이 변경되는 경우에 유용합니다. S3 Intelligent-Tiering은 자주 액세스하는 계층과 자주 액세스하지 않는 계층의 두 계층에 객체를 저장합니다. Amazon S3는 데이터의 액세스 패턴을 모니터링하고 액세스 빈도에 따라 데이터를 가장 비용 효율적인 스토리지 계층으로 자동 이동합니다.
  3. Amazon S3 Standard-Infrequent Access(S3 Standard-IA): S3 Standard-IA는 액세스 빈도가 낮지만 필요할 때 신속하게 액세스해야 하는 데이터용입니다. S3 Standard-IA는 S3 Standard의 높은 내구성, 높은 처리량 및 짧은 대기 시간을 제공하며 GB당 스토리지 가격과 GB당 검색 요금이 저렴합니다. 이 스토리지 계층은 장기 백업, 재해 복구 파일 등을 저장하려는 경우에 이상적입니다.
  4. Amazon S3 One Zone-Infrequent Access(S3 One Zone-IA): 데이터를 최소 3개의 가용 영역(AZ)에 저장하는 다른 S3 스토리지 클래스와 달리 S3 One Zone-IA는 단일 AZ에 데이터를 저장하고 비용이 20% 저렴합니다. S3 Standard-IA보다 S3 One Zone-IA는 자주 액세스하지 않는 데이터를 위한 저렴한 옵션을 원하지만 S3 Standard 또는 S3 Standard-IA의 가용성과 복원력은 필요하지 않은 고객에게 이상적입니다. 온프레미스 데이터 또는 쉽게 다시 생성할 수 있는 데이터의 보조 백업 복사본을 저장하는 데 적합합니다.
  5. Amazon S3 Glacier: S3 Glacier는 데이터 보관을 위한 안전하고 내구성이 있으며 저렴한 스토리지 클래스입니다. 온프레미스 솔루션과 경쟁적이거나 더 저렴한 비용으로 모든 양의 데이터를 안정적으로 저장할 수 있습니다. 비용을 낮게 유지하면서도 다양한 요구 사항에 적합하도록 S3 Glacier는 몇 분에서 몇 시간에 이르는 세 가지 검색 옵션을 제공합니다.
  6. Amazon S3 Glacier Deep Archive: S3 Glacier Deep Archive는 Amazon S3의 가장 저렴한 스토리지 클래스이며 1년에 한두 번 액세스할 수 있는 데이터에 대한 장기 보존 및 디지털 보존을 지원합니다. 규정 준수 요구 사항을 충족하기 위해 데이터 세트를 7~10년 이상 보존하는 금융 서비스, 의료 및 공공 부문과 같이 규제가 엄격한 산업의 고객을 위해 설계되었습니다.

개체 수명 주기 관리로 계층 전환 자동화

고양이 사진과 같은 개체를 스토리지 계층에서 스토리지 계층으로 계속 수동으로 변경하는 경우 수명 주기 정책을 사용하여 이 프로세스를 자동화하는 방법을 고려할 수 있습니다. 객체 또는 객체 그룹에 대한 수명 주기 정책 구성을 정의할 때 전환 및 만료 작업이라는 두 가지 작업을 자동화하도록 선택할 수 있습니다. 

  • 전환 작업 은 객체를 다른 스토리지 클래스로 전환해야 하는 시기를 정의하는 데 사용됩니다.
  • 만료 작업 은 개체가 만료되고 영구적으로 삭제되어야 하는 시기를 정의합니다.

예를 들어 객체를 생성한 지 30일 후에 객체를 S3 Standard-IA 스토리지 클래스로 전환하거나 생성한 지 1년 후에 객체를 S3 Glacier 스토리지 클래스로 아카이브하도록 선택할 수 있습니다.

다음 사용 사례는 수명 주기 관리에 적합한 후보입니다. 

  • 정기 로그: 버킷에 정기 로그를 업로드하는 경우 애플리케이션에 일주일 또는 한 달 동안 필요할 수 있습니다. 그 후에는 삭제할 수 있습니다.
  • 접근 빈도가 변하는 데이터: 일부 문서는 제한된 기간 동안 자주 접근합니다. 그 후에는 자주 액세스하지 않습니다. 어떤 시점에서 실시간 액세스가 필요하지 않을 수 있지만 조직이나 규정에 따라 특정 기간 동안 보관해야 할 수도 있습니다. 그 후에는 삭제할 수 있습니다.

마무리

액세스 패턴이 변경되면 S3 스토리지 클래스를 변경하여 잠재적인 비용 절감을 활용하는 것이 좋습니다. 계층에서 계층으로 개체를 수동으로 이동하거나 수명 주기 정책을 사용하여 프로세스를 자동화할 수 있습니다. 다음 단원에서는 작업에 적합한 보관 도구를 사용하는 방법을 배웁니다.

 

Quiz

1. You are an employee at a healthcare facility tasked with storing 7 years of patient information that is rarely accessed. Your boss wants you to consider one of the Amazon S3 storage tiers to store this information. Which storage tier should you suggest?

A.S3 Standard

B.S3 Glacier Deep Archive

C.S3 Standard-Infrequent Access

D.S3 Intelligent-Tiering

 

2. True or false: To automate the process of transitioning data to different storage classes, you can use Lifecycle policies.

A.True

B.False

 

적합한 스토리지 서비스 선택

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • 각 AWS 스토리지 서비스의 기능을 요약합니다.
  • 각 AWS 스토리지 서비스를 언제 사용해야 하는지 설명하십시오.

이 모듈에서는 Amazon EBS와 Amazon S3에 대해 주로 배웠습니다. 그러나 다른 스토리지 유형 및 AWS 서비스에 대한 간략한 언급도 있었습니다. 이 단원에서는 언급된 모든 스토리지 서비스를 요약하고 "어떤 스토리지 서비스를 사용해야 합니까?"라는 질문에 답합니다. 가장 일반적인 시나리오 중 일부입니다. 

Amazon EC2 인스턴스 스토어

 

인스턴스 스토어는 임시 블록 스토리지입니다. 이는 EC2 인스턴스를 호스팅하는 동일한 물리적 서버에 존재하며 Amazon EC2에서 분리할 수 없는 사전 구성된 스토리지입니다. EC2 인스턴스용 내장 드라이브로 생각할 수 있습니다. 

인스턴스 저장소는 일반적으로 버퍼, 캐시 및 스크래치 데이터와 같이 지속적으로 변경되는 정보의 임시 저장에 적합합니다. 영구적이거나 오래 지속되는 데이터를 위한 것이 아닙니다. 

Amazon EC2에서 분리할 수 있고 볼륨 크기 증가 또는 스냅샷 생성과 같은 더 많은 관리 유연성을 제공할 수 있는 영구 장기 블록 스토리지가 필요한 경우 Amazon EBS를 사용해야 합니다. 

아마존 EBS

 

Amazon EBS는 자주 변경되며 인스턴스 중지, 종료 또는 하드웨어 오류를 통해 유지되어야 하는 데이터를 위한 것입니다. Amazon EBS에는 SSD 지원 볼륨과 HDD 지원 볼륨이라는 두 가지 유형의 볼륨이 있습니다.

SSD 지원 볼륨에는 다음과 같은 특성이 있습니다. 

  • 성능은 IOPS(초당 입력/출력 작업)에 따라 다릅니다.
  • 데이터베이스 및 부팅 볼륨과 같은 트랜잭션 워크로드에 이상적입니다.

HDD 지원 볼륨에는 다음과 같은 특성이 있습니다. 

  • 성능은 MB/s에 따라 다릅니다.
  • 빅 데이터, 데이터 웨어하우스, 로그 처리 및 순차 데이터 I/O와 같은 처리량이 집약적인 워크로드에 이상적입니다.

다음은 다른 서비스와 비교할 때 알아야 할 Amazon EBS의 몇 가지 중요한 기능입니다. 

  • 블록 스토리지입니다.
  • 프로비저닝한 만큼 비용을 지불합니다(스토리지를 미리 프로비저닝해야 함).
  • EBS 볼륨은 단일 가용 영역의 여러 서버에 복제됩니다.
  • 대부분의 EBS 볼륨은 한 번에 하나의 EC2 인스턴스에만 연결할 수 있습니다.

아마존 S3

 

데이터가 자주 변경되지 않는다면 Amazon S3가 더 비용 효율적이고 확장 가능한 스토리지 솔루션이 될 수 있습니다. S3는 정적 웹 콘텐츠 및 미디어, 백업 및 보관, 분석용 데이터를 저장하는 데 이상적이며 사용자 지정 도메인 이름으로 전체 정적 웹사이트를 호스팅하는 데 사용할 수도 있습니다.

다음은 다른 서비스와 비교할 때 알아야 할 Amazon S3의 몇 가지 중요한 기능입니다. 

  • 오브젝트 스토리지입니다.
  • 사용한 만큼만 지불하면 됩니다(스토리지를 미리 프로비저닝할 필요가 없음).
  • Amazon S3는 한 리전의 여러 가용 영역에 걸쳐 객체를 복제합니다.
  • Amazon S3는 컴퓨팅에 연결된 스토리지가 아닙니다.

Amazon Elastic File System(Amazon EFS) 및 Amazon FSx

 

이 모듈에서는 이미 Amazon S3 및 Amazon EBS에 대해 배웠습니다. S3는 플랫 네임스페이스를 사용하며 독립 실행형 파일 시스템으로 사용되지 않는다는 것을 배웠습니다. 또한 대부분의 EBS 볼륨은 한 번에 하나의 EC2 인스턴스에만 연결할 수 있다는 것도 배웠습니다. 그렇다면 AWS에서 파일 스토리지가 필요한 경우 어떤 서비스를 사용해야 할까요?

여러 EC2 인스턴스에 탑재할 수 있는 파일 스토리지의 경우 Amazon Elastic File System(Amazon EFS) 또는 Amazon FSx를 사용할 수 있습니다. 이러한 각 서비스에 대한 자세한 내용은 다음 표를 참조하십시오. 

서비스특성추가 정보

Amazon Elastic 파일 시스템(EFS) 완전 관리형 NFS 파일 시스템.  EFS FAQ
Windows 파일 서버용 Amazon FSx  SMB 프로토콜을 지원하는 Windows Server에 구축된 완전 관리형 파일 서버입니다.  Windows 파일 서버용 FSx FAQ
Lustre용 Amazon FSx  S3와 통합되는 완전 관리형 Lustre 파일 시스템.  FSx for Lustre FAQ

다음은 다른 서비스와 비교할 때 알아야 할 Amazon EFS 및 FSx의 몇 가지 중요한 기능입니다. 

  • 파일 저장입니다.
  • 사용한 만큼만 지불하면 됩니다(스토리지를 미리 프로비저닝할 필요가 없음).
  • Amazon EFS 및 Amazon FSx는 여러 EC2 인스턴스에 탑재할 수 있습니다.

마무리

사용 사례에 적합한 스토리지 옵션을 선택할 때 가격 모델, 내구성 및 가용성 특성, 스토리지의 세 가지 범주를 염두에 두십시오. 이제 고양이 사진 애플리케이션은 고양이 사진 애플리케이션 부팅 드라이브 및 시스템 파일을 위한 Amazon EBS와 실제 고양이 사진의 저장을 위한 Amazon S3라는 두 가지 유형의 스토리지를 사용합니다.

다음 모듈에서는 보다 구조화된 스토리지 유형인 데이터베이스에 대해 알아봅니다. 

 

Quiz

1.Which of the following services is recommended if you need a storage layer for a high-transaction relational database on an EC2 instance?

A.Amazon EC2 Instance Store

B.Amazon EBS

C.Amazon S3

D.Amazon EFS

 

2. True or false: Amazon EFS and Amazon FSx are two object storage services in AWS.

A.True

B.False

 

반응형

'개발자정보' 카테고리의 다른 글

1.8 Monitoring on AWS  (0) 2021.09.12
1.7 AWS Databases  (0) 2021.09.12
1.5 AWS Networking  (0) 2021.09.12
1.4 AWS Compute  (0) 2021.09.12
1.3 AWS Identity and Access Management  (0) 2021.09.12