Spring Boot - Redis를 AWS에서 띄우자 ☁ 🌞🌟(캐시)

Yunny.Log ·2022년 8월 22일
1

Spring Boot

목록 보기
78/80
post-thumbnail

1. 보안 그룹 추가

  • 레디스가 사용하는 포트 6379 허용

2. ElastiCache 메뉴로 들어가서 왼쪽 탭의 Redis 항목을 선택하고 파란색 생성버튼을 클릭


어찌저찌 생성해부러따

3. 내 ec2 인스턴스에 redis 설치 (ubuntu 아니고 ec2-user 기준)

1) 업데이트 먼저 해주장

sudo yum update

2) redis 설치

sudo yum install redis

중간에 Is this ok [y/d/N]: 뜨면 y ~

설치 완료 ~

3) redis 실행시켜주기

sudo systemctl start redis
sudo systemctl enable redis

4) 실행확인 by ping pong~

5)


(+) 내 aws 인스턴스에 반영할 때 , deploy file 의 app3 의 aaplication.yml과 build.gradle 적용해줘야 해 (redis host 변경, 의존성 새로 추가된 게 있어서야~

  • 연동 중 만난 에러

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defined in class path resource [org/springframework/boot/autoconfigure/session/RedisSessionConfiguration$SpringBootRedisHttpSessionConfiguration.class]: Invocation of init method failed; nested exception is org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: ERR unknown command CONFIG, with args beginning with: GET, notify-keyspace-events,

Caused by: io.lettuce.core.RedisCommandExecutionException: ERR unknown command CONFIG, with args beginning with: GET, notify-keyspace-events,

Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: ERR Unsupported CONFIG parameter: notify-keyspace-events; nested exception is redis.clients.jedis.exceptions.JedisDataException: ERR Unsupported CONFIG parameter: notify-keyspace-events

  • 해결, Bean 추가 (아래)

    Redis 버전이 오래되었을 때 발생하거나 외부 Redis를 연결할 때 발생하는 오류인데
    기본적으로 @EnalbeRedisHttpSession을 사용하는 경우 SessionMessageListner와 필요한 Redis Keyspace 이벤트 활성화가 자동으로 수행된다.
    그러나 보안을 가진 Redis환경에서는 config명령이 자동으로 비활성화가 되고, 이 의미는 Spring Session이 Redis Keyspace이벤트를 구성할 수 없음을 의미한다.
    그래서 자동 Configuration을 비활성화하려면 ConfigureRedisAction.NO_OP을 Bean으로 추가
    출처 : 연동 오류 해결 블로그

@Bean
ConfigureRedisAction configureRedisAction() {
	return ConfigureRedisAction.NO_OP;
}

출처

redis 를 aws에서 실행해보기 블로그 🌞 (나의 햇님~)

refis cent os (yum) 명령어 블로그

연동 오류 해결 블로그

0개의 댓글