AWS Certified Developer – Associate 자격증 공부 3일차
결제를 하고 싶은데 결제가 안되서 계속 시도하다가 계정이 막혔나보다
한국팀 전화번호는 이러니까 여기에다가 평일에 전화해봐야겠다.
금요일 6시 넘으니까 연락을 안받네...
그럼 오늘도 정리를 해보자.
1. AWS 스토리지 옵션
- S3 : 오브젝트(객체)를 저장하는 스토리지, 버전관리가 가능함
- S3 Glacier : S3 중 장기 보관용으로 저렴
- EFS : 공유 파일 스토리지. NAS와 비슷
- Storage Gateway : 하이브리드 클라우드 사용 시 ISCSI, SMB, NFS 프로토콜? 을 제공한다고 한다.
- EBS : EC2에서 사용하는 고정 디스크 저장소
- 저장소 위치: 온프레미스(네트워크 안에 다 있음) / 클라우드(어플리케이션과 바깥에 스토리지 위치)
2. S3 알아보기
S3는 특정 이벤트 발생 시 알람을 보낼 수 있다.
- 이벤트에 대해 사용자에게 전송 가능한데 lambda를 이용해 호출 할 수 있다.
- 스토리지가 웹서버로 사용 가능해서 정적인 홈페이지를 구축할 수 있다.
- 데이터 lake로 사용되서 생성, 보안, 거버넌스 감사 정책을 적용 가능하다.
(Data Lake : 구조화되거나 반구조화되거나 구조화되지 않은 대량의 데이터를 저장, 처리, 보호하기 위한 중앙 집중식 저장소)
- 버킷(bucket)이라는 리소스에 객체(object) 단위로 저장한다. 디렉토리라는 개념이 없다(대신 prefix로 경로 설정함)
- 한 번에 업로드할 수 있는 object 크기는 5 테라 바이트이며, 저장 공간은 무제한이다.
- 버킷, 객체 모두 사용자(iam)을 제어할 수 있으며(awscli이용) 엑세스 로그를 볼 수 있다.
3. S3 Glacier
- Glacier는 빙하에서 따온 말로 장기 보관용 스토리지이다.
- 보통 아카이브 용도로 사용한다.
- 1기가당 5원정도이다.
- 쿼리 제공 가능하여 검색 가능하며 Athene 서비스를 이용하기도 한다.
- Glacier보다 저렴한 스토리지로는 S3 Deep Glacier가 있다고 한다.
4. EBS
- S3와는 살짝 다른용도로 사용하며, EC2의 물리적인 디스크 용도로 사용된다.
- EBS의 snapshot은 S3에 저장되며 나중에 복구용도로 사용되거나 한다.
- 추가 비용없이 EBS 암호화가 가능하다고 한다.
5. AWS 데이터 베이스
aws는 목적별로 사용용도가 다르다.
1) 일반적인 관계형 DB
- Mysql, Postgresql등은 RDS을 뜻한다.
- Aurora는 Mysql, Postgresql 호환되는 AWS의 관계형 DB로 리더, 라이터 인스턴스를 생성해줘서 실서비스 용도로 사용하기에 편리하다. 표준 Postgresql 보다 3배 빠르다고한다.
- Redshift는 데이터 웨어하우스를 말하며 RDS보다 대용량 데이터를 가지고 있고, 복잡한 쿼리로 데이터를 분석하는 데 사용한다.
2) No SQL DB
- AWS에서는 NoSQL DB로 DynamoDB를 사용한다.
- 자동 파티셔닝으로 짧은 지연시간을 유지한다.
- 10밀리세컨드 미만의 지연시간이 일관되게 요구되는 어플리케이션에 사용된다.
- 문서 모델과 key value 스토어 모델 모두 지원한다.
- 완전 관리형 DB이다.
- 더 성능이 좋고 1밀리세컨드 지연시간을 제공하는 Dynamo DB 엑셀러레이터도 있다.
- Fine Grained Access Control이라는 세분화된 엑세스 제어가 가능하며, 사용자별, 아이템별, 특정 속성별로 권한을 제어가능하다.
- 문서의 저장, 쿼리, 업데이트를 지원하며 AWS SDK를 통해도 작성할 수 있다.
3) In Memory DB
- 둘 다 Redis API와 호환되지만, 서로 다른 패턴을 사용한다.
- Redis용 ElasticCache는 읽기 작업 속도를 높이기 위해 DynamoDB나 RDS를 앞에 붙여 지연로딩을 통해 캐싱을 한다.
- Redis용 MemoryDB는 하나의 구성요소에서 캐시와 데이터베이스를 모두 대체해 마이크로초 읽기 대기 시간와 데이터 내구성을 제공한다.
4) Document DB
- JSON 유사 형식의 문서로 데이터를 저장 및 쿼리하도록 설계된 비관계형 데이터베이스 유형
- Mongo DB와 호환
5) Amazon Keyspaces for Apache Cassandra
- 고가용성의 확장 가능한 관리형 Apache Cassandra 호환 데이터베이스 서비스
- Cassandra란 CQL 언어를 사용하여 데이터에 액세스하는 분할된 행 저장소 데이터베이스를 말한다.
6) Amazon Neptune
- 종합 관리형 그래프 데이터베이스 서비스로 수십억 개의 관계를 저장하고 밀리초 대기 시간으로 그래프를 쿼리하는 데 최적화된 DB
7) Amazon QLDB
- 애플리케이션 데이터에 적용된 모든 변경 사항에 대해 암호로 확인할 수 있는 완전한 기록을 제공하도록 목적별 원장 데이터베이스
- 원장이란 데이터베이스에서 변조 증거 기능을 말하며, DBA(데이터베이스 관리자), 시스템 관리자 및 클라우드 관리자를 비롯한 모든 공격자와 높은 권한의 사용자로부터 데이터를 보호하기 위해 사용한다.
- 블록체인, 화이자 수송온도체크 등 많은 곳에 사용
8) Amazon Timesteam
- 고속의 확장 가능한 서버리스 시계열 데이터베이스 서비스
- 하루 수조 건의 이벤트를 1,000배 더 빠른 속도로 손쉽게 저장하고 분석가능하다.
- 자동으로 스케일 업 또는 스케일 다운하여 용량 및 성능을 조정하므로 기본 인프라를 관리할 필요가 없다.
Redis 설명
https://cloudwellserved.com/amazon-elasticache-for-redis-vs-amazon-memorydb-for-redis/
Document DB 설명
https://aws.amazon.com/ko/nosql/document/
Cassandra 설명
https://velog.io/@makeitcloud/%EB%9E%80-Apache-cassandra-%EB%9E%80
https://docs.aws.amazon.com/ko_kr/keyspaces/latest/devguide/what-is-keyspaces.html
Neptune 설명
https://docs.aws.amazon.com/ko_kr/neptune/latest/userguide/intro.html
QLDB 설명
https://aws.amazon.com/ko/qldb/faqs/
Timesteam 설명