AWS ElastiCache(Redis)의 외부 접근 비허용 이슈

2020. 2. 4. 00:26서버 프로그래밍

AWS의 ElastiCache(Redis)를 로컬에서 접속을 하려고 하니, 정상적인 연결이 되지 않아 찾아보니 ElastiCache는 같은 VPC 내부에서만 접속이 가능하다는 것을 알게되었다. 아마도 RDS나 MongoDB와는 달리 상대적으로 보안이 취약해서인 듯.

RDS와는 다르게, ElastiCache 는 같은 VPC 내부에서만 direct하게 접속이 가능하다. 따라서, AWS 외부의 컴퓨터 (ex: 집 컴퓨터)에서는 물론이고, AWS의 다른 VPC의 EC2에서도 direct 하게 접속되지 않는다. 따라서, AWS 외부에서 접속하고 싶다면, 같은 VPC 내에 EC2 를 하나 만들고(또는 redis node 를 시작할 때, 원래 존재하던 EC2와 같은 VPC 를 사용하도록 설정한다.), 해당 EC2에 ssh 로 접속한 후, 다시 해당 EC2를 거쳐서 telnet 으로 접속한다. EC2는 계속 terminate 되고 다시 생성되면서 VPC가 바뀌므로, redis의 subnet 을 필요할 때마다 바꿔주면서 접속한다.

https://jjangga0214.gitbooks.io/spring-boot/redis/elasticache-redis.html

 

ElastiCache : redis · Spring Boot

No results matching ""

jjangga0214.gitbooks.io

덕분에 기존에 이를 감안하지 않고 다른 VPC 기반의 EC2 인스턴스를 생성해서 사용했다면, 아쉽게도 낭패! 이런 경우 ElastiCache가 속한 VPC로 이동시켜야 한다. 아니면 새로 생성하는 인스턴스는 이를 감안하여 반드시 접속이 가능한 VPC 및 서브넷으로 지정해야 한다.

https://aws.amazon.com/ko/premiumsupport/knowledge-center/move-ec2-instance/

 

EC2 인스턴스를 다른 서브넷, 가용 영역 또는 VPC로 이동

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 다른 서브넷, 가용 영역 또는 Virtual Private Cloud(VPC)로 이동하거나 복사하려고 합니다. 어떻게 해야 합니까?

aws.amazon.com