2025/05/12 5

☁ EC2에 스프링 부트 배포하면서 피땀 흘린 썰 (2)

― Redis 오류, 그리고 Security 지옥 ―🔴 4. Redis 연결 오류 (UnknownHostException: redis)Spring Boot는 잘 떴는데, 갑자기 이런 에러가 터졌다:java.net.UnknownHostException: redis 처음엔 “레디스 안 켜졌나?” 싶었는데, Redis는 잘 실행 중이었다.문제는 Docker 네트워크였다.✅ 이유: Redis를 docker-compose로 안 띄웠기 때문내가 백엔드 컨테이너만 먼저 띄워놓고 Redis는 따로 설치해서 돌렸었는데,그 상태에서 .env에 이렇게 설정해놨었다:# envspring.data.redis.host=redis → 당연히 "redis"라는 이름은 Docker 내부 네트워크에서만 인식 가능하고,그 이름을 호스트..

카테고리 없음 2025.05.12

☁ EC2에 스프링 부트 배포하면서 피땀 흘린 썰 (1)

― 진짜 삽질기록.zip ―사이드 프로젝트를 마무리하면서, "배포까지 해봐야 진짜 끝이지" 싶은 마음에AWS EC2에 Spring Boot 앱을 직접 Docker로 띄워봤다.물론 당연히 처음부터 막혔다. 그 과정을 적어보려고 한다.🛠️ 1. 운영처럼 배포해보고 싶었다기획부터 개발까지 다 한 프로젝트가 있었고,이걸 단순히 로컬에서만 돌리는 게 아쉬워서"운영 환경처럼 한번 제대로 띄워보자" 싶었다.백엔드는 Spring BootDB는 MySQL (초기엔 직접 설치했음)캐시는 Redis배포는 Docker + EC2실제로 서비스 돌아가는 구조랑 최대한 가깝게 구성해보고 싶었다.🌱 2. EC2부터 시작했는데, 처음부터 멘붕✅ 기본 VPC가 없다고 했다처음 EC2 인스턴스를 만들려니까,"이 리전에서는 기본 VPC..

카테고리 없음 2025.05.12

🐛 GitHub Actions에서 Spring 테스트는 통과했는데, Docker가 실패했다고요?

서론MoneyTalk 프로젝트에 CI/CD를 붙이던 어느 날, 테스트는 잘 도는데 갑자기 Docker 빌드에서 에러가 팡팡 터졌다.분명 로컬에서는 되던 거였는데 말이지...🎯 1. 테스트는 왜 CI에서만 실패했을까?Could not resolve placeholder 'spring.data.redis.host' 이 에러는 Spring이 ${spring.data.redis.host} 같은 설정값을 못 찾았을 때 나오는 고전적인 에러다.로컬에서는 잘만 돌아갔는데, GitHub Actions에서는 줄줄이 테스트가 터졌다.📌 원인은 단순했다테스트 전용 설정 파일인 application-test.yml이 .gitignore에 막혀서 Git에 아예 포함되지 않았던 것!결국 CI 환경에서는 이 설정 파일이 존재하..

카테고리 없음 2025.05.12

🧪 SpringBootTest에서 ClientRegistrationRepository 에러 해결기

“테스트 돌리는데 갑자기 ApplicationContext가 안 뜬다?”요즘 통합 테스트를 정리하면서 @SpringBootTest 기반의 테스트를 하나씩 만들고 있었는데, 갑자기 이런 에러를 만났다.No qualifying bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository'ApplicationContext 자체가 죽어버린다. 로그 맨 아래에 IllegalStateException이 나오고,“ApplicationContext failure threshold exceeded” 같은 문구까지 뜨면 거의 시험지 찢을 타이밍이다.🤔 원인문제의 근원은 SecurityConfig에 있는 h..

카테고리 없음 2025.05.12

💥 Docker에서 Redis 연결 안 될 때? 내 삽질 기록 정리 🐳🔥

📌 문제 상황Spring Boot + Redis + Docker Compose 환경에서 프로젝트를 올리는데,애플리케이션이 갑자기 종료되고 아래와 같은 에러를 뿜었다.Connection refused: localhost/127.0.0.1:6379 Unable to connect to Redis분명 REDIS_HOST=redis로 설정했는데 왜 자꾸 localhost:6379로 연결하려는 거야...? 🔍 문제 원인 파헤치기1. localhost로 연결되는 이유?Redis를 Docker 컨테이너로 띄우면 localhost가 아닌 컨테이너 이름(redis)으로 접근해야 한다.그런데도 Spring이 계속 localhost를 사용한다면?→ 환경 변수 적용이 제대로 안 됐거나, 소스 코드나 설정 어딘가에 하드코딩..

카테고리 없음 2025.05.12