- 개요 및 아키텍처
- 개요
- 메모리 DB (높은 처리량 - Replication 읽기 및 쓰기, 대기 시간 등 높은 처리 가능)
- 레디스와 호환이 되며, 레디스 관련한 것들을 모두 사용 가능 (v6.2)
- Multi-AZ 를 지원하여 빠르게 failover 및 복구, 재시작이 가능
- 특징
- Primary / Replica 간의 강력한 일관성 보장
- ms 단위의 읽기,쓰기 지연시간 (클러스터당 최대 1억6천만 tps)
- redis 호환
- 빠른 데이터 복구 및 재시작 제공 (multi-az, transaction log )
- multi-az를 통한 자동 페일오버 및 노드 fail에 대한 감지 및 복구
- replication 및 shard를 이용한 노드 추가, scale out, scale up-down 가능
- primary 에 대한 read/write 일관성 보장 및 복제 노드에 대한 일관성 보장 가능(read / write concern으로 예상)
- 사용자 인증 및 네트워크 인증, 암호화 기능 제공
- s3로 자동 스냅샷 (최대 35일 - rds 와 동일)
- 하나의 클러스터로 최대 500개 노드 및 100tb 이상의 storage 지원(레플리카 포함)
- AWS KMS keys를 사용한 TLS 암호화(8번과 동일)
- Redis를 통한 사용자 인증 및 권한 부여(ACL)(8번과 동일)
- AWS Graviton2 인스턴스 유형 지원
- VPC, Cloudwatch, CloudTrail, AWS SNS 서비스와의 통합
- 완전 관리형 소프트웨어 패치 및 업그레이드 지원
- 관리 API를 위한 AWS IAM(Identity and Access Management) 통합 및 태그 기반 액세스 제어
- 주요 기능
- Cluster
- MemoryDB 서비스를 운영하는 하나 이상의 노드 모음 (서비스의 개념)
- Shard는 Memory DB Set 단위들의 모임으로 Cluster 내에 존재
- Noes ⊂ Shard ⊂ Cluster = 서비스 DB
- Memory DB Set 에는 하나의 Primary 와 최대 5개의 Replica 노드들을 보유 가능
- Primary 는 read/write 가능하며, Replica node들은 only read 만 처리
- Primary 장애 시 replica node들 중 하나를 primary 로 승격
- cluster 생성 시 redis 버전을 지정
- cluster 내 Memory DB 기능
- cluster 추가
- cluster 수정
- cluster 스냅샷 가져오기
- cluster 삭제
- cluster 내 요소 보기
- cluster 에 비용 할당 태그 추가 / 삭제
- Nodes
- MemoryDB 구성 중 가장 작은 단위 (EC2 기반)
- 클러스터에 속하며, cluster 생성 시 정해진 버전의 엔진 기반
- 필요한 경우 클러스터의 노드를 다른 유형으로 up / down 가능
- 단독으로 up / down 가능은 체크 필요
- Shards
- 하나의 샤드에는 1~6개의 노드로 구성되며, primary 1개에 5개의 replica 로 구성
- MemoryDB Cluster는 항상 적어도 하나의 샤드로 구성
- 클러스터 내 최대 500개의 샤드를 생성 가능
- 최대 500개 노드를 가질 수 있으므로, 1샤드=1 Primary 노드로 하는 경우 500샤드 구성 가능
- 단, IP주소가 충분한지 체크 필요
- Parameter groups
- parameter group 을 적용함으로써 각기 다른 parameter 를 적용 가능
- RDS 와 동일 개념
- Subnet Groups
- VPC 내 subnet group 으로 구성
- Access Control Lists
- Redis ACL 규칙을 적용 가능 (Access Control List)
- Users
- 이름과 암호를 가진 User를 생성하여 접속 가능
2. 사용자는 ACL 구성원
- Cluster
- 개요
- Redis vs Elasticache Redis vs MemoryDB for Redis
- 성능 : Elasticache 가 Memory DB 보다 쓰기 읽기 성능이 더 좋음
Redis | ElastiCache for Redis | MemoryDB for Redis | |
내구성 | AOF, RDB 로 내구성 처리 (AOF 파일에 쓰기 전 장애 시 데이터 손실 발생 가능성) |
Primary 리턴 응답이라, Replica node에 데이터 적재 전 장애 시 손실 발생 가능성 존재 Redis 데이터구조 및 API |
내구성이 뛰어난 Inmemory DB (장애 시 무손실 복구) (Transaction log 까지 작성 후 응답이기 때문에 무손실 가능) Redis 데이터구조 및 API |
성능 | 12만/sec | read/write : μs (마이크로초) | read : μs (마이크로초) write : ms (한자리 Millisecond) |
Cluster mode | Cluster mode 활성화 비활성화 모두 가능 | cluster mode 활성화, 비활성화 모두 가능 | cluster mode 활성화 필수 |
접속 | redis-cli 로 접속 | ||
백업 |
|
|
|
복원 |
|
|
|
고가용성 | replica shard 구성 |
Replica Shard 구성 |
replica node의 복제가 실패하는 경우
|
복제 | replica 구성
|
replica 구성
|
transaction log를 사용하는 async 복제
|
- 가격 및 Region
- 가격
- https://aws.amazon.com/ko/memorydb/pricing/ 참고
- Elastic Cache 보다 하루 1달러 더 비싸다고 공유 받음
- 지원 region
- 현재 지원하고 있는 내역 리스트
- US East (N. Virginia), US East (Ohio), US West (Oregon), US West (Northern California), EU (Ireland), EU (London), EU (Stockholm), Asia Pacific (Mumbai), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), and South America (Sao Paulo) - 21년10월 정보
- 가격
참고
https://docs.aws.amazon.com/memorydb/latest/devguide/what-is-memorydb-for-redis.html
https://docs.aws.amazon.com/memorydb/latest/devguide/components.html
Elasticache vs MemoryDB 성능 : https://www.sentiatechblog.com/benchmark-series-amazon-memorydb-and-how-it-stands-compared-to-amazon
https://youtu.be/Jbq_XZMZEKY
반응형
'AWS' 카테고리의 다른 글
[Amazon MemoryDB for Redis] 정리 및 비교 (0) | 2021.12.22 |
---|---|
[AWS]CloudWatch 메트릭 그래프 스냅샷 만들기 (수정-펌-전체 소스 오픈) (1) | 2019.08.12 |