본문 바로가기

Web Programming

Redis 원격 접속을 위한 설정

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Redis 를 사용하여야 할 이슈가 아직은 없지만 일단은 설치하고 설정하는 것들에 대해서 익혀보기로 했다. 일단 앞서 Amazon Linux 환경에서의 설치가 기존의 Redis 패키지의 쉘 스크립트로 동작하지 않는 다는 것도 알았으니.. 어쨌든 이후의 설정하는 것도 순탄치 않을 것이라는 생각은 들었다. 이 때문에 그런지 너무 메뉴얼이나 이런것들에 의존하지 않고 근본적으로 문제가 되는 부분들을 차츰 차츰 알아가는 것이 좋다고 생각했다.



Amazon EC2 가 의도한 것인지 웹 서비스를 통한 포트 접속 제어가 가능한 대신 리눅스 자체의 방화벽은 Disabled 되어 있었다.

위의 Security Group 을 살펴보면 Redis 에서 사용하는 6379 포트에 대한 Inbound 가 가능하도록 적용시켜 주었다. 하지만 Client 에서 Redis Server 로의 접근이 불가 했다. Connection Refused 라는 메시지와 함께. 거의 Client 에서 명령어를 때리기가 무섭게 리턴하는 것을 보면 포트가 열려있지 않은 것이라고 생각 했다. (실제 장비는 떠있으니까..)



Hot 한 기술도 좋지만 어디다 써야할지를 더 생각해보자.



Security Group 의 설정 변경의 적용 시간과 관련되어있는 것이라고 추측했지만 이 역시도 반영하기가 무섭게 적용 되었던 터라 의심의 여지가 없었다. 그러다가 생각보다 쉽게 문제가 해결 되었는데, 이는 근래 스터디 하고 있는 MySQL 과 관련된 설정에서 찾을 수가 있었다. 최초에 MySQL 을 설치하고 나면 해당 localhost 이외의 다른 곳에서는 접근이 불가한 점에서 착안하여 redis.conf 파일을 살펴보았다. 그중 bind 라고 되어있는 항목에 127.0.0.1 이라고 표시가 되어있지 않은가?! 이를 0.0.0.0 으로 변경하고 나서는 언제 접속을 거절 했냐는 듯이 쉽게 접속이 잘 된다. 의외로 구글링으로 딱 정확한 솔루션을 찾으려고 하면 매번 실패하지만 조금만 여유를 갖고 머리를 쓰면 해결이 된다...  의외로 빨리..


역시 사람은 머리가 똑똑해야 몸이 고생 안하나봐..