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

우이잉님의 프로필 이미지

작성한 질문수

AWS로 구축하는 MSA와 컨테이너 오케스트레이션

ECS에서 노드서버 배포중 오류가 있어서 질문드립니다

해결된 질문

작성

·

213

1

ECS에서 테스크를 실행중에 난 오류인데, 외부의 레디스클라이언트로의 접속에 문제가 있는 것 같습니다..

Error: getaddrinfo ENOTFOUND "special-hagfish-50800.upstash.io"

 

VPC 세팅은 섹션2에서 알려주신대로 NAT게이트웨이까지도 설정을 한 상태이고, 보안그룹은 default로 인바운드, 아웃바운드 모두 모든트래픽에 대해 열려있습니다..

 

어떤 부분을 의심해볼 수 있을까요?

답변 1

0

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

안녕하세요!

질문에 남겨주신 사진으로 보았을때는 실습에 사용한 구팡 애플리케이션과 다른거같은데, 배포된 애플리케이션의 프레임워크같은 정보를 조금 더 가르쳐주시면 원인을 파악하는데 도움이 될거같습니다.

그리고 태스크 정의같은 부가적인 설정도 알려주시면 원인을 파악하는데 도움이될거같습니다!

감사합니다.

우이잉님의 프로필 이미지
우이잉
질문자

네 구팡 예제가 아닌 제 개인 프로젝트로 진행해보고 있습니다.! 프레임워크는 nest.js라는 프레임웍이고, 로컬에서 같은 redis host로 실행해봤을 떄는 문제가 없이 잘. 연결되어서 네트워크 설정 중의 문제가 아닐까 생각이 드는데, 정확히 짐작이 안되어서요 ㅠ

테스크 정의는 강의에서 나온 일반적인 설정에 도커 이미지만 변경했습니다.

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

감사합니다

추측하기론 nest is 에서 redis host로 연결할 때 설정한 dns로 연결이 안 된거같습니다.

혹시 rds host로 연결하는 dns는 어떻게 설정하셨나요??

제가 생각해봤을 땐 로드밸런서의 dns를 통해 redis로 접근하거나 redis 태스크의 private ip로 직접 연결해서 사용하는 방법을 고려해보시는것도 좋을거같습니다!

 

다른 방법으로는 강의에서 다루지는 않았지만 ecs service의 service connect나 service discovery 같은 기능을 사용해서 서비스간의 연결을 할 수도 있습니다.

 

해결되지 않으시면 추가로 문의 남겨주세요!

우이잉님의 프로필 이미지
우이잉
질문자

우선 부족한 정보제공에도 성심껏 답변 주셔서 감사드립니다.

코드 상의 host 연결은 로컬 환경이나 다른 ec2 인스턴스에서 실행했을 때 문제 되지 않았어서, ecs 관련한 설정 (특히 네트워크?)에 문제가 있을거라고 짐작만 했습니다.

ecs 서비스를 생성할 때 어플리케이션 로드밸런서를 사용하도록 설정했는데, 혹시 여기에 문제가 있었을까요?

image

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

Alb 를 internet facing(외부에서 접근 가능한 설정)과 퍼블릭서브넷 배치를 하셨다면, 현재 redis 접근이 문제인거같은데 로드밸러서를 통해 redis 접근이 가능한 상태인지 체크해보면 좋을거같습니다!

만약 외부에서 redis 접근이 정상적으로 된다면 nest js 에서 redis로 접근하는 설정이 문제가 있다고 생각할 수 있을것 같고,

외부에서도 redis 접근이 안된다면 redis의 보안이나 네트워크 설정 문제로 추측할 수 있을거같습니다.

우선 이런 방법으로 어디가 문제인지 찾아가는 방식으로 접근하면 좋을거같습니다!

혹시 계속 해결될지 않으시면 읽기 권한만 부여된 iam 계정을 제공해주시면 직접 확인해보겠습니다:)

우이잉님의 프로필 이미지
우이잉
질문자

감사합니다:) 혹시 메일 주소 부탁드려도 괜찮을까요?

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

blac2013@gmail.com 여기로 연락주세요!