다른서버를 사용하면 lb://MAIN-SERVICE가 작동을 안합니다
예제를 따라하면서
API-GATEWAY와 EUREKA 는 LOCALHOST로 서버를 열고,
MAIN-SERVICE라는 서비스만 AWS EC2에서 실행하였습니다.
직접 주소를 넣었을때는 잘 작동하는데
배운대로 lib://MAIN-SERVICE 의 형태로 하면 작동을 안합니다!..
혹시 방법이 있을까요?
참고로 모든 서버를 LOCA에서 돌렸을때는 lib이 정상 작동 하였습니다


Answer 1
0
안녕하세요, 이도원입니다.
EC2에 등록한 서비스의 문제인지, apigateway-service에서 사용하는 Eureka의 서비스명이 문제인지 확인해 보기 위해서, 질문하신 내용에 다시 질문 드립니다.
lb:MAIN-SERVICE가 아니라, http://35.79.145.19:9001 (아마도 EC2 주소 같습니다만)로 직접 설정하면 어떻게 되나요?
추가로, apigateway-service가 아닌, 웹 브라우저나 Postman에서 직접 해당 주소 (EC2)로 접속 시 서비스가 작동되나요?
위 내용을 확인해 보시고 결과를 공유해 주시면, 다른 원인이 있는지도 확인해 볼 수 있을 것 같습니다.
감사합니다.
0
직접설정하면 작동합니다!
추가적으로 ec2 서버의 탄력적 아이피 주소가 http://35.79.145.16 입니다.
(test uri : http://35.79.145.16:9001/main-service/swagger-ui/)유레카에 연결된 htttp://172.31.43.172는 탄력적 ip가 아니라 ec2 내부 주소? 인 것 같습니다.
작동합니다!
1번의 질문에서 localhost:18000/main-service/**로 접근해도 작동이 됩니다.
브라우저에서 swagger url을 쳐도 작동하고,postman을 사용하여 api 호출시에도 잘 됩니다...
다만 lib://을 쓰는순간 동작이 안되네요..ureka에 main-service를 클릭하면 나오는 주소가
http://ip-172-31-43-172.ap-northeast-1.compute.internal:9001/main-service/actuator/info 입니다.
주소가 왜 저런식으로 맵핑되는지 모르겠으나.. 여기서 actuator을 지우고 swagger 주소를 넣으면 작동이 안됩니다..
http://ip-172-31-43-172.ap-northeast-1.compute.internal:9001/main-service/swagger-ui/
0
안녕하세요, 이도원입니다.
1번과 2번이 성공하셨고, 3번 결과로 보아, EC2에 방화벽 문제일 수도 있다는 생각이 듭니다. EC2 인스턴스를 생성하면, 공개 IP와 내부(inernal) IP가 부여되는데, 공개 IP는 재부팅 시 변경되어서 지속적인 서비스를 위해서는 Elastic IP를 사용하게 됩니다. 그러나, 내부 IP는 Elastic IP와 상관없이 변경되지 않고 계속 할당되어 있는 상태이고, 해당 Internal IP를 기반으로 해서 ip-172-31-43-172.ap-northeast-1.compute.internal 과 같은 도메인이 부여 됩니다. 작업하신 EC2 관리 콘솔로 이동하신 다음에 보안그룹(Security Group) Inbound 정책에 9001이 열려 있는지도 확인해 보시면 좋을 것 같습니다.
감사합니다.
0
안녕하세요... 아직까지 미해결중입니다.
1. 인바운드 9001포트는 계속열려있습니다
포트가 열리지 않았다면, 탄력적 ip:9001로 접속이 되지 않아야 할텐데 그건 되는듯합니다.
2. 혹시 MAIN-SERVICE가 존재하는 프로젝트의 applicaion.yml에서 세팅으로
내부아이피가 아닌 탄력적ip로 eureka와 api-gateway에 등록 시킬 수 있는 방법이 없을까요? 자동으로 내부아이피를 지정해줘서 이런 문제가 발생하는 듯합니다..
이 문제로 너무 골머리를 썩고 있습니다. 도와주세요..!
=========================================
<API-GATEWAY>
URI 옵션을 lb://MAIN-SERVICE로 설정
<MAIN-SERVICE>
eureka.instance.statue-pare-url을 ec2 내부 서버가 아닌 탄력적 ip로 지정.
<Eureka>
status가 정상적으로 올라오는것을 확인
하지만 실제로 localhost:18000/main-service/swagger-ui를 해보면 작동이 안됩니다..
eureka.instance.status-page-url= http://35.79.145.16:9001/main-service#eureka.instance.status-page-url-path= /main-service
#eureka.instance.home-page-url-path= /main-service이런 값을 넣어봐도 잘 작동이 안되서 질문 해봅니다
kafka 업데이트 강의 듣고 시포요
0
83
1
강의 교안
0
71
1
마이크로서비스간 통신 시, 인증 처리
0
79
1
api gateway 에서 인증 처리
0
64
1
섹션 19 질문드립니다
0
51
1
강의 자료 업데이트
0
81
1
부하분산 강의 섹션
0
56
1
강의자료는 어디에서?
0
69
1
강의 자료는 어디서 다운 받을 수 있나요?
0
109
1
전체 사용자 조회시 오류
0
57
1
혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??
0
109
2
학습 방향
0
94
2
카프카 커넥터 사용 목적 문의
0
85
2
kafka 강의
0
106
2
서비스 디스커버리 종류
0
86
2
강의 자료에 대해서 궁금해요
0
115
2
GlobalFilter, LoggingFilter가 동작하지 않습니다.
0
89
2
Kafka Source Connect 버전 에러
0
83
2
소스커넥터는 사용안한 거 맞죠?
0
81
2
강의자료 업데이트 문의
0
94
2
강의에서 BCryptPasswordEncoder 에 역할(5-2)
0
56
1
강의 업데이트 계획이 궁금합니다.
0
111
2
MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)
0
160
2
어떤 것이 업데이트 된 건가요?
0
162
2

