강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của seulee
seulee

câu hỏi đã được viết

Cách xây dựng môi trường server dễ dàng, nhanh chóng nhưng vô cùng vững chắc với AWS

java.net.UnknownHostException 에러 관련 질문입니다

Đã giải quyết

Viết

·

540

·

Đã chỉnh sửa

1

현재 환경

  • VPC

    • public subnet 2개

      • ALB, Nat gateway

    • private subnet 2개

      • fagate

  • Security group

    • public group (80포트 모든 ip허용)

    • private group(80포트 public group아이피만 허용)

 

여기서 이미지 컨테이너 실행도중 한 컨테이너에서

Caused by: ! java.net.UnknownHostException: 690bd678bcf4: Name or service not known

와같은 에러와함께 컨테이너 실행이 실패했고

스택오버플로우 검색에서 얻은 정보를 통해

localhost를 수정하는 sh파일을 도커컨테이너 실행하도록 변경하여 에러를 해결했습니다.

(해당 스크립트)



#!/bin/bash set -e shift cmd="$@" echo "127.0.0.1 $HOSTNAME" >> /etc/hosts exec $cmd


현재 실행된 컨테이너는 아무문제없이 잘 작동하지만

제가 이부분에대해 이해가 잘 안되기도하고 올바른방법으로 해결한것인지 불안한감이 있어서

혹시나 좋은 피드백을 받을 수 있을까해서 질문올립니다!

 

위에러는 강의랑 다른구성의 서버실행도중 발생한 에러이고 저또한 정확한 질문을 드린것은 아니라

답변이 안될거라 생각되지만 혹시나하는 마음에 올려봅니다!!

 

awsdockermsacontainerecsfargate

Câu trả lời 2

1

Seunghyeon Lee님의 프로필 이미지
Seunghyeon Lee
Người đặt câu hỏi

혹시나하는 마음으로 남긴글이었습니다 같이 고민해주어서 감사합니다!!

1

Burger님의 프로필 이미지
Burger
Người chia sẻ kiến thức

안녕하세요!

이 부분에 대해 저도 정확히 파악하기 위해 개인적으로 알아보았습니다.

인프라 구조를 자세히 알아야 정확한 진단이 가능하겠지만, 예상되는 원인은 한 컨테이너에서 입력한 호스트 네임으로 다른 컨테이너를 찾지 못한 에러인 것으로 보입니다.

해당 원인이 맞다면, 다음과 같은 해결책을 고려해볼 수 있습니다:

  1. ALB의 도메인 사용: 다른 컨테이너로 요청할 때 직접 호스트 네임을 사용하는 대신, ALB(Application Load Balancer)의 도메인 이름을 사용해보세요. 이는 호스트 네임 문제를 회피하는 데 도움이 될 수 있습니다.

  2. 서비스 디스커버리 사용: AWS ECS의 Service Discovery 또는 Service Connect 기능을 사용하여 컨테이너 간의 통신을 관리할 수 있습니다. 이는 컨테이너들이 서로를 쉽게 찾을 수 있도록 도와주는 서비스입니다.


    이 서비스는 이후 강의가 제작된다면 다뤄볼 예정입니다.

     

명확한 해결책을 드리지 못해 죄송합니다. 좋은 해결책을 찾게 되시면 공유해주시면 감사하겠습니다!

감사합니다.

Hình ảnh hồ sơ của seulee
seulee

câu hỏi đã được viết

Đặt câu hỏi