ElastiCache란?
쉽게 말해, "엄청 빠른 메모리 저장소" 라고 보면 됩니다.
우리의 데이터가 마치 뇌 속 단기 기억처럼 순식간에 접근 가능하도록 해주는 역할을 하죠.
ElastiCache에는 두 가지 대표적인 친구가 있어요:
- Redis: 강력한 기능 + 인메모리 데이터베이스
- Memcached: 단순한 캐싱 전용
Redis의 보안 철칙 🔒
Redis는 기본적으로 외부 접근이 불가능합니다.
이거 마치 비밀기지 같은 느낌이죠.
예를 들면, MySQL 같은 데이터베이스는 Public IP를 부여받아서 외부에서도 접근할 수 있는데,
Redis는 그런 거 안 됩니다! ❌
🙋♂️ "아니, 그러면 외부에서 Redis에 어떻게 접근하죠?"💡 답: SSH Tunneling을 쓰면 됩니다!
SSH Tunneling이란? 🕵️♂️
한마디로, 바스티온(Bastion) 서버를 경유해서 Redis에 접속하는 꼼수(?)입니다.
💡 구조를 쉽게 설명하면 이렇습니다:
1️⃣ 내 컴퓨터 → 인터넷 게이트웨이 → Bastion 역할의 EC2에 접속
2️⃣ 이 EC2는 Redis와 같은 VPC 내에 있기 때문에
3️⃣ 내부 IP(Private IP)로 Redis에 접근 가능!
🛡 Bastion 서버란?
보안 문지기 역할을 하는 서버 🏰우리가 직접 Redis에 접근할 수는 없지만, Bastion이 대신 접근해서 데이터를 가져다 줍니다.

"근데 왜 내 컴퓨터에선 Redis 엔드포인트에 접속이 안 되는데 EC2에서는 되죠?" 🤔
좋은 질문!
바로 같은 VPC에 속해 있기 때문입니다.

- Redis 엔드포인트를 확인해 보면redis-vpc-practice...amazonaws.com:6379이렇게 생겼죠?
- 이걸 DNS Lookup 하면 172.31.x.x 같은 Private IP가 나옵니다.
- 그리고 VPC 내에서 설정한 Routing Table이 이 요청을 로컬로 보내도록 설정했기 때문에 접속이 되는 거죠!
RedisInsight에 연결하기 🎯
이제 Redis에 접근할 수 있으니, GUI 툴인 RedisInsight를 써서 더 편하게 관리해봅시다! 🚀
RedisInsight를 사용하면 데이터를 더 쉽게 조회하고,
"이 Redis가 제대로 돌아가고 있는지?" 모니터링도 가능해요.
👉 SSH Tunneling 설정 후, RedisInsight에 접속해서 Redis를 관리해보자! 😎
1. Add Redis database & Bastion 정보 입력
Add Redis database 클릭 후 connection Settings!
Security 클릭!
Bastion 역할을 할 ec2 주소, 포트, username/ pem키 입력

2. General & ElasticCache 엔드포인트 정보 입력

마지막으로 Test Connection을 통해서 연결이 잘 되는지 확인하고 사용하면 된다!😜😜😜
'프로그래밍 > Django' 카테고리의 다른 글
🚀 Django REST Framework (DRF) - Serializer가 Response를 만들기까지 Serializer Core에 대하여 (1) | 2025.02.27 |
---|---|
🐜 Locust: 부하 테스트의 끝판왕! (0) | 2025.02.27 |
하나? 여러 개? 대량? 😵 DRF Serializer 활용법 총정리! (0) | 2025.02.24 |
Django ORM 최적화: GenericForeignKey를 활용한 데이터 모델링 (0) | 2025.02.19 |
View가 깔끔해지는 Django 필터링 전략! get_queryset() vs filter_queryset() (0) | 2025.02.18 |