0. S3의 추가 특징 및 기능
- Tiered Storage Available(계층형 저장 가능)
- Lifecycle Management
- Versioning
- Encryption(암호화)
- MFA Delete (삭제시 MFA인증)
- Secure your data using Access Control Lists and Bucket Policies
1. LifeCycle Management
- LifeCycle Rule을 생성해 특정 (혹은 모든) 버켓에 대해 적용할 수 있는 기능
- 서로 다른 storage class(S3 storage 종류, 이전 포스팅 참고)간의 객체 전환을 자동화할 수 있으며 버전 관리 등을 수명주기에 적용할 수 있다.
- Automates moving your objects between the different storage tiers.(Action 1,2)
- Can be used in conjunction with versioning.(Action 3,4)
- Can be applied to current versions and previous versions
1.1 Action
- 특정 Action에 대해서 수행되는 시점(객체가 어떠한 상태가 된지 N일 후)를 지정할 수 있음
* Transition current versions of objects(obj) between storage classes
* Transition previus versions of objects(obj) between storage classes
* Expire current version of obj
* Permanently delete previous versions of obj
* Delete expired delete markers or incomplete multipart uploads
2. S3 Object Lock
- It can help you prevent obj from being deleted or modified for a fixed amount amount of time or indefinitely.
- Use S3 Object Lock to store objects using a WORM model.
- 객체가 수정/삭제 될 때 특정 시간동안 객체를 잠금으로써 WORM(Write Once, Read Many)모델에 보다 안전하게 적용할 수 있다.
2.1 Governance Mode
- Users can't overwrite or delete an obj version or alter its lock settings unless they have special permissions.
- 권한을 부여받은 특정 유저만 객체를 수정/삭제 할 수 있게 함으로써 객체를 보호하는 모드.
2.2 Compliance Mode
- A protected obj version can't be overwritten or deleted by any user, including the root user in your AWS account.
- This mode ensures an obj version CANNOT be overwritten or deleted for the duration of the retention period.
- 유저가 아닌 객체를 제한함으로서 객체를 지키는 방법. 특정 객체를 보호해 루트 유저일지라도 아무나 수정/삭제 못하도록 제한함.
- 객체의 버전이 보유 기간 동안 수정/삭제 되지 않도록 한다. 객체 버전에 대해 legal hold를 걸어두지 않았다면 보유 기간이 지나면 수정/삭제 가능함.
* retention period; protects an obj version for a fixed amount of time. After this period expires, the obj version can be overwritten or deleted (unless you also placed a legal hold on the obj version!)
2.3 Glacier Vault Lock
- S3 Glacier 각각에 대해 Lock policy를 제어할 수 있도록 한다.
- WORM(Write Once Read Many) 같은 제어 항목을 지정하여 앞으로 편집하지 못하도록 정책을 잠글 수 있다.
- Vault(Glacier repository 각 개체) 잠금 정책은 액세스 정책과 다르다. 잠금 정책은 일반적으로 데이터 액세스에 대한 엄격한 제어가 필요한 규제 및 규정 준수 제어 항목(compliance controls)을 배포하는 데 사용된다.
3. S3 performance
3.1 KMS Request Rates
- SSE-KMS: to encrypt or decrypt your objects in S3.
- S3 저장소 내의 개체 암호화/복호화 시 사용되는 API
- upload -> encrypt KMS API call / download -> decrypt KMS API call
- It's either 5,500, 10,000, or 30,000 requests per seconds.
- you CANNOT request a quota increase for KMS.
3.2 Uploads Performance
- Recommended for files over 100MB
- Required for files over 5GB
- Allows Parallelize uploads for efficiency
- 용량이 큰 파일을 업로드 시 parallelize upload를 지원하여 더 빠르고 효율적인 성능을 가져온다.
3.3 Downloads Performance(S3 byte-range fetches)
- Parallelize downloads by specifying byte ranges.
- 하나의 큰 파일을 여러 조각으로 나눈뒤 다운로드를 수행하여 효율성을 높이며, 다운로드에 실패했다면 전체 파일이 아닌 그 특정 부분만 실패한다.
4. S3 Select
- S3 Select enables applications to retrieve only a subset of data from an object by using simple SQL expressions.
- Save money on data transfer and increase speed.
- SQL 표현식을 사용해서 bucket에 저장된 개체를 조회하는 기능으로 더 빠르고 효율적인 성능에 기여한다.
5. AWS Organizations
- 계정을 관리하는 정책으로, 여러 AWS 계정을 묶어 중앙에서만 요금을 부과하도록 관리하는 방식
- AWS Organizations를 사용하여 계정을 생성하고 리소스를 할당하며(AWS서비스 사용), 워크플로를 구성하도록 계정을 그룹화하고, 모든 계정에 대해 단일 결제 방법을 사용하여 비용을 최소화한다.
- AWS Organizations는 다른 AWS 서비스와 통합되므로 조직 내 계정 간 중앙 구성, 보안 메커니즘, 감사 요구 사항, 리소스 공유를 정의할 수 있다.
- Paying account should be used for billing purposes only!! Do NOT deploy resources into the paying account.
- Enable/Disable AWS services using Service Control Polices(SCP) either on OU or on individual accounts.
- 요금 지불용 계정은 오직 요금 지불용으로만 사용되어야 하며, OU(조직 단위) 또는 각각의 계정의 SCP를 이용하여 AWS 서비스를 활성화할 수 있다.
6. Sharing S3 Buckets Across Accounts
* S3 buckets을 계정간에 공유할 수 있는 3가지 방법
- Using Bucket Policies & IAM (bucket전체에 적용 / Only Programmatic access)
- Using Bucket ACLs & IAM (개체 각각에 적용 / Only Programmatic access)
- Cross-account IAM Roles (Programmatic + Console Access)
7. Cross-Region Replication
- bucket별로 management탭에서 life cycle과 더불어 repliaction rule 설정 가능.
- 기존에 있던 file은 자동으로 복제되지 않으며, delete markers 또한 복제되지 않는다.
- Replication requires versioning to be enabled for the destination bucket.
8. Transfer Acceleration
- S3 Transfer Acceleration utilises the CloudFront Edge Network to accelerate you uploads to S3.
- Instead of uploading directly to your S3 bucket, you can use a distinct URL to upload directly to an edge location which will transfer that file to S3.
- S3 bucket에 바로 업로드하는 방법 대신, URL을 통해 edge location에 업로드하고 추후 S3에 전송하는 방법으로 Cloud친화적인 Edge Location 네트워크를 이용하여 업로드 속도를 가속화한다.
9. AWS Data Sync
- Used to move large amounts of data from on-premises to AWS.
- Used with NFS- and SMB- compatible file systems.
- Replication can be done hourly, daily, or weekly.
- Install the datasync agent to start the replication.
- Can be used to replicate EFS to EFS.
'PROGRAMING > BACKEND DEV' 카테고리의 다른 글
[AWS SAA-C02] EC2 (0) | 2021.08.18 |
---|---|
[AWS SAA-C02] CloudFront 와 Storage Gateway (0) | 2021.07.14 |
AWS SAA-C02 - S3(AWS Storage) (0) | 2021.07.03 |
AWS SAA-C02 - Identity and Access Mgt(IAM) (0) | 2021.06.30 |
AWS SAA-C02 - Overview (region, AZ 등 기본 개념) (0) | 2021.06.27 |