베하~! BTC_녹차공원 팀의 민물공원 입니다.
이번주는 AWS Redis에 대해 알아보겠습니다!
Redis 란?
- Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈소스 기반의 인메모리 데이터 구조 저장소
- 사용자가 많지 않은 서비스의 경우에는 WEB – WAS - DB의 구조로도 데이터베이스에 무리가 가지 않음
- 사용자가 늘어나면 데이터베이스가 과부하 될 수 있기 때문에 캐시 서버를 도입하여 사용
이렇게 일반적으로 Redis는 캐시 서버로 활용을 많이하고 있어요!
AWS ElastiCache 란?
- AWS의 관리형 캐싱 서비스로, 인메모리 데이터 스토어인 Redis와 Memcached를 제공하는 서비스
-
애플리케이션의 성능을 향상시키기 위해 데이터를 빠르게 캐싱하고, 높은 트래픽 및 부하를 처리하는 데 도움이 됨
ElastiCache 서비스를 이용하면 RDS의 부하를 줄이고 데이터에 빠르게 접근할 수 있어요!
AWS Redis vs Memcached
위와 같이 Redis와 Memcached의 차이점이 있어요!
Redis는 다양한 기능과 데이터 구조를 지원하여 복잡한 사용 사례에서 적합하고
Memcached는 간단하고 빠른 캐싱을 필요하는데 적합해요~
AWS ElastiCache for Redis
클라이언트가 웹서버에 요청을 보내면, 웹서버는 데이터를 DB에서 가져오기 전에 Cache에 데이터가 있는지 확인해요~
Cache서버에 데이터가 있으면, 데이터를 DB에 데이터를 요청하지 않고 바로바로 클라이언트에 데이터를 반환한답니다.
반대는 cache Miss인데, cache 서버에 데이터가 없으면 DB에 해당 데이터를 요청해요. DB는 사용자가 원하는 데이터를 반환해주고, 웹서버는 반환된 데이터를 다음 사용을 위해 캐시에 저장한 후 클라이언트에 반환한답니다!
따라서 이후에 같은 요청이 올 때는 Cache hit이 발생하는 구조예요~
AWS ElastiCache for Redis 실습
먼저 AWS ElastiCache for Redis를 생성해보아요~
저는 테스트 용도로 사용할거기 때문에 데모 버전으로 생성하였어요!
서브넷 그룹을 생성하고 VPC 가용영역을 선택한 후에 생성 버튼을 눌러보아요~
생성한 뒤에 엔드포인트를 메모해둡시다!! ㅎㅎㅎ
EC2에 Redis CLI 설치
생성한 Redis에 접근하기 위해 EC2에 Redis CLI를 설치해보아요!
ElastiCache의 경우 AWS 외부에서 접속이 불가능하기 때문에 AWS VPC 내부의 인스턴스를 통해 접속해야해요
위와 같이 간단한 명령어를 통해 설치 및 접속이 가능하답니다~
ElastiCache 클러스터 캐싱 확인
Redis에 접속하여 내부에서 명령어를 수행해보아요!
위와 같이 Redis 캐싱 확인을 간단하게 할 수 있답니다~
AWS ElastiCache for Redis 주요 사용사례
- 캐싱 : 데이터베이스에서 자주 사용되는 데이터를 Redis에 캐싱하여 데이터베이스 부하를 줄이고, 애플리케이션의 응답 시간을 개선할 수 있음
- 세션 스토어 : 사용자의 로그인 상태, 장바구니 정보, 웹사이트 설정과 같은 세션 데이터를 저장하는 데 사용
- 메시지 브로커 : 다양한 서비스 간에 비동기적으로 메시지를 전송하여 시스템 간 통신을 향상시킴
- 게임 리더보드 : 게임 플레이어의 점수와 순위 정보를 빠르게 저장하고 관리하여 실시간으로 게임 리더보드를 업데이트 가능
마지막으로, Redis 주요 사용사례 4가지를 알아보았습니다!
이상 BTC_녹차공원 팀이였습니다!
베빠~!
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
[AWS] CloudWatch Loginsight Query 사용법 (0) | 2023.06.08 |
---|---|
Sticky Session과 Session Clustering (0) | 2023.06.02 |
Cloudfront 실습(S3연동 - Error 페이지 출력) (0) | 2023.05.30 |
[AWS] RDS 읽기 전용 복제본 생성 시 오류 발생 유무 (0) | 2023.05.30 |
[AWS] Athena (0) | 2023.05.28 |
댓글