Storage Service
1. 블록 스토리지
- 데이터를 블록 단위의 조각으로 나누어 저장
- 각 블록의 저장된 위치에 대한 주소를 갖고 있음
- 네트워크 상 블록 스토리지를 서버에 연결
EBS (Elastic Block Storage)
- 볼륨을 같은 가용영역 내 인스턴스에 연결해서 사용
- 데이터에 빠르게 액세스하고 장기적으로 지속하는 경우
EBS 볼륨 유형
1) SSD 기반 EBS 볼륨
- 읽기/쓰기 작업을 자주 처리하는 트랜잭션 워크로드에 최적화
2) HDD 기반 EBS 볼륨
- 대규모 스트리밍 워크로드에 최적화
EBS 스냅샷
- 지정 시간에 스냅샷을 생성하여 Amazon S3에 EBS 볼륨 데이터 잭업
인스턴스 스토어
- 임시 블록 스토리지
- 호스트 컴퓨터에 물리적으로 연결된 디스크에 위치
- 인스턴스가 중단되거나 종료되면 데이터가 손실됨
2. 파일 스토리지
- 데이터가 계층적 파일 및 폴더 구조로 저장되는 데이터 저장소 유형
- 블록 스토리지와 달리 데이터를 전체적으로 저장
- 여러 사용자나 애플리케이션이 접근하여 파일 공유하기 위한 공유 파일 시스템으로 활용
EFS (Elastic File Storage)
- 여러 인스턴스에서 실행되는 애플리케이션이 동일한 공유 파일 시스템을 사용해야 하는 경우
3. 객체 스토리지
- 구조화된 혹은 구조화되지 않은 대량의 데이터 저장을 위한 스토리지 유형
- 데이터와 메타 데이터를 하나의 객체 단위로 개별 저장소에 보관
- 고유 식별자(키)를 매핑하여 데이터 액세스와 검색 용이
- 사용한 만큼 비용 지불
S3 (Simple Storage Service)
- 클라우드 상에서 원하는 만큼의 다양한 유형의 데이터 저장, 보호, 관리 가능
Bucket & Object
- 객체는 하나 이상의 버킷에 저장
- 객체는 변경 불가능. 덮어쓰기 및 삭제만 가능
데이터 백업 및 아카이브
- 클라우드 혹은 온프레미스 데이터를 백업하고 아카이브 하기 위한 용도
- 장기 보존이 필요한 데이터를 비용 효과적으로 저장 및 관리
스토리지 클래스
1. S3 Standard: 높은 처리 성능, 밀리 초 단위 액세스가 필요한 자주 엑세스하는 데이터에 적합
2. S3 Standard - IA, S3 One Zone - IA: 자주 액세스하지 않지만 필요할 때 빠르게 액세스해야 하는 데이터에 적합
3. S3 Glacier IR: 거의 액세스하지 ㅇ낳으면서 밀리초 단위 검색이 필요한 장기 데이터
4. S3 Glacier FR: 연간 1~2회 액세스, 저렴
5. S3 Glacier Deep Archive: 저렴, 느림
액세스 제어
1. Default Setting: 리소스 소유자만 해당 버킷에 액세스
2. Make Public: 불특정 다수에게 액세스 권한 부여
3. Access Policy: 사용자별로 권한 설정
버전 관리
- 버킷에 여러 버전의 객체 보관, 실수로 삭제되거나 덮어쓰기 된 객체 복원
- 버전 관리 사용 설정 시 저장되는 객체에 대한 고유한 버전 ID 자동으로 생성
데이터 암호화
1. 전송 중 암호화: 클라우드 안밖으로의 데이터 이동 중 암호화 방식
- 데이터가 암호화된 상태에서 클라우드로 전송
2. 유후 시 암호화: S3에 데이터 저장시 암호화 방식
- S3 관리형 키, AWS KMS 키, 고객 제공 키 등
Database Service
DBMS (Database Management System)
1. 관계형 DB
- 데이터를 고정된 엄격한 데이터 스키마에 따라 행과 열로 이루어진 테이블 형태로 저장
- SQL 사용하여 데이터 저장, 수정, 삭제 및 검색
2. 비관계형 DB
- 데이터 중복을 피아히 위해, 데이터들을 여러 테이블로 나누어 저장
- 데이터는 관계를 통해 연결된 여러 테이블에 분산
3. 인메모리 DB
- 디스크 기반 DB와 달리 메모리에 데이터 저장
- 데이터 양 증가로 인한 응답 속도 떨어지는 문제 해결
Amazon RDS
- 클라우드에서 관계형 DB를 간편하게 설정, 운영, 확장할 수 있는 관리형 서비스
1. RDS Fail-over
2. Read replica
Amazon ElastiCache
- 빠른 관리형 인 메모리 데이터 스토어에서 정보 검색
- 서버리스 서비스
Data Migration Service
- AWS DMS: 운영 중인 소스 DB를 원하는 대상 DB로 마이그레이션
- 지속 적인 복제를 통한 동기화 -> 가동시간 중단 없이 클라우드 환경으로 운영DB 마이그레이션 가능
Microservices
1. Monolithic 아키텍쳐
- 전통적인 소프트웨어 아키텍처 구조
- 모든 기능이 타이트하게 결합
- 시스템 규모가 커질 경우 복잡도 증가해 분석 어려움, 개선 확장 어려움
2. Microservices 아키텍쳐
- 하나의 큰 애플리케이션을 여러 개의 작은 서비스 유닛으로 쪼개어 변경과 조합이 가능하도록
- 서비스마다 자체 DB를 가짐, 경량 API로 통신
- 서비스간 영향 없이 각 서비스 개발, 업데이트, 배포, 확장
컨테이너
- 운영 체제에서 실행되는 프로세스를 결리하여 별도의 실행 환경을 제공하는 운영체제 수준의 가상화 기술
- 마이크로 서비스 아키텍처 채택한 애플리케이션에 이상적