AWS

AWS Solutions Architect Associate C03 [RDS Proxy, ElastiCache ]

dbavayne 2023. 2. 14. 22:21

- RDS 프록시

: Amazon RDS 프록시를 사용하면 애플리케이션이 데이터베이스 내에서 연결 풀을 형성하고 공유할 수 있음

> APP을 RDS DB 인스턴스에 일일이 연결하는 대신 프록시에 연결하면 프록시가 하나의 풀에 연결을 모아 RDS 인스턴스 연결 부하를 줄일 수 있음

 

1. RDS DB 인스턴스에 연결이 많은 경우 : CPU와 RAM 등 DB리소스 부담을 줄여 효율성 향상기대 

2. 완전한 서버리스로 오토 스케일링이 가능함

3. 다중 AZ를 지원함

4. RDS DB 인스턴스에 장애 조치가 발생할 경우 : 기본 인스턴스가 아니라 대기 인스턴스로 실행되며 장애 조치 시간을 66%까지 줄일 수 있음

 

RDS 프록시 - RDB(Mysql, PostgreSQL, MariaDB )지원하고 Aurora(Mysql, PostgreSQL)를 지원함 

- IAM인증을 강제하며 자격 증명은 Secrets Manager 서비스에 저장됨

- RDS는 퍼블릭 액세스가 불가능함(VPC내에서만 액세스 할 수 있음)


ElastiCache 

 

: 캐시 기술을 관리할 수 있도록 함

> 읽기 집약적인 워크로드의 부하를 줄이는데 도움이 된다. 

 

ElastiCache 아키텍쳐 예시 1

- App이 ElastiCache 를 쿼리한다.
- 이미 생성되어 저장되었는지 확인하는 것은 cache hit
- cache miss의 경우 DB에서 데이터를 가져와서 읽는다.
- 동일한 쿼리가 발생하는 경우 캐시에 기록하여 cache hit를 얻도록 함

>> RDS DB 부하를 줄이는데 도움을 주고 데이터를 캐시에 저장하기때문에 캐시 무효화 전략, 최근 데이터만 사용하는지 확인


 

ElastiCache 아키텍쳐 예시 2

- 사용자 세션을 저장하여 APP을 무상태로 만드는 것
- 사용자가 APP의 모든 계정에 로그인 하면 APP이 세션데이터를 캐시에 기록
- 사용자가 APP의 다른 인스턴스로 리다이렉션되면 APP은 ElastiCache 에서 캐시검색



 

Redis와 Memcached의 차이
Redis Memcached
자동 장애 조치, 다중 AZ를 수행하는 기술 
가용성이 높다
RDS와 유사하다
읽기전용 복제본은 읽기 스케일링에 사용
백업, 복원 기능
데이터 분할에 다중 노드를 사용하고 샤딩이라고 함
가용성이 높지 않다.
복제 발생하지 않는다.
백업, 복원 기능이 없다
지속적인 캐시가 아니다

1. ElastiCache 생성

2. Cluster 모드 - 활성화 : 복제가 생기고 확장성 및 가용성을 향상

                           비활성화 : 단일 샤드

3. Cluster node 유형 : micro로 변경

4. 해당 ElastiCache가 신규 서브넷에서 실행되도록 설정


Cache Security

- ElastiCache 모든 캐시는 IAM을 지원하지 않는다. 

- IAM 정책은 AWS API 레벨에서지원

 

Redis는 Redis Cluster에서 패스워드/토큰을 생성할 수 있다. 

SSL 을 지원한다.

 

Memcache는 SASL 기반 인증을 지원한다.

 


ElastiCache 패턴

1. Lazy Loding : 모든 읽기데이터가 캐시 됨 

2. Write Through : 쓰기가 된 데이터를 캐시에 업데이트나 추가하는것 

3. Session Store : 임시 세션 데이터를 생성 저장소

 

Redis 사용 사례

- 게임 리더보드