AWS 자격증 취득을 위한 공부 chapter 2에 들어왔다. 지금까지 누적 2시간 가량을 들었는데, 일단 퀄리티 자체는 굉장히 좋다. 그리고 서비스 차원에서 다양한 언어의 자막도 지원하며, 한글자막도 지원을 한다. 하지만, 강사의 표현이 굉장히 쉽고, 발음도 또박또박 해주기 때문에 나는 영어 공부도 할겸 영어자막을 켜놓고 들었다. 평소에도 학교에서 영어강의를 듣고있어서 그런지 솔직히 90% 이상은 다 알아들을 수 있다는 점이 조금 신기하기도 하다. 역시나 이곳 캐나다에서 영어에 많이 노출이 되다보니 자연스럽게 귀가 트이고 말문이 트이는 것 같다.
학기 중에 따로 강의를 듣는 것이기 때문에 시험기간이 겹치거나 학교 일정에 바쁜일이 생기면 이 강의는 당연히 후순위로 밀리게 된다. 따라서 내 목표는 12월 말까지 강의를 마무리하고, 바로 AWS 자격증 시험을 보는 것이다. 아직까지는 그리 어려운 내용이 나오지 않아서 할만하다.
Selecting the Storage Service
-
Amazon S3 (Simple Storage Service):
- 객체 기반의 스토리지 서비스로, 웹 스케일 데이터 저장 및 검색에 적합하다. 대규모 데이터 백업, 웹 사이트, 모바일 앱, 빅데이터 분석 등에 사용된다.
-
Amazon Glacier & Glacier Deep Archive:
- 장기 데이터 아카이브와 백업을 위한 저비용 스토리지 서비스다. Glacier는 몇 분에서 몇 시간 안에 데이터를 검색할 수 있고, Glacier Deep Archive는 12시간 내에 데이터 검색이 가능하다.
-
Amazon CloudFront:
- 콘텐츠 전송 네트워크 (CDN) 서비스로, 웹 콘텐츠와 애플리케이션을 사용자에게 빠르게 전달하기 위해 전 세계에 분산된 Edge Location에 콘텐츠를 캐시한다.
-
Amazon EBS (Elastic Block Store):
- 블록 스토리지 서비스로, Amazon EC2 인스턴스와 함께 사용한다. 데이터베이스나 애플리케이션 호스팅에 주로 사용된다.
-
AWS Storage Gateway:
- 온프레미스 환경과 AWS 클라우드 간의 통합 서비스다. 온프레미스 데이터를 AWS 스토리지 서비스로 쉽게 이전하거나 백업할 수 있다.
-
Snow Family (예: Snowball, Snowmobile):
- 대규모 데이터 이전을 위한 서비스다. 오프라인 방식으로 데이터를 AWS로 전송할 때 사용한다. Snowball은 페타바이트 규모, Snowmobile은 엑사바이트 규모의 데이터 전송을 지원한다.
-
Databases (예: RDS, DynamoDB):
- AWS는 다양한 데이터베이스 서비스를 제공한다. RDS(Relational Database Service)는 관계형 데이터베이스를 지원하며, DynamoDB는 NoSQL 데이터베이스 서비스다.
이러한 서비스들은 AWS 환경에서의 데이터 저장, 전송 및 처리를 위한 다양한 옵션을 제공한다. 각 서비스의 특성과 필요한 요구 사항에 따라 적절한 서비스를 선택하면 좋겠다.
Block Storage
- Used on local networks
- iSCSI
- Fibre Channel
- AWS can use block storage with virtual machines within the AWS cloud using EBS
File Storage
- AWS uses similar, called object storage in S3
- Used with NAS devices locally
-
Block Storage:
- 데이터를 독립된 '블록' 단위로 저장하는 스토리지 유형이다.
- 각 블록은 고유한 주소를 가지지만, 그 안의 내용을 구별하는 메타데이터나 구조는 포함하지 않는다.
- 주로 데이터베이스와 같은 고성능 애플리케이션에서 사용된다.
-
File Storage:
- 데이터를 '파일'과 '디렉터리' 구조 안에 저장하는 스토리지 유형이다.
- 파일은 이름, 디렉터리 위치, 메타데이터와 같은 정보와 함께 저장된다.
- 여러 사용자나 애플리케이션에서 동시에 공유하여 액세스할 수 있다.
간단히 말하면, Block Storage는 데이터를 작은 블록 단위로 분리하여 저장하며, File Storage는 우리가 일반적으로 생각하는 파일 시스템 형태로 데이터를 저장한다.
Block Storage와 File Storage의 공통점과 차이점
공통점:
- 데이터 저장: 두 스토리지 모두 데이터를 안전하게 저장하고 유지하는 데 사용된다.
- 내구성: 대부분의 스토리지 솔루션들은 데이터의 내구성을 보장하기 위한 여러 복제본을 유지한다.
- 확장성: 필요에 따라 저장 용량을 확장할 수 있다.
차이점:
-
데이터 조직 및 액세스:
- Block Storage: 데이터는 독립된 '블록'으로 분할되어 저장된다. 각 블록에는 고유한 식별자가 있지만, 파일 이름이나 데이터 구조는 없다. 따라서, 연속된 블록이 하나의 파일을 구성할 수도 있고, 서로 다른 파일의 일부가 될 수도 있다.
- File Storage: 데이터는 '파일'로 구성되어 디렉터리 구조 안에 저장된다. 사용자는 파일 경로와 이름을 통해 데이터에 액세스한다.
-
용도:
- Block Storage: 주로 데이터베이스, 애플리케이션 호스팅 등의 IOPS가 중요한 작업에 적합하다. AWS의 EBS(Elastic Block Store)가 이에 해당한다.
- File Storage: 공유 파일 시스템이 필요한 워크로드, 문서 관리, 미디어 저장 및 공유 등에 적합하다. AWS의 EFS(Elastic File System)가 이에 해당한다.
-
동시 액세스:
- Block Storage: 일반적으로 단일 인스턴스에서만 블록 스토리지에 동시 액세스하는 것이 권장된다.
- File Storage: 여러 사용자나 애플리케이션에서 동시에 액세스할 수 있다.
-
프로토콜:
- Block Storage: iSCSI, Fibre Channel 등의 블록 기반 프로토콜을 사용한다.
- File Storage: NFS, SMB 등의 파일 기반 프로토콜을 사용한다.
요약하면, Block Storage는 블록 단위로 데이터를 저장하며 주로 데이터베이스와 같은 IOPS 중심의 워크로드에 적합하다. 반면, File Storage는 파일 단위로 데이터를 저장하며 여러 사용자나 애플리케이션에서 동시에 액세스할 때 유용하다.
Selecting Storage
- Size
- Performance
- Cost
Summary
- The S3 (Simple Storage Service) service provides storage for objects (files).
- Block storage is provided using the Elastic Block Store (EBS).
- Select storage services based on capacity (size), performance, and cost.
S3 Storage class
- Object storage
- Distributes across at least three Availability zones.
- Except: 1A (1 zone, least expensive)
- Supports encryption and automatic data classification.
- Big data analytics and run directly against stored data.
알겠다. 주어진 내용을 바탕으로 Amazon S3와 관련된 주요 특징들에 대해 설명하겠다.
Amazon S3 (Simple Storage Service):
-
Object Storage:
- S3는 객체 스토리지 서비스다. 이는 데이터를 파일 형태의 '객체'로 저장하며, 각 객체는 데이터, 메타데이터 및 고유한 식별자를 포함한다.
-
데이터 분산:
- S3는 데이터를 적어도 세 개의 가용 영역(Availability Zones)에 분산하여 저장한다. 이렇게 함으로써 높은 내구성과 가용성을 보장한다.
- 그러나 "1A" 또는 "One Zone-IA (Infrequent Access)" 스토리지 클래스를 사용하는 경우, 데이터는 하나의 가용 영역에만 저장된다. 이 클래스는 덜 중요한 데이터나 장기간 접근이 드물게 필요한 데이터에 사용하기에 적합하며, 다른 스토리지 클래스에 비해 비용이 낮다.
-
보안 및 관리 기능:
- S3는 데이터를 암호화하여 저장할 수 있다. 사용자는 객체를 저장할 때 서버 측 암호화를 사용하거나, 클라이언트 측에서 데이터를 암호화한 후 업로드할 수 있다.
- 또한 S3는 자동 데이터 분류 및 관리를 지원하여, 데이터의 수명 주기를 효과적으로 관리할 수 있다.
-
빅 데이터 분석:
- S3에 저장된 데이터에 대해 빅 데이터 분석을 직접 실행할 수 있다. 여러 AWS 분석 서비스와 통합되어, 사용자는 데이터를 다른 위치로 이동시키지 않고도 분석을 수행할 수 있다.
이러한 특징들은 Amazon S3를 높은 내구성, 확장성 및 유연성을 가진 객체 스토리지 서비스로 만든다. 사용자는 이러한 특징을 활용하여 다양한 워크로드와 요구 사항에 맞는 데이터 저장 및 관리 전략을 구축할 수 있다.
Getting Data into S3
- API
- Amazon Direct Connect
- Storage Gateway
- Kinesis Firehose
- Transfer Acceleration
- Snow family
- Snowball: PB
- Snowball Edge: 100TB
- Snowmobile: EB
Amazon S3로 데이터를 가져오는 여러 가지 방법들에 대한 간단한 설명을 제공하겠다.
-
API:
- AWS는 S3 객체를 생성, 읽기, 업데이트 및 삭제하기 위한 프로그래밍 방식의 접근을 제공하는 API를 제공한다. 대표적으로는 PUT, GET, DELETE 요청이 있다.
-
Amazon Direct Connect:
- Direct Connect는 사용자의 데이터 센터와 AWS의 데이터 센터 사이에 전용 네트워크 연결을 설정한다. 이를 통해 인터넷을 거치지 않고 높은 대역폭과 더 안정적인 연결로 S3와 다른 AWS 서비스로 데이터를 전송할 수 있다.
-
Storage Gateway:
- Storage Gateway는 온프레미스 환경과 AWS 클라우드 간의 통합을 제공한다. 이 서비스를 사용하면 온프레미스 데이터를 가상 애플리케이션 인터페이스나 물리적 하드웨어 어플라이언스를 통해 S3로 쉽게 백업하거나 이전할 수 있다.
-
Kinesis Firehose:
- Kinesis Firehose는 실시간 스트리밍 데이터를 쉽게 로드하기 위한 완전 관리형 서비스다. 데이터를 실시간으로 수집하고, 변환 후 S3나 다른 AWS 서비스로 전송할 수 있다.
-
Transfer Acceleration:
- S3 Transfer Acceleration은 사용자가 S3로의 데이터 업로드 및 다운로드 속도를 높이기 위해 Amazon CloudFront의 글로벌 가속화 위치를 활용한다.
-
Snow family:
- Snowball: 대규모 데이터 이전을 위한 장치로, 페타바이트(PB) 규모의 데이터를 AWS로 빠르게 전송할 수 있다.
- Snowball Edge: Snowball의 확장 버전으로, 약 100TB의 저장 용량을 가진다. 추가적인 컴퓨팅 기능과 데이터 처리 능력도 갖추고 있다.
- Snowmobile: 엑사바이트(EB) 규모의 데이터를 AWS로 전송하기 위한 특수화된 컨테이너 트럭이다. 매우 큰 데이터 세트를 짧은 시간 내에 AWS로 이전하고자 할 때 사용된다.
이러한 방법들은 데이터의 크기, 전송 속도 요구사항, 비용 및 인프라의 구성에 따라 다르게 적용될 수 있다.
Summary
- S3 storage is distributed across 3 AZs, except 1A, which uses one zone and is less expensive.
- S3 allows for automatic data classification.
- Files stored in S3 can be encrypted.
- Many other services can store data in S3, including Kinesis, Firehose, Storage Gateway, and the AWS API
S3 Terminology
S3 Concepts
- Buckets
- Regions
- Objects
- Keys: logical name of the object
- Object URLs
- Eventual consistency
- Objects in S3 buckets have eventual consistency.
- Objects in Elastic block Stores area consistent.
- Works great for static website hosting
알겠다. 주어진 S3의 주요 개념들에 대해 설명하겠다.
-
Buckets:
- Amazon S3에서 객체를 저장하기 위한 기본 컨테이너다. 각각의 Bucket은 전역적으로 고유한 이름을 가져야 한다.
-
Regions:
- S3의 데이터는 AWS의 특정 지역(Regions)에 저장된다. 사용자는 Bucket을 생성할 때 이를 호스팅할 리전을 선택할 수 있다.
-
Objects:
- S3에 저장되는 데이터 항목들이다. 객체는 파일, 이미지, 동영상 등 어떠한 데이터 형태로도 저장될 수 있다.
-
Keys:
- S3의 각 객체는 키를 사용하여 고유하게 식별된다. 키는 객체의 논리적 이름으로, 폴더 구조를 포함하여 전체 경로가 될 수 있다.
-
Object URLs:
- S3에서 객체에 액세스하기 위한 고유한 URL이다. 이 URL은 Bucket 이름, 리전, Amazon S3 도메인 및 객체 키를 포함한다.
-
Eventual Consistency:
- S3의 객체는 '최종 일관성' 모델을 따른다. 이는 새로운 객체를 추가하거나 기존 객체를 삭제/업데이트한 후에는 짧은 시간 동안 일관성이 보장되지 않을 수 있다는 것을 의미한다. 그러나 Elastic Block Store (EBS)는 일관성을 가진다.
-
Works great for static website hosting:
- S3는 정적 웹사이트 호스팅에 적합하다. HTML, CSS, JavaScript 및 이미지와 같은 정적 리소스를 저장하고 웹사이트로 서비스할 수 있다.
이러한 개념들은 Amazon S3의 핵심 구성 요소 및 특징이며, 이를 이해하면 S3의 다양한 기능과 용도를 더 효과적으로 활용할 수 있다.
Common S3 Operations
- Creating and deleting buckets
- Writing objects
- Reading objects
- Deleting objects
- Managing object properties
- Listing keys in buckets
네, S3에서 수행할 수 있는 일반적인 작업들에 대해 설명하겠다.
-
Creating and Deleting Buckets:
- 생성: AWS Management Console, AWS CLI, SDK를 사용하여 새로운 Bucket을 생성할 수 있다. Bucket을 생성할 때는 고유한 이름과 원하는 리전을 지정해야 한다.
- 삭제: Bucket을 삭제하기 전에 그 안의 모든 객체와 버전을 먼저 삭제해야 한다. AWS Management Console, AWS CLI, SDK 등의 도구를 사용하여 Bucket을 삭제할 수 있다.
-
Writing Objects:
- 데이터(객체)를 S3 Bucket에 업로드하는 것이다. 객체를 업로드할 때는 고유한 키와 함께 저장되며, 선택적으로 메타데이터, 액세스 권한 및 다른 설정도 지정할 수 있다.
-
Reading Objects:
- 저장된 객체를 검색하거나 다운로드한다. 객체의 키나 S3 제공 URL을 사용하여 해당 객체에 액세스할 수 있다.
-
Deleting Objects:
- 저장된 객체를 삭제한다. 객체의 키를 사용하여 특정 객체를 삭제할 수 있다.
-
Managing Object Properties:
- 객체의 메타데이터, 액세스 권한, 스토리지 클래스 및 다른 속성을 관리한다. 예를 들면, 객체의 저장 수명 주기를 설정하거나, 서버 측 암호화를 활성화할 수 있다.
-
Listing Keys in Buckets:
- Bucket 내에 저장된 객체들의 키를 나열한다. 이는 Bucket의 내용을 탐색하거나 특정 객체를 찾기 위해 사용된다.
이러한 기본 작업들은 Amazon S3를 사용하여 데이터를 저장, 검색 및 관리하는 데 필요한 핵심 작업이다. AWS Management Console, AWS CLI, SDK 등 다양한 도구와 인터페이스를 통해 이러한 작업들을 수행할 수 있다.
REST Interface
- Representational State Transfer (REST)
- S3 API
- Maps HTTP methods to CRUD operations
- Create uses PUT or POST
- Read uses GET
- Update uses POST or PUT
- Delete uses DELETE
REST (Representational State Transfer)
는 네트워크 상에서 리소스를 정의하고 리소스에 대한 주소를 지정하며, 해당 리소스에 대한 CRUD (Create, Read, Update, Delete) 작업을 수행하기 위한 프로토콜입니다. 주로 HTTP를 사용하여 구현된다.
Amazon S3는 REST 기반의 API를 제공하여 사용자가 프로그래밍 방식으로 S3의 리소스와 작업을 수행할 수 있게 한다. 여기서의 주요 매핑에 대해 설명하겠다.
-
S3 API:
- Amazon S3의 기능과 작업을 수행할 수 있게 하는 프로그래밍 인터페이스다. 이 API는 REST를 기반으로 하며, HTTP 메서드를 사용하여 S3 리소스에 접근하고 작업을 수행한다.
-
Maps HTTP methods to CRUD operations:
-
Create: 새 리소스(예: 객체)를 생성하거나 저장한다.
- PUT: 지정된 URI에 리소스를 생성하거나, 이미 있으면 해당 리소스를 교체한다.
- POST: 서버가 처리한 후 적절한 URI에 리소스를 저장한다.
-
Read: 리소스를 조회한다.
- GET: 지정된 URI의 리소스를 검색한다.
-
Update: 리소스를 수정한다.
- POST: 리소스의 부분적인 수정을 수행한다.
- PUT: 리소스의 전체를 교체한다.
-
Delete: 리소스를 삭제한다.
- DELETE: 지정된 URI의 리소스를 삭제한다.
-
Amazon S3와 같은 RESTful 서비스는 이러한 HTTP 메서드를 사용하여 리소스의 상태를 전송하고 변경하는데, 이를 통해 개발자는 웹을 통해 분산 시스템에서의 상호 작용을 단순화하고 표준화할 수 있다.
Summary
- Think of S3 buckets like drives on your local computer.
- Files are objects in S3 buckets.
- An S3 bucket can act as a static web server.
- The S3 API is based on REST, which uses HTTP methods.
S3 advanced features
S3 Features
- Prefixed and delimiters
- Storage classes
- Amazon S3 Standard : $$$$$
- Amazon S3 Infrequent Access (IA) Storage: $$$$
- Amazon S3 Reduced Redundancy Storage (RRS): $$
- Glacier: $
- 따라서 S3 Standard로 시작해서 점차 Glacier로 가는 path가 이상적이다.
- Encryption
- Sever-Side Encryption(SSE)
- Client-Side Encryption(CSE)
- Versioning
- Multi-Factor Authentication (MFA) Delete
- Multi-part upload
- Range GETs
- Cross-Region replication
- Logging
- Event notifications
S3의 주요 기능들에 대한 간단한 설명을 제공하겠다.
-
Prefixes and Delimiters:
- S3에서 객체는 '키'로 식별된다. Prefix와 Delimiter는 객체의 키 구조를 활용하여 폴더처럼 객체 그룹을 조직하고 검색하는 데 사용된다.
-
Storage Classes:
- S3는 데이터의 액세스 패턴 및 수명주기에 따라 다양한 스토리지 클래스를 제공한다.
- Amazon S3 Standard: 자주 액세스하는 데이터에 적합하며, 최고의 성능과 내구성을 제공한다.
- Amazon S3 Infrequent Access (IA): 잘 접근되지 않지만, 필요할 때 빠르게 액세스해야하는 데이터에 적합하다.
- Amazon S3 Reduced Redundancy Storage (RRS): 중복된 데이터의 저장 비용을 절감하고 싶을 때 사용된다. 그러나 S3 Standard에 비해 내구성이 떨어진다.
- Glacier: 장기 보관용 데이터에 적합하며, 저렴한 비용으로 데이터를 저장한다.
- S3는 데이터의 액세스 패턴 및 수명주기에 따라 다양한 스토리지 클래스를 제공한다.
-
Encryption:
- Server-Side Encryption (SSE): 데이터가 S3에 저장될 때 암호화하고, 다운로드할 때 복호화한다.
- Client-Side Encryption (CSE): 클라이언트 측에서 데이터를 암호화한 후 S3에 업로드하며, 다운로드 후 클라이언트에서 복호화한다.
-
Versioning:
- 객체의 여러 버전을 저장하고 관리할 수 있다.
-
Multi-Factor Authentication (MFA) Delete:
- MFA를 사용하여 객체 삭제를 보호한다.
-
Multi-part upload:
- 큰 객체를 여러 부분으로 나누어 업로드하며, 나중에 다시 합칠 수 있다.
-
Range GETs:
- 객체의 일부분만 검색할 수 있다.
-
Cross-Region Replication:
- 한 리전에서 저장된 객체를 다른 리전의 S3 Bucket으로 자동 복제한다.
-
Logging:
- 모든 요청에 대한 로그를 기록하며, 분석과 모니터링에 사용할 수 있다.
-
Event notifications:
- 특정 이벤트(예: 객체 업로드)가 발생할 때 알림을 받을 수 있다.
S3의 이러한 기능들은 데이터의 보안, 내구성 및 가용성을 강화하고, 다양한 워크로드와 요구 사항에 대응할 수 있게 해준다.
Summary
- S3 uses prefixes in place of folders, through they appear as folders.
- Choosing the right storage class is based on performance and cost.
- Administrators can receive event notifications based on activities performed against S3 objects.
Creating S3 buckets lab
DNS compliant
- Fully qualified domain name (FQDN)
- The bucket names must be globally unique.
DNS(Domain Name System)
호환성은 인터넷의 도메인 이름을 IP 주소로 변환하고, IP 주소를 도메인 이름으로 다시 변환하는 데 사용되는 시스템을 말한다. Amazon S3의 버킷 이름은 DNS 호환성을 갖춰야 한다는 것이 특징이다.
Fully qualified domain name (FQDN):
- FQDN은 컴퓨터나 네트워크 호스트의 전체 도메인 이름을 말한다. FQDN은 각 호스트의 고유한 이름을 제공하며, 일반적으로 "host.domain.tld" 형식을 따른다. 여기서 "tld"는 최상위 도메인을 나타낸다.
버킷 이름은 전역적으로 고유해야 한다:
- Amazon S3에서 버킷의 이름은 전역적으로 고유해야 한다. 이는 전 세계의 모든 AWS 사용자 사이에서 버킷의 이름이 중복될 수 없다는 것을 의미한다. 이 규칙은 버킷을 고유한 FQDN으로 사용할 수 있게 하기 위한 것이다. 예를 들어, "my-unique-bucket"라는 이름의 S3 버킷을 만들면 해당 버킷의 FQDN은 "my-unique-bucket.s3.amazonaws.com"이 될 것이다.
이러한 DNS 호환성 규칙은 S3 버킷의 웹 호스팅과 같은 기능을 가능하게 한다.
버킷이라는 것을 생각할 때, 우리가 물을 담아두는 버킷을 상상해 보자. 이런 버킷에는 물을 담을 수도 있고, 다른 것들을 담을 수도 있다. Amazon S3의 버킷도 비슷한데, 이것은 물 대신에 사진, 동영상, 문서와 같은 파일을 인터넷에 저장하는 데 사용된다.
이렇게 S3 버킷에 파일을 저장하면, 언제든지 인터넷을 통해 그 파일을 볼 수 있다. 그리고 이 버킷은 전 세계 어디서든 접근할 수 있다는 것이 특별한 점이다.
그런데, S3에서 버킷의 이름은 전 세계에서 오직 하나만 있어야 한다. 예를 들면, '나의 첫번째 버킷'이라는 이름의 버킷을 만들었다면, 전 세계의 다른 모든 사람들은 동일한 이름으로 버킷을 만들 수 없다.
그리고 이런 버킷 안에는 다양한 폴더와 파일을 넣을 수 있다. 마치 컴퓨터의 폴더 안에 파일을 넣는 것처럼 말이다. 이 때, 각 파일은 그 안에 있는 위치와 이름으로 찾을 수 있게된다.
요약하면, S3의 버킷은 인터넷에 파일을 안전하게 저장할 수 있는 공간이라고 생각하면 되며, 그 안에 넣은 파일은 언제든지 다시 보거나 가져올 수 있다는 것이다.
Versioning
Versioning은 한번 실행하면 cancel이나 disable은 안되고 suspend만 된다.
Amazon S3의 버전 관리(Versioning)
기능은 매우 강력한데, 특히 데이터의 실수로 인한 손실이나 오버라이드를 방지하기 위해 사용된다. 버전 관리를 활성화하면 S3는 모든 객체의 모든 버전을 자동으로 저장하고 유지한다.
버전 관리가 활성화된 버킷에서 객체를 삭제하면 실제로 삭제되지 않고, 해당 객체에 대한 삭제 마커가 추가된다. 이렇게 하면 이전 버전의 객체를 언제든지 복구할 수 있다.
하지만, 한 번 버전 관리가 활성화되면 이를 완전히 비활성화할 수 없다. 대신, 버전 관리를 일시 중지(Suspend)
할 수 있다. 이렇게 할 경우, 버전 관리가 일시 중지된 후에 저장된 객체는 버전이 생성되지 않지만, 이전에 버전 관리가 활성화된 동안 저장된 객체의 버전은 보존된다.
따라서, 버전 관리를 사용할 때는 이러한 특성을 염두에 두고 조심스럽게 활용해야 한다.
Summary
- Use the AWS Console to create S3 buckets.
- After creating a bucket, you can upload files like any other cloud-based storage solution.
- Objects can be configured with security parameters to control access.
S3 bucket properties
Static web hosting
- html 등 static한 사이트를 hosting할 수 있다.
Amazon S3의 버킷은 정적 웹 호스팅(Static Web Hosting)
기능을 제공한다.
정적 웹 호스팅이란? 정적 웹 사이트는 서버 측 프로그래밍 없이 클라이언트에게 직접 제공되는 웹 페이지로 구성된다. 주로 HTML, CSS, JavaScript 파일과 같은 고정된 내용만 있는 웹 페이지들로 구성된다.
S3의 정적 웹 호스팅 기능:
- 간단한 설정: S3 버킷 설정에서 몇 번의 클릭으로 정적 웹 호스팅을 활성화할 수 있다.
- 도메인 연결: 사용자 지정 도메인 이름을 S3 버킷에 연결하여 사이트의 주소를 원하는 대로 설정할 수 있다.
- 높은 내구성 및 가용성: Amazon S3는 데이터의 높은 내구성과 가용성을 보장한다. 따라서 웹사이트의 데이터는 안전하게 보호된다.
- 비용 효율적: 전통적인 웹 호스팅 서비스에 비해 S3는 사용한만큼만 비용을 지불하므로 매우 비용 효율적이다.
- 전세계 액세스: S3의 글로벌 인프라 덕분에 전 세계 어디서든 빠르게 웹사이트에 액세스할 수 있다.
예를 들어, 개인 포트폴리오나 프로젝트 소개 사이트 같은 간단한 웹사이트를 만들고 싶다면, S3의 정적 웹 호스팅 기능을 사용하면 손쉽게 웹사이트를 인터넷에 올릴 수 있다.
Default Encryption
- AWS Key Management Service (KMS)
- storage security이다.
기본 암호화(Default Encryption)
는 Amazon S3 버킷에 저장된 데이터를 자동으로 암호화하는 기능이다. 이 기능을 사용하면 버킷에 저장되는 모든 객체는 자동으로 암호화된다.
AWS Key Management Service (KMS): KMS는 AWS에서 제공하는 중앙화된 키 관리 서비스다. 이 서비스를 사용하면 암호화 키를 쉽게 생성, 제어 및 관리할 수 있다. KMS는 암호화 키의 라이프사이클을 관리하며, 키를 안전하게 저장하고 사용자의 권한에 따라 암호화 키에 대한 액세스를 제어한다.
S3의 기본 암호화와 KMS: S3의 기본 암호화 설정에서 KMS를 사용하도록 선택할 수 있다. 이렇게 설정하면, S3는 KMS의 고유 키(또는 사용자가 지정한 키)를 사용하여 객체를 암호화하고 복호화한다.
storage security: 데이터를 안전하게 보관하는 것은 매우 중요하다. 암호화는 데이터를 보호하는 주요 방법 중 하나로, 암호화되지 않은 데이터가 공격자에게 노출될 경우 그 데이터는 읽을 수 없도록 변환된다. 따라서, S3의 기본 암호화 기능은 저장된 데이터의 보안을 강화하는 데 중요한 역할을 한다.
결론적으로, S3의 기본 암호화 기능을 사용하면 버킷에 저장되는 모든 데이터를 자동으로 암호화하여 데이터의 보안을 강화할 수 있다. KMS와 함께 사용하면 암호화 키의 관리와 보안도 간편하게 할 수 있다.
Permissions
- account setting
- bucket polity: JSON policies
- policy generator
- CORS configuration
Permissions
은 AWS에서 리소스에 대한 액세스를 제어하는 방법을 말한다. 특히 Amazon S3에서는 다양한 수준의 권한 설정이 가능하다.
-
Account Setting:
- AWS 계정의 전반적인 설정이다. IAM(Identity and Access Management)을 사용하여 사용자, 그룹 및 권한을 관리한다. IAM을 통해 특정 사용자에게 S3 버킷 또는 오브젝트에 대한 액세스 권한을 부여하거나 제한할 수 있다.
-
Bucket Policy:
버킷 정책
은 JSON 형식의 문서로, 특정 버킷 또는 그 안의 오브젝트에 대한 권한을 정의한다. 예를 들어, 특정 사용자에게 버킷 내의 모든 객체를 읽게 하거나, 특정 IP 주소에서만 오브젝트를 업로드하게 할 수 있다.
-
Policy Generator:
- AWS에서 제공하는 도구로, 버킷 정책을 쉽게 생성할 수 있다. 사용자는 원하는 권한과 조건을 선택하면, 도구가 이에 해당하는 JSON 정책을 자동으로 생성한다.
-
CORS Configuration:
CORS (Cross-Origin Resource Sharing)
는 웹 페이지가 다른 도메인의 리소스에 액세스할 수 있게 해주는 메커니즘이다. S3 버킷에서 정적 웹 콘텐츠를 호스팅할 때, 다른 도메인의 웹 페이지가 이 콘텐츠에 액세스할 수 있도록 CORS 설정을 할 수 있다.
이러한 권한 설정들을 통해 S3 버킷 및 오브젝트에 대한 세밀한 액세스 제어가 가능하다. 사용자는 이러한 도구와 설정을 사용하여 데이터의 보안 및 공유를 효과적으로 관리할 수 있다.
Management
- Lifecycle rule
- 여기서 storage class transition rule을 설정할 수 있다.
- 예를 들어, 30일 후에 Standard IA로 이동해라, Glacier로 60일 후에 이동해라 등등
Lifecycle rule
은 Amazon S3에서 데이터의 수명 주기를 자동으로 관리하기 위한 규칙이다. 이 규칙을 사용하면 오브젝트가 저장된 지 정해진 시간이 지난 후에 자동으로 다른 스토리지 클래스로 이동하게 할 수 있거나, 특정 기간이 지난 후에 오브젝트를 자동으로 삭제하게 할 수 있다.
Lifecycle rule의 주요 기능:
-
Storage Class Transition:
스토리지 클래스 전환 규칙
을 설정하여 오브젝트를 한 스토리지 클래스에서 다른 스토리지 클래스로 자동으로 이동할 수 있다.- 예를 들어, 오브젝트를 처음에는 S3 Standard 클래스에 저장하고, 30일 후에는 저렴한 S3 Standard-IA 클래스로 이동하도록 설정할 수 있다. 또한, 60일 후에는 더 저렴한 Glacier로 이동하도록 설정할 수도 있다. 이러한 전환은 주로 비용을 절감하기 위해 사용된다.
-
Expiration:
- 오브젝트의 유효 기간을 설정하여, 그 기간이 지나면 자동으로 삭제되도록 할 수 있다. 예를 들어, 90일 후에 오브젝트를 자동으로 삭제하도록 설정할 수 있다.
Lifecycle rule을 설정하는 과정은 다음과 같다:
- S3 콘솔에 로그인하고 원하는 버킷을 선택한다.
- 관리(Management) 섹션으로 이동한다.
- Lifecycle 규칙 추가(Add Lifecycle Rule)를 클릭한다.
- 필요한 설정을 입력하고 규칙을 저장한다.
이렇게 설정한 Lifecycle 규칙은 자동으로 적용되어, 오브젝트의 수명 주기를 효과적으로 관리할 수 있다.
Summary
- Object properties include storage class, encryption, metadata, and tags.
- Metadata is used to define the purpose of the object.
- Tags are used to search, organize, and manage access.
S3에서는 폴더의 개념이 없다. 다만 prefix와 delimiter가 이런 역할을 대신해 주는 것이다.
Amazon S3는 기본적으로 평평한 네임스페이스를 가지고 있어서, 전통적인 파일 시스템에서와 같은 폴더나 디렉토리의 개념이 존재하지 않는다. 대신, S3에서는 prefix
와 delimiter
를 사용하여 폴더와 유사한 구조를 표현하고 관리한다.
-
Prefix:
prefix
는 오브젝트 키의 시작 부분이다. 예를 들어, "photos/summer/july/image01.jpg"라는 오브젝트 키가 있다면, "photos/summer/july/"는 prefix로 볼 수 있다. 이렇게 prefix를 사용하면 특정 부분으로 시작하는 오브젝트들만 선택하여 보거나 관리할 수 있다.
-
Delimiter:
delimiter
는 오브젝트 키를 분리하는 문자다. 대부분의 경우에는 슬래시(/
)를 delimiter로 사용하여 폴더와 유사한 계층 구조를 표현한다. 위의 예에서 슬래시(/
)는 delimiter로 작동하여 "photos", "summer", "july"와 같은 다양한 "폴더"를 표현한다.
S3 콘솔에서 버킷을 보면, 폴더처럼 보이는 구조를 볼 수 있는데, 이는 실제로는 prefix
와 delimiter
를 사용하여 표현된 것이다. 이를 통해 사용자는 폴더와 유사한 방식으로 데이터를 조직하고 관리할 수 있다. 하지만 실제로는 모든 오브젝트들이 동일한 레벨에 있으며, 그들의 키만이 구분되는 구조라는 것을 이해하는 것이 중요하다.
Marked for deletion
Marked for deletion
은 데이터나 리소스가 삭제될 예정임을 표시하는 상태나 라벨을 의미한다. 특히 데이터 관리 시스템에서 이는 리소스를 즉시 삭제하는 것이 아니라 나중에 배치 작업이나 다른 프로세스에 의해 삭제될 예정임을 나타낼 때 사용된다.
Amazon S3에서 버전 관리
가 활성화된 버킷에서 오브젝트를 삭제하려고 하면, 해당 오브젝트는 실제로 삭제되지 않는다. 대신 삭제 마커(Deletion Marker)
가 해당 오브젝트의 최신 버전으로 추가된다. 이 삭제 마커는 오브젝트가 "삭제될 예정"이라는 것을 나타내며, 실제로는 데이터가 여전히 S3 버킷에 존재한다. 이러한 방식으로 S3는 실수로 데이터를 삭제하는 것을 방지하고, 필요한 경우 삭제된 오브젝트를 쉽게 복원할 수 있게 한다.
Marked for deletion
또는 유사한 표시를 사용하는 주요 이유는:
- 데이터의 실수로 인한 삭제를 방지하기 위해.
- 삭제 처리를 최적화하거나 지연시키기 위해.
- 삭제 전에 추가적인 확인 또는 승인 절차를 거치기 위해.
따라서, Marked for deletion
은 리소스나 데이터가 삭제될 예정이라는 것을 명시적으로 나타내며, 이를 통해 데이터 관리에 더 큰 유연성과 안정성을 제공한다.
Summary
- You can add AES-256 encryption to any object.
- When creating S3 bucket folders, prefixes are added to objects so that they appear as folders.
- An object can have up to 10 tags
Amazon S3에서 오브젝트에는 최대 10개의 태그를 부여할 수 있다. 이 태그
는 key-value 쌍의 형태로 되어 있으며, 데이터 분류, 액세스 관리, 비용 추적 등 다양한 용도로 사용될 수 있다.
태그의 주요 사용 사례는 다음과 같다:
- 비용 추적: 특정 프로젝트나 팀에 대한 비용을 추적하기 위해 S3 오브젝트에 태그를 부여할 수 있다.
- 관리 및 분류: 태그를 사용하여 데이터를 분류하고, 특정 유형의 데이터를 쉽게 식별하거나 관리할 수 있다.
- 액세스 제어: IAM 정책에서 태그를 기반으로 S3 오브젝트에 대한 액세스를 제어할 수 있다.
S3 콘솔이나 AWS SDK 및 CLI를 사용하여 오브젝트에 태그를 추가, 수정 또는 삭제할 수 있다. 하지만, 한 오브젝트에는 최대 10개의 태그만 부여할 수 있으므로, 필요한 태그를 우선순위에 따라 선택해야 한다.
Min duration
Min storage duration
은 Amazon S3의 특정 스토리지 클래스에 데이터를 저장할 때 최소 보관 기간을 의미한다. 이 기간 동안 해당 데이터는 해당 스토리지 클래스에서 삭제되거나 다른 클래스로 이동되지 않아야 한다.
Standard-IA
(Infrequent Access) 및 One Zone-IA
스토리지 클래스는 비용을 절감하기 위해 자주 액세스되지 않는 데이터를 저장하는 데 적합하다. 그러나 이러한 스토리지 클래스를 사용할 때 데이터를 저장하는 데 발생하는 추가 비용을 상쇄하기 위해 AWS는 최소 보관 기간을 설정한다.
예를 들어, Standard-IA
또는 One Zone-IA
에 데이터를 저장하면 30일 동안 해당 데이터를 그대로 유지해야 한다. 이 기간 내에 데이터를 삭제하거나 다른 스토리지 클래스로 이동하면 추가 비용이 발생할 수 있다.
이러한 최소 보관 기간은 AWS의 비용 모델과 관련이 있다. 즉, 사용자가 저렴한 스토리지 클래스의 이점을 누리려면 데이터를 일정 기간 동안 해당 클래스에 보관하는 조건을 충족해야 한다는 것이다.
Elastic Block Store (EBS)
- Used for durable storage in EC2 instances
- Block-level storage from one AWS service to another
- File level storage와는 다르다.
맞다. Amazon Elastic Block Store (EBS)는 Amazon EC2 인스턴스에서 사용되는 지속적인 블록 스토리지 서비스다. EBS의 주요 특징 및 사용 사례를 아래에 간략하게 정리하겠다.
-
EC2 인스턴스의 지속적인 스토리지:
- EBS 볼륨은 EC2 인스턴스를 중지하거나 종료한 후에도 데이터를 유지한다. 따라서, 사용자가 데이터를 잃지 않고 EC2 인스턴스를 중지하거나 재시작할 수 있다.
-
블록 레벨 스토리지:
- EBS는 블록 레벨 스토리지를 제공한다. 이는 각 블록에 독립적으로 액세스하고 해당 블록을 수정할 수 있음을 의미한다. 반면, 파일 레벨 스토리지는 파일 시스템을 기반으로 작동하며, 개별 파일에 대한 액세스와 관리가 주요 관심사다.
-
다양한 볼륨 유형:
- EBS는 여러 볼륨 유형을 제공한다. 예를 들면, 일반적인 사용 사례에 적합한 General Purpose SSD, I/O 집중적인 작업에 최적화된 Provisioned IOPS SSD, 저비용 블록 스토리지인 Throughput Optimized HDD 및 Cold HDD 등이 있다.
-
스냅샷 및 복제:
- EBS 볼륨의 데이터는 스냅샷을 사용하여 Amazon S3에 백업할 수 있다. 또한, 스냅샷을 사용하여 동일한 데이터를 가진 새로운 EBS 볼륨을 생성하거나 다른 AWS 리전으로 복제할 수 있다.
EBS는 데이터베이스와 같은 I/O 집중적인 애플리케이션, 엔터프라이즈 애플리케이션, 빅데이터 분석 등 다양한 작업에 적합한 지속적인 스토리지 솔루션을 제공한다.
EBS Volume Types
- Magnetic
- Slowest and cheapest
- SSD
- General purpose
- Provisioned IOPS
- PIOPS (Provisioned Input/output Operations Per Second)
- 예를 들어, 12,000 혹은 10,500 IOPS가 필요하다고 할때, PIOPS를 알야야 한다.
- PIOPS는 최소 성능을 보장한다.
- EBS-optimized instance should be used
Amazon EBS는 다양한 볼륨 유형을 제공하여 다양한 워크로드와 요구 사항에 맞게 스토리지를 최적화할 수 있다. 주요 EBS 볼륨 유형에 대해 간략하게 설명하겠다.
-
Magnetic:
- 특징: 전통적인 회전식 하드 드라이브를 기반으로 한다.
- 적합한 워크로드: 자주 액세스되지 않는 데이터나 시퀀셜한 I/O를 수행하는 워크로드에 적합하다.
- 비용: 다른 EBS 볼륨 유형에 비해 가장 저렴하다.
- 성능: 가장 느리다.
-
SSD:
-
General Purpose (gp2 또는 gp3):
- 특징: 균일한 I/O 성능과 버스트 성능을 제공한다.
- 적합한 워크로드: 대부분의 워크로드에 적합하며, 특히 부팅 볼륨이나 중소형 데이터베이스에 이상적이다.
-
Provisioned IOPS (io1 또는 io2):
- 특징: PIOPS를 사용하여 일관된 I/O 성능을 보장한다. 사용자는 필요한 IOPS 수치를 지정하여 볼륨의 성능을 미리 설정할 수 있다.
- PIOPS: 필요한 IOPS 수치에 따라 볼륨 성능을 최적화하며, 예를 들어 12,000 IOPS나 10,500 IOPS와 같은 높은 성능이 필요한 경우에 사용한다.
- 적합한 워크로드: I/O 집중적인 워크로드, 예를 들면, 대규모 데이터베이스 등에 적합하다.
-
EBS-optimized instance:
- EBS와 EC2 인스턴스 간의 통신에 최적화된 인스턴스다. EBS 볼륨의 성능을 최대한 활용하려면 EBS-optimized 인스턴스를 사용하는 것이 좋다.
-
각 볼륨 유형은 특정 워크로드와 요구 사항에 따라 선택되어야 한다. 워크로드의 I/O 패턴, 성능 요구 사항 및 비용을 고려하여 적절한 EBS 볼륨 유형을 선택하는 것이 중요하다.
Protecting EBS Data
- Snapshots
- Volume recovery
- Attaching volumes from one instance to another
- Encryption methods
Summary
- Elastic Block Store(EBS) is used for persistent(durable) storage with EC2 instances
- EBS can also be used for block-level storage from one AWS service to another
- EBS volume types include magnetic and SSD
- SSD volumes can be general purpose or provisioned IOPS
EBS 데이터 보호는 중요하다. 데이터 손실이나 오류를 방지하고, 데이터의 보안과 기밀성을 보장하기 위한 다양한 기능들이 제공된다. 주요 EBS 데이터 보호 기능에 대해 설명하겠다.
-
Snapshots:
- 스냅샷은 EBS 볼륨의 특정 시점의 백업이다.
- 스냅샷은 Amazon S3에 저장되며, 해당 스냅샷을 사용하여 새로운 EBS 볼륨을 생성할 수 있다.
- 주기적이거나 필요에 따라 스냅샷을 생성하여 데이터를 백업하고 복원할 수 있다.
-
Volume Recovery:
- Attaching volumes from one instance to another:
- EBS 볼륨은 하나의 EC2 인스턴스에서 분리되어 다른 EC2 인스턴스에 연결될 수 있다.
- 이 기능은 데이터 복구나 문제 해결 시 유용하게 사용될 수 있다.
- Attaching volumes from one instance to another:
-
Encryption Methods:
- EBS 볼륨의 데이터는 AWS Key Management Service (KMS)를 사용하여 암호화할 수 있다.
- 암호화는 볼륨을 생성하는 시점에서 설정되며, 일단 설정되면 볼륨의 모든 데이터와 스냅샷은 자동으로 암호화된다.
요약:
- **Elastic Block Store (EBS)**는 Amazon EC2 인스턴스와 함께 사용되는 지속적인 스토리지다.
- EBS는 AWS 서비스 간의 블록 레벨 스토리지로도 사용될 수 있다.
- EBS 볼륨 유형에는 전통적인 회전식 하드 드라이브 기반의 Magnetic와 SSD가 포함된다.
- SSD 볼륨은 일반적인 용도로 사용되거나 필요한 IOPS에 따라 성능을 보장하는 Provisioned IOPS로 제공될 수 있다.
EBS는 EC2 인스턴스의 데이터를 보호하고, 복구하며, 암호화하는 다양한 기능을 제공하여 사용자의 워크로드에 안정적인 스토리지 솔루션을 제공한다.
- EBS volumes can be attached to any EC2 instance in the same Availability Zone (AZ).
- EBS volumes can be created and attached during the creation of an EC2 instance.
- Use the AWS Console to create EBS volumes directly by selecting ELASTIC BLOCK STORE, Volumes.
그렇다. EBS와 EC2 인스턴스와의 관계 및 EBS 볼륨 관리 방법에 대한 주요 포인트들은 다음과 같다:
-
동일한 Availability Zone (AZ) 내의 EBS 볼륨과 EC2 인스턴스:
- EBS 볼륨은 동일한 AZ 내의 어떠한 EC2 인스턴스에도 연결될 수 있다. 하지만, 다른 AZ의 인스턴스에는 직접 연결될 수 없다. 다른 AZ의 인스턴스에 볼륨의 데이터가 필요한 경우, 해당 볼륨의 스냅샷을 생성하고 그 스냅샷을 기반으로 새로운 EBS 볼륨을 원하는 AZ에서 생성해야 한다.
-
EC2 인스턴스 생성 시 EBS 볼륨 생성 및 연결:
- EC2 인스턴스를 생성하는 동안 EBS 볼륨을 생성하고 해당 인스턴스에 연결할 수 있다. EC2 인스턴스 생성 마법사를 통해 필요한 EBS 볼륨 설정(크기, 유형, 암호화 옵션 등)을 지정할 수 있다.
-
AWS Console을 통한 EBS 볼륨 직접 생성:
- AWS Management Console에 로그인한 후, EC2 대시보드에서 "ELASTIC BLOCK STORE" 섹션을 선택하고 "Volumes"을 클릭하면, 여기서 새로운 EBS 볼륨을 직접 생성할 수 있다. 필요한 설정(크기, 볼륨 유형, 암호화 옵션 등)을 지정하고, 해당 볼륨을 원하는 EC2 인스턴스에 연결할 수 있다.
이러한 기능들은 EBS를 통해 데이터를 안전하게 저장하고, EC2 인스턴스와 효과적으로 통합하는 데 필요하다. EBS는 높은 내구성과 성능을 제공하므로, 이러한 기능들을 활용하여 워크로드의 요구 사항에 맞게 스토리지 환경을 최적화할 수 있다.
FSx
AWS FSx는 Windows와 Lustre 파일 시스템을 위한 완전 관리형 서비스다. 여기에는 두 가지 주요 옵션이 있다: FSx for Windows File Server와 FSx for Lustre.
FSx for Windows File Server
이 서비스는 표준 SMB 프로토콜을 통해 완전 관리형 Windows 파일 시스템을 제공한다. 이는 주로 Windows 기반 애플리케이션과 워크로드에 적합하다.
FSx for Lustre
이 옵션은 고성능, 고스케일 컴퓨팅 워크로드를 위해 설계된다. Lustre는 주로 빅데이터 분석, 머신 러닝, 미디어 처리와 같은 고성능 작업에 사용된다.
공통점과 차이점
FSx는 EFS나 EBS와 마찬가지로 완전 관리형 스토리지 옵션이지만, 특정한 파일 시스템 요구 사항에 더욱 특화되어 있다. 예를 들어, FSx for Windows는 Active Directory와의 통합, ACLs(Access Control Lists) 같은 Windows 특화 기능을 제공한다. 반면 FSx for Lustre는 고성능 컴퓨팅에 특화되어 있다.
이 서비스들은 특정 워크로드와 요구 사항에 따라 선택할 수 있으며, 각각 다양한 설정과 옵션을 제공한다.
Summary
- Amazon FSx is a file system for the cloud.
- FSx can be built in two file system types: Windows File Server and Lustre (the high-performance file System)
- FSx is fully managed and automatically does the prep work, including the server and joining Active Directory.
Amazon FSx는 클라우드용 파일 시스템으로 완전 관리형 서비스다. 두 가지 주요 유형의 파일 시스템을 지원한다: Windows File Server와 Lustre.
Windows File Server는 주로 Windows 환경과 호환되며, SMB 프로토콜, Active Directory와 같은 기능을 제공한다. 이는 주로 엔터프라이즈 환경에서 파일 공유나 저장을 위해 사용된다.
Lustre는 고성능 컴퓨팅 환경에 적합하다. 대규모 데이터 분석, 머신 러닝, 미디어 처리 등에 주로 사용된다.
FSx는 서버 준비나 Active Directory에 조인하는 등의 준비 작업을 자동으로 처리한다. 즉, 사용자는 파일 시스템을 쉽게 설정하고 사용할 수 있다. 이러한 특성 때문에 FSx는 많은 엔터프라이즈에서 활용되고 있다.
Summary
- When setting up FSx, adding a file system name is optional, but makes it easier to manage.
- FSx, just like other AWS file systems, can be deployed to one more availability zones (AZ)
- In FSx, Windows authentication through Active Directory can be self-managed or managed by AWS
FSx 설정을 할 때 파일 시스템 이름을 추가하는 것은 선택 사항이지만, 관리하기 쉽게 만들어준다. 이름을 통해 여러 파일 시스템을 구별하거나 관리하는 데 도움이 될 수 있다.
FSx도 다른 AWS 파일 시스템과 마찬가지로 하나 이상의 가용 영역(Availability Zones, AZ)에 배포될 수 있다. 이렇게 하면 높은 가용성과 안정성이 보장된다.
FSx에서는 윈도우 인증을 할 때 액티브 디렉토리를 통한 방식을 선택할 수 있다. 이 액티브 디렉토리는 사용자가 직접 관리할 수도 있고, AWS에 의해 관리될 수도 있다. 즉, 유연한 인증 방식을 선택할 수 있다.
Integrating on-premises storage
Storage Gateway는 온프레미스(현장) 저장소와 AWS 클라우드 저장소 사이의 브리지 역할을 한다. 이 서비스를 사용하면 온프레미스 데이터를 AWS에 쉽게 이동하거나 백업할 수 있다. 여러 가지 유형의 Storage Gateway가 있는데, 이들은 각각 특정 용도에 최적화되어 있다.
-
File Gateway: 온프레미스 애플리케이션을 통해 S3 버킷에 쉽게 접근할 수 있게 해준다. NFS나 SMB 프로토콜을 사용해 S3에 파일을 저장하고 검색할 수 있다.
-
Volume Gateway: iSCSI 기반의 블록 스토리지를 제공한다. 이것은 EBS 스냅샷을 사용해 백업을 할 수 있게 해준다.
-
Tape Gateway: 물리적 또는 가상 테이프 라이브러리를 대체할 수 있다. 이는 Glacier나 Glacier Deep Archive로 데이터를 백업하는 데 사용될 수 있다.
Storage Gateway는 대체로 빠른 캐싱과 데이터 전송 기능을 제공해, 온프레미스와 클라우드 사이의 데이터 동기화를 빠르고 효율적으로 만든다. 이 서비스는 암호화, 모니터링, 감사 기능도 제공해서 데이터의 안전성과 가시성을 높인다.
Storage Gateway
- Software appliance creates the gateway.
- Provides three types of storage solutions
- File-based
- Volume-based, Internet SCSI protocol
- Tape-based
Storage Gateway는 소프트웨어 어플라이언스를 통해 게이트웨이를 생성한다. 이 어플라이언스는 일반적으로 가상 머신 형태로 온프레미스 또는 EC2 인스턴스에서 실행된다. 이렇게 만들어진 게이트웨이는 다음과 같은 세 가지 유형의 저장소 솔루션을 제공한다.
-
File-based: 이 방식은 파일 기반의 저장소를 제공한다. 일반적으로 NFS 또는 SMB 프로토콜을 통해 파일을 AWS S3에 저장하고 검색할 수 있다.
-
Volume-based, Internet SCSI protocol: 이것은 블록 기반의 저장소를 제공하고, iSCSI 프로토콜을 사용한다. 온프레미스 시스템에서 iSCSI를 통해 이 블록 저장소에 연결할 수 있고, 이 저장소는 백업이나 데이터 마이그레이션 등에 유용하다.
-
Tape-based: 이 방식은 테이프 기반의 백업 솔루션을 제공한다. 가상 테이프 라이브러리를 통해 온프레미스의 데이터를 AWS Glacier나 Glacier Deep Archive에 백업할 수 있다.
이렇게 다양한 유형의 저장소 솔루션을 통해 Storage Gateway는 온프레미스와 AWS 클라우드 사이의 데이터 이동을 간편하게 해준다.
Summary
- The Storage Gateway connects on-premises software appliances with cloud-based storage
- Storage can be file-based, volume-based, or tape-based
- The File Gateway provides an interface to S3 buckets
요약하면, Storage Gateway는 온프레미스의 소프트웨어 어플라이언스와 클라우드 기반 저장소를 연결한다. 저장소는 파일 기반, 볼륨 기반, 또는 테이프 기반 중 하나로 설정할 수 있다. 특히 File Gateway는 S3 버킷에 대한 인터페이스를 제공해, 온프레미스 시스템에서도 S3를 마치 로컬 파일 시스템처럼 쉽게 사용할 수 있게 해준다. 이런 특성 때문에 Storage Gateway는 온프레미스와 클라우드 사이의 데이터 이동과 관리를 훨씬 편리하게 만들어준다.
Storage access security lab
Canonical ID
Canonical ID는 Amazon Web Services(AWS)에서 특정 사용자 또는 리소스를 고유하게 식별하기 위한 ID다. 이 ID는 보안과 권한 관리에서 중요한 역할을 한다. 예를 들어, S3 버킷에서 다른 AWS 계정의 사용자에게 접근 권한을 부여할 때 Canonical ID를 사용할 수 있다.
Canonical ID는 일반적으로 64자리의 16진수 문자열로 되어 있다. 이건 다소 복잡하고 길기 때문에, 실수 없이 정확하게 사용해야 한다. 이 ID는 권한 설정과 같은 보안 관련 작업에 사용되므로, 안전한 곳에 보관하고 절대 타인에게 노출되지 않도록 주의해야 한다.
AWS 관리 콘솔이나 AWS CLI를 통해 Canonical ID를 확인하고 사용할 수 있다. AWS의 서비스나 리소스에 대한 접근을 제어할 때 다른 식별자(예: AWS 계정 ID, IAM 역할 등)와 함께 혹은 대신 사용될 수 있다.
Summary
- Storage security can be managed in the AWS Management Console and the AWS Command Line Interface(CLI).
- EBS volumes are primarily managed within EC2 instances, just like hard drives in local servers.
- JSON can be used to implement storage access policies.
Storage Performance
<image> decimal terminology
Summary
- Storage performance management is about selecting the right type and class of storage.
- A gibibyte is not he same as gigabyte.
- A gigabyte is 1 billion bytes ; a gibibyte is 1,073,741,824 bytes and is a more accurate metric for cost management.
맞다, 저장소 성능 관리는 적절한 유형과 클래스의 저장소를 선택하는 것과 관련이 있다. 예를 들어, AWS S3에서는 여러 저장소 클래스가 있고, 각 클래스는 다른 성능 및 비용 특성을 가지고 있다. 그래서 어떤 데이터를 얼마나 오랫동안 저장할지, 얼마나 자주 액세스할지 등을 고려하여 적절한 저장소 클래스를 선택해야 한다.
Gibibyte(GiB)와 Gigabyte(GB)는 다르다. Gigabyte는 1,000,000,000 바이트(10^9 바이트)이다. 반면에 Gibibyte는 1,073,741,824 바이트(2^30 바이트)이다. 둘은 다르며, 주로 Gibibyte는 디지털 정보의 정확한 측정과 비용 관리에 더 적합하다.
이러한 차이는 비용을 계산하거나 저장 용량을 예측할 때 중요할 수 있다. 따라서 어떤 단위를 사용하는지 명확히 알고 계산을 해야 한다.
댓글 없음:
댓글 쓰기