-
EC2에 Redis 설치후 연동하기취준/Project 2024. 6. 8. 21:36
로컬에 Redis를 설치했다면 EC2에도 설치해 줄 필요가 있다.
오늘은 EC2에 Redis를 설치하는 방법을 정리!
단계
- EC2 보안그룹 편집
- EC2에 Redis 다운로드
- Redis 설정파일 편집
- RedisConfigure 코드 수정
- 접속 확인
EC2 보안그룹 편집
- EC2 보안그룹에 들어가 TCP 프로토콜로 Redis 기본포트인 6379를 열어준다.
EC2에서 Redis 다운로드
sudo apt-get update //sudo update sudo apt-get install redis-server //redis 다운로드 redic-cli ping // PONG이라고 응답오면 연결 성공
- 위의 코드를 하나씩 입력하여 Redis를 다운로드 해준다.
Redis 설정 파일 편집
sudo vi /etc/redis/redis.conf
- 위의 명령어를 통해 redis 설정파일을 편집기 모드로 작성한다.
- 수정할 때는 i를 입력하여 수정하고 수정이 완료되면 ESC를 누르고 :wq를 입력하여 저장하여 준다.
- /bind와 같이 입력하면 bind가 작성되어 있는 부분을 검색할 수 있다.
IP 주소 변경
- 외부접속을 허용하기 위해 IP 주소를 수정한다
- bind 부분에 주석처리 된 것을 지우고 사진과 같이 0.0.0.0 ::1로 수정하여 준다
Redis 접속 비밀번호 변경
- Redis에 접속할 비밀번호를 설정해 준다.
- 추후에 properties 파일에도 작성해줘야 하니까 잘 기억해 둘 필요가 있다.
- 마찬가지로 주석을 지우고 requirepass 1234와 같이 비밀번호를 입력한다.
메모리 저장 용량 설정
- redis의 저장 용량을 설정한다.
- 500mb, 1gb, 2gb와 같이 원하는 용량을 설정한다. 나는 500mb로 설정하였다.
메모리가 다찼을 때 교체 알고리즘
- 메모리가 가득 찼을때 삭제 알고리즘을 작성한다.
- 가장 대중적인 allkeys-lru 알고리즘을 이용하여 가장 오랫동안 사용되지 않은 데이터를 삭제하도록 하였다.
Redis 실행
sudo systemctl start redis-server
- redis.conf 설정이 완료되면 위의 명령어를 입력하여 redis-server을 백그라운드로 실행한다.
Properties, Configure code 수정
properties file
spring.redis.host= {ec2 endpoint} spring.redis.port=6379 spring.redis.password = {redis password}
- properties 파일을 수정한다.
- EC2의 인스턴스와 redis.conf에서 작성했던 password를 작성하여 준다.
RedisConfigure
@Configuration public class RedisConfig { @Value("${spring.redis.host}") private String host; @Value("${spring.redis.port}") private int port; @Value("${spring.redis.password}") private String password; @Bean public RedisConnectionFactory redisConnectionFactory() { RedisStandaloneConfiguration redisConfiguration = new RedisStandaloneConfiguration(); redisConfiguration.setHostName(host); redisConfiguration.setPort(port); redisConfiguration.setPassword(password); LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(redisConfiguration); return lettuceConnectionFactory; } }
- properties에 작성된 값들을 value로 불러오고 LettuceConnectionFactory를 생성한다.
연결 확인
redis-cli -h {EC2 endpoint} -p {redis port} -a {password}
- 작성된 명령어를 입력하고 AUTH {password}를 입력하여 OK가 뜨면 정상적으로 연결이 된 것을 확인할 수 있다.
오류 해결 방법 모음
Redis IP 확인
- Redis의 IP가 정상적으로 변경되었나 확인해 볼 필요가 있다. ps -ef | grep redis 명령어를 입력하여 redis-server의 IP가 0:0:0:0으로 변경되었는지 확인한다.
- 127.0.0.0으로 되어있다면 kill -9 [포트번호]를 입력하여 redis를 중지시키고 redis 서버를 재부팅한다.
Password 설정 확인
- 맨 처음에 Password를 설정하지 않고 redis를 다운로드하였는데 Redis연결 예외가 자꾸 발생하여 되지 않았다. 하지만 Password를 설정하니 정상적으로 동작하였고 password를 설정하지 않았으면 설정해 보는 것을 추천한다.
'취준 > Project' 카테고리의 다른 글
Naver MAP API를 이용해 지도 구현 (1) 2024.06.16 Spring Boot, Redis를 이용하여 RefreshToken 발급하기 (0) 2024.05.31 Spring Boot LazyInitializationException (0) 2024.05.29 Spring Boot 개발 환경 분리하기(properties File) (1) 2024.05.23 Reason: Failed to determine a suitable driver class (2) 2024.05.01