인프런 커뮤니티 질문&답변

thsghdud13님의 프로필 이미지

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

안녕하세요 Eureka 관련 질문 있습니다.

24.10.14 19:43 작성

·

32

0

AWS ECS를 통해 MSA 프로젝트를 배포하려고 노력중입니다. Eureka, Api Gateway, 그리고 나머지 서비스를 배포하려고 하는데, 유레카가 ECS 환경에서 잘 검색하고 있지 못한 것 같습니다. 왜 이런지 도저히 감이 안잡혀서 질문 올립니다.

 

그림에 있는 것과 마찬가지로 모두 같은 ip 주소를 가져오고 있습니다.

AWS ECS (Fargate) 환경이고, ALB 사용중입니다.

제 추측으로는 저 공통된 ip 주소가 ALB의 ip 주소이지 않을까 해서 다양한 방법을 시도해봤지만 private ip를 유레카가 가지고 있게 하는 것을 실패했습니다.

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

2024. 10. 20. 08:57

안녕하세요, 이도원입니다.

저희가 AWS ECS 상에서 Eureka를 테스트해 보지는 못했습니다만, Eureka에 서비스가 등록되었을 때 사용 된 서비스 ID가 Private IP로 설정된 것 같고, 위에 이미지에서와 같이 서비스가 등록된게 맞다면, 검색 시 오류가 생기는 부분은 네트워크에 대한 문제일 것 같습니다. 말씀하신 ALB에서의 연결과 내부적으로 검색할 때의 네트워크 허용 등에 대한 설정을 확인해 할 것 같습니다.

질문하신 내용과는 조금 다르지만 Docker를 기동할 경우에 같은 기본 네트워크를 사용할 경우에는 컨테이너명으로 통신이 되지 않고, 직접 IP를 명시하거나, 컨테이너를 위한 네트워크를 생성 후 사용해야지만, 컨테이너명으로 사용됩니다.

이번기회에 ECS로 기동될 수 있도록 테스트 후, 어떤 설정을 조정해야 하는 확인 후에 추가 답변 드리도록 하겠습니다.

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

2024. 10. 16. 19:46

안녕하세요, 인프런 AI 인턴입니다.

thsghdud13님, AWS ECS 환경에서 Eureka가 예상치 못한 IP 주소를 등록하는 문제를 겪고 계신 것 같네요. 이는 주로 네트워킹 설정과 관련이 있을 수 있습니다. 몇 가지 해결책을 제안해 보겠습니다:

  1. ECS와 Eureka 설정 확인: Eureka가 각 ECS 인스턴스의 개별적인 private IP 주소를 인식하도록 환경 설정이 올바르게 되어 있는지 확인해주세요. 각 서비스의 eureka.instance.ip-address 속성을 명시적으로 설정해 봐야 할 수도 있습니다.

  2. ALB 설정 검토: 현재 ALB를 사용 중이신데, ALB의 IP 주소가 Eureka에 등록되고 있는 것이 맞다면, ALB와 ECS의 연결 방식이나 설정을 다시 한번 확인해봐야 할 것 같습니다. 각각의 서비스 인스턴스가 ALB로 의해 라우팅될 수 있도록, 각 서비스에 올바르게 도메인을 제공하는지와 해당 서비스들이 올바른 대상 그룹에 연결되어 있는지를 점검하세요.

  3. 네트워크 구성 및 보안 그룹 확인: ECS Cluster와 ALB가 동일한 VPC/subnet에 위치하고 있으며, 서로 통신이 가능한 보안 그룹 설정인지 확인이 필요합니다. 모든 인스턴스가 네트워크적으로 올바르게 구성되어 있는지 확인해 보세요.

  4. Eureka의 설정 속성 탐색: Eureka의 eureka.instance.prefer-ip-address 옵션을 사용해 인스턴스의 IP 주소를 우선적으로 사용하는 설정을 검토해보시면 도움이 될 수 있습니다.

  5. ECS 설정 중 서비스 기록 구성 확인: 각 서비스가 인스턴스 위치에 대하여 올바르게 로드 밸런싱되는지 보장하기 위해 ECS 서비스 기록 기능을 사용하고 있는지를 확인해 보세요.

ECS와 Eureka 설정을 통해 IP 주소와 관련된 문제가 해결될 수 있기를 바랍니다. 추가적인 코멘트나 자료들의 기반으로 더 구체적인 설명이 가능하겠지만, 말씀 드린 내용을 한번 점검해 보시기 바랍니다.

추가적으로 AWS와 관련한 Eureka 설정에 대한 가이드를 확인하고 싶으시다면 AWS Elastic Beanstalk Java Guide를 참조해 보세요.

문의 사항이 더 있으시다면 언제든지 질문 주세요. 감사합니다.