"no data persistence"
Block-level storage = a place to store files
instanse store는 EC2 인스턴스에게 임시적인 block-level storage이다. 만약 EC2 인스턴스가 정지/중단되면 연결된 instance store에 있던 모든 데이터도 삭제된다. EC2 인스턴스는 virtual 서버이기 대문에 정지/중단 후 다시 시작할 때 다른 host에서 시작하게 된다. 따라서 장기로 저장하여 관리할 필요 없는 임시 데이터만 사용해야 한다.
장점
Block-level storage volumes behave like physical hard drives.
virtual hard drive라는 표현이 나왔다... 신기하다.
EC2 인스턴스가 정지/중단 되더라도 EBS 내의 모든 데이터는 사용 가능한 상태로 유지된다. 사이즈, 타입 등을 결정하여 구성한 뒤 EC2 인스턴스와 연결해주면 된다.
장점
Amazon EBS snapshot
snapshot = incremental backup
서서히 증가하는 백업? 무슨 의미인가 봤더니 첫 백업에는 모든 데이터를 백업, 그 이후로는 백업할 때 바뀐 데이터들만 백업한다고. full backup과는 다르다.
Amazon Data Lifecycle Manager Workflow
1. Create an EBS snapshots policy
2. Select target resource type: 스냅샷의 대상으로 EBS나 EC2 인스턴스를 선택
3. Exclude volumns: 스냅샷이 차지할 저장 용량 구성.
4. Set custom schedules: 스냅샷 자동 생성, 보존, 삭제 스케쥴 세팅
5. Apply additional actions: 스냅샷 아카이빙이나 태깅(분류), 스냅샷 타 리전에 복사 등의 추가 동작을 명시할 수 있다.
Object-level storage. 유니크한 키를 통해 데이터에 접근한다.
Amazon S3 Lifecycle management:
Move data automatically between tiers
어떤 유형의 S3를 사용할 때 고려할 수 있는 2개의 요인:
high availability. 웹사이트 처럼 유즈케이스의 범위가 넓거나 컨텐츠가 여러 지역으로 분산되는 경우 적합하다.
= Amazon S3 Standard Infrequent Access
S3 Standard와 같은 수준의 가용성이 보장된다. 동일하게 최소 3개의 AZ에 데이터를 저장해야 한다.
= Amazon S3 One Zone Infrequent Access
모니터링을 통해 30일 이상 엑세스 되지 않은 데이터는 S3 Standard-IA로 옮기고, 엑세스 된 데이터는 S3 Standard에 옮긴다.
A feature used to define rules to automatically transition objects between different storage classes, or delete them based on age or usage patterns.
객체 생성 후 일정 시간이 지나면 다른 클래스가 되도록 지정할 수 있다.
객체의 클래스 변경도 가능하고, 데이터의 삭제도 정의할 수 있다.
File storage에는 여러 클라이언트가 공유되는 파일 폴더의 데이터를 접근할 수 있다. storage server는 block storage를 사용하고, 클라이언트는 path를 통해 데이터에 접근한다.
Amazon EFS is a scalable file system used with AWS Cloud services and on-premises resources.
Amazon EBS | Amazon EFS | |
---|---|---|
AZ | Single AZ | Multiple AZ |
Amazon EBS는 연결된 EC2 인스턴트와 같은 AZ 내에 위치해야 한다. Amazon EFS는 여러 AZ에 걸쳐 동시성이 보장된 데이터에 접근할 수 있고, on-premise 서버는 AWS Direct Connect를 이용해 데이터를 요청할 수 있다.
File system 구성 및 관리 운영 서비스. 스케일 업/다운 가능하고 비용도 낮다?
Windows, NetApp ONTAP, OpenZFS, Lustre
AWS Cloud에서 관계형 데이터베이스를 사용할 수 있도록 해주는 서비스다.
Enterprise-class relational database. high availability가 요구되는 경우 적합하다. 3개의 AZ에 걸쳐 (S3에 백업을 통해) 6개의 복제본을 둔다.
Serverless, Non-Relational (NoSQL) Database. key-value의 쌍으로 된 데이터로 구성되어 있어 add/remove할 때 아주 간단하다. 어떤 스케일이어도 10 ms도 걸리지 않는 성능을 보장한다.
Amazon Redshift is a data warehousing service that you can use for big data analytics.
동일한 DB 엔진으로 마이그레이션하는 것. 스키마 구조, 데이터 타입, DB 코드 자체도 source와 target이 같게 된다.
On-Premise / AWS EC2 / AWS RDS ---> AWS EC2 / AWS RDS
1) DMS를 사용해 마이그레이션을 완료한다.
다른 DB 엔진으로 마이그레이션하는 것. 스키마 구조, 데이터 타입, DB 코드 자체가 source와 target이 다르게 된다.
1) AWS Schema Conversion Tool을 통해 source를 target에 맞게 변형한다.
2) DMS를 사용해 마이그레이션을 완료한다.
사업적 필요와 목적, 비용 등을 고려하여 적절한 Database 서비스를 선택하여 개발해야 한다.
document database service that supports MongoDB workloads. (MongoDB = document database program)
graph database service.
ledger database service.
manage blockchain networks with open-source frameworks.
Redis and Memcached. database에 caching layer를 추가하여 공통적인 요청의 읽기 시간을 개선한다?
in-memmory cache for DynamoDB. n milliseconds -> n milesconds...
완전 관리형. 하이브리드 클라우드 스토리지 서비스. 온프레미스 서버에 클라우드 스토리지를 제공할 때 유용.
자주 사용하는 데이터를 낮은 지연을 유지하면서 로컬 스토리지에서 클라우드로 확장.
물리/가상/클라우드 기반 서버를 AWS에 간단히 복구하도록 하는 완전 관리형 서비스.
고객은 데이터, 클라이언트-사이드 데이터 암호화 등만 책임지면 된다.
AWS가 서버-사이드 암호화, 네트워크 트래픽 보안 등 책임을 가진다.
고객은 서버-사이드 암호화, 네트워크 트래픽 보안 책임을 추가로 갖는다. 데이터 백업 전략이나 암호화 구성, 성능 최적화 및 가용성 계획 등의 책임을 더 갖는다.
AWS는 스토리지 인프라 아래의 하드웨어, 저장 용량 등 책임을 가진다.
고객은 데이터 관리, 백업/복구, 암호화, 성능 개선, 내구성 등의 모든 책임을 갖는다.
AWS는 오직 물리적인 데이터 보관 장치 하드웨어와 해당 하드웨어의 네트워크 인프라에 대한 책임을 갖는다.
shared responsibility model은 customer와 AWS의 responsibility를 분리한다.
customer는 homeowner로서 "security in the cloud", AWS는 homebuilder로서 "security of the cloud"의 차이가 있다.
Cusomers
Customer Data | ||
Platform, Applications, Identity and Access Management | ||
OS, Network/Firewall Configuration | ||
Client-side Data Encryption | Server-side Encryption | Networking Traffic Protection |
AWS
Software | ||
Compute / Storage / Database / Networking | ||
Hardware/AWS Global Infrastructure | ||
Regions | Availability Zones | Edge Locations |
AWS 서비스와 리소스를 보안성 있게 관리할 수 있게 한다.
json 문서에 permission을 명시. Effect를 Allow/Deny 둘 중 한 값으로 허용과 금지를 선언할 수 있다. Action 항목에는 AWS API 호출을 특정할 수 있다. Resource 항목으로는 AWS API가 속한 특정 AWS Resource로 제한한다.
IAM group 기능이 있어, 그룹에 보안 정책을 수립하고 유저들을 특정 그룹에 속하게 한다. 관리가 훨씬 편하다.
Best practice:
회사 단위라면 여러개의 AWS 계정을 사용하게 된다. 그럴 경우 AWS Organization을 사용하여 여러 AWS 계정을 통합하여 관리할 수 있다.
SCPs(Service Control Policies)를 사용하여 기관 내 각 계정 별 권한을 중앙에서 제한하고 조절할 수 있다. AWS 서비스, 자원, API 등 user/role 별로 주어졌던 제한 사항을 설정할 수 있다...
SPC가 적용될 수 있는 대상: (Individual) account 또는 OU
사업적 연관성이나 보안 요구사항 등, 필요에 따라 OU를 조직하여 계정들을 그룹화하여 더 쉽게 관리할 수 있다.
회사가 속한 산업군에 따라, 특정 표준을 따라야 할 수 있다. 감사, 검사를 통해서 표준에 부합한지 확인하게 된다.
AWS Artifact는 계약에 따라 AWS 보안 및 규정 준수 보고서를 제공하는 서비스이다. 두 가지의 주요 섹션, 계약과 레포트로 나뉜다.
-AWS Artifact Agreement
-AWS Artifact Reports: 지역/산업 별 보안 표준 및 규정을 준수하고 있는지 확인할 수 있는 레포트가 제공.
AWS Cloud 서비스를 사용히면서 규정 준수 여부를 입증할 수 있도록 감사자를 위한 방법을 안내하고 있다.
DDoS = Distriibuted denial-of-service
DDoS 공격은 웹 사이트나 애플리케이션을 사용자가 사용할 수 없는 상태로 만들기 위한 고의적인 시도, 행위를 말한다.
SlOWLORIS Attack -> Elastic Load Balancer (특정 느린 클라이언트의 시간 지연이 생겨도 다른 클라이언트를 다른 자원에 접근할 수 있도록 해주기 때문)
UDP Flood -> Security Group으로 해결 (AWS Network Level에서 동작하기 때문)