블록 스토리지(EBS)
블록 단위로 읽고 쓰여지는 스토리지를 의미한다.
서버의 CPU와 Memory가 개입하게 되고 서버 한대로 처리한다. -> 서버의 성능에 따라 스토리지 성능이 좌우된다.
파일 스토리지(EFS, FSx)
서버와 NAS가 파일 단위로 데이터를 주고 받는다.
블록 스토리지와 마찬가지로 CPU와 Memory가 개입하게 되고 서버 한대로 처리한다. -> 서버의 성능에 따라 스토리지 성능이 좌우된다.
데이터의 수정이 용이하다.
객체 스토리지(S3)
여러대의 서버가 나누어 데이터를 처리하기 때무에 읽기 성능이 빠르다. 하지만 쓰기 성능은 파일 스토리지와 블록 스토리지보다 느리다.
읽기 처리가 많은 워크로드에 적합하다.
정적 웹 사이트의 호스팅에 유용하다.
스토리지 용량을 지정할 필요가 없다.
개별 객체의 크기는 5TB를 초과할 수 없다.
사용한만큼 비용이 지불된다.
백업 및 복원
분석용 데이터 레이크
미디어 저장 및 스트리밍
정적 웹 사이트
아카이빙 및 규정 준수
Amazon S3는 데이터가 버킷 내에 객체로 저장된다.
객체에는 파일과 해당 파일을 설명하는 메타데이터가 포함된다.
버킷과 버키 내 객체에 대한 액세스를 제어할 수 있다.
JSON 문서의 최대 크기는 20KB까지 가능하다.
Principal:"*" -> 퍼블릭 설정
액세스 포인트별로 정책을 설정할 수 있다.
DNS 이름과 ARN, 고유한 권한 및 네트워크 제어 설정을 각 액세스 포인트에 적용된다.
S3는 기본적으로 서버측 암호화를 지원한다.
다음과 같은 암호화 키 유형들이 존재한다.
Amazon S3 관리형 키(SSE-S3)
AWS KMS 키(SSE-KMS)
이중 계층 서버 측 암호화(DSSE KMS)
고객 제공 키(SSE-C)
Standard
Standard-IA
One Zone-IA
S3 Glacier Instant Retrival
S3 Flexible Retrieval
성능에 영향을 주지 않고 데이터 액세스 패턴이 변경될 떄 자동으로 스토리지 비용을 절감할 수 있는 유일한 스토리지 등급이다.
사용 패턴 변화에 따라 데이터가 액세스 티어 간에 이동한다.
비용 효율적 스토리지
유동적인 데이터 검색
보안 및 규정 준수
확장성과 내구성
객체 잠금
거버넌스 모드
컴플라이언스 모드
업로드 시간을 단축하기 위해 수행한다.
S3는 파일 전송이 중간에 끊기면 처음부터 다시 전송을 해야한다.
콘솔에서는 지원이 안되고, CLI와 SK를 이용하여 구현해야한다.
멀티파트 업로드를 할 시 중간에 업로드가 끊겨도 끊긴 부분부터 다시 업로드가 가능하다.
Amazon EBS는 일반적으로 인스턴스 하나에 연결된다.
but, EBS 다중연결을 통해 여러 인스턴스에 연결할 수도 있다.
객체 스토리지는 파일 시스템용으로 구축되지 않는다.
여러 인스턴스가 동일한 스토리지를 사용해야하는 경우에는 파일 시스템 주로 사용한다.
웹 애플리케이션의 소스 코드 공유, 리눅스 사용자별 홈 디렉토리 공유, 상태 저장 데이터, 영구저장 데이터 저장 등에 사용 될 수 있다.
Storage Gateway는 하이브리드 스토리지 서비스이다.
온프레미스 환경과 AWS 스토리지 간에 애플리케이션을 원할하고 안전하게 통합하는데 사용할 수 있는 서비스이다.
Sorage Gateway 어플라이언스를 ㅗㅇ해 클라우드 데이터에 액세스할 수있다.
AWS Snowcone
AWS Snowball Edge
하이드웨어, OS 및 데이터베이스 소프트웨어 배포 및 유지 관리
기본 제공 모니터링
저장 데이터 및 전송 데이터 암호화
업계 규정 준수
자동 다중 AZ 데이터 복제
컴퓨팅 맟 스토리지 크기 조정
최소한의 애플리케이션 가동 중단
Writer Endpoint가 프라이머리 DB로 옮겨감.
Failover(복구시간) 1분~2분 소요
프라이머리 DB 인스턴스는 Writer endpoint 사용
읽기 전용 복제본은 Reader endpoint를 사용
읽기 중심의 워크로드 처리를 위해 수평 크기 조정
오프로드 리포팅
AWS 리전 간 복제가 가능
읽기 전용 복제본이 프라이머리 DB로 승격이 가능하다.
클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스이다.
성능이 MySQL에 비해 5배, PostgreSQL에 비해 3배 뛰어나다.
잦은 사용이 예상되는 경우에는 인스턴스로, 불규칙한 워크로드에는 서버리스가 유리하다.
1ACU = 2GB
DynamoDB는 일반적으로 1초 내에 한 리전 내 3개의 가용 영역에 걸쳐 테이블 데이터를 복제한다.
최종적으로 일관된 읽기 옵션
DynamoDB의 기본 옵션이다.
최근 완료된 쓰기 작업의 결과를 반영하지 않을 확률이 1/3로 존재한다.
잠시 후 읽기 요청을 반복하면 응답이 최신 데이터를 반환한다.
강력한 읽기 일관성 옵션
DynamoDB는 성공한 모든 이전 쓰기 작업의 업데이트를 반영하여 가장 최신 데이터로 응답을 반환한다.
지연이 발생될 수 있다.
읽기 용량을 2배를 소비한다.
쿼리 속도가 느리고 비용이 많이 드는 데이터
자주 액세스하는 데이터
비교적 정적 상태로 유지되는 정보
캐시 유효성
메모리 관리
캐시 메모리가 가득 차면 선택한 제거 정책에 따라 캐시에서 데이터가 제거된다.
제거 정책은 사용한 지 가장 오래된 데이터와 사용 빈도가 가장 낮은 데이터 항목의 조합을 평가할 수 있다.
이기종 데이터베이스 마이그레이션 (스키마 변경)
데이터베이스 통합
지속적 데이터 복제
데이터베이스, Amazon S3, AWS Snowball Edge 또는 다른 서비스를 가리킬 수 있다.
cf.
RDS 생성 전 서브넷 그룹을 생성하고 RDS를 배치해야 한다.
ALB는 가용영역1과 가용영역2에 걸쳐 만들었다.
데이터베이스 연동 정보는 AWS Systems Manager Parameter Store에 저장되어 있다.
운영 상태
운영 가시성 및 인사이트를 확보한다.
애플리케이션 성능
성능 스택의 모든 계층에서 데이터를 수집한다.
리소스 사용률
리소스 최적화를 개선한다.
보안 감사
증거 수집, 보안 및 무결성을 자동화 및 관리한다.
지표 및 로그를 거의 실시간으로 수집한다.
모니터링 데이터를 한 위치에서 액세스한다.
경보를 생성하고 알림을 전송한다.
규칙에 따라 리소스 용량 변경을 시작한다.
대시보드를 생성하고 관찰할 수 있다.
지표는 시스템 성능 관련 데이터이다.
CloudWatch는 지표를 수집 및 추적하므로 데이터를 검색하고 시각화할 수 있다.
AWS 인프라에서 계정 활동을 로깅하고 모니터링한다.
대부분의 AWS 서비스에 대한 API호출 상호 작용을 기록한다.
Amazon S3에 로그를 자동으로 저장한다.
ex.
특정 인스턴스를 종료한 사용자
권한 부족으로 인해 거부된 활동
보안 그룹 구성을 변경한 사용자
ex.
여러 대상에 자동으로 트래픽 분산
고가용성 제공
보안 기능 통합
상태 확인 수행
애플리케이션 로드 처리하는데 사용할 수 있는 EC2 인스턴스를 제어할 수 있도록 지원
지정된 조건에 따라 AWS 리소스 시작 또는 종료
지정된 경우, 로드 밸런서에 새로운 인스턴스를 등록
복제, 재배포, 용도 변경이 가능하다.
인프라와 애플리케이션의 버전 관리를 제어할 수 있다.
드리프트를 탐지할 수 있다.
서비스를 마지막 정상 상태로 롤백할 수 있다.
프로비저닝 및 권한 부여
구성 관리
운영 및 규정 준수 관리
모니터링