본문 바로가기
프로그래밍/Django

ElastiCache(Redis) Redis Insight EC2를 활용하여 접근하기

by 우주를놀라게하자 2025. 2. 26.
반응형
SMALL

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을 통해서 연결이 잘 되는지 확인하고 사용하면 된다!😜😜😜

반응형
LIST