목차

1. 문제점

2. 원인 분석 및 결과

3. 문제 해결

4. Google 공용 DNS


1. 문제점

  • 개발서버에 배포 시, 로그인 처리가 느린 현상

    • 로그인 시 사용하는 URL: http://login.microsoft.com

2. 원인 분석 및 결과

  • ping 명령어를 사용해서 로컬에서 먼저 http://login.microsoft.com를 확인함
  • docker 컨테이너 내부에 들어가서 ping을 날려봄

    # docker 컨테이너 접속
    $docker exec -it <컨테이너_id> /bin/bash
    
    # ping 설치
    $apt update
    $apt install iputils-ping
    
    # ping 날리기
    $ping login.microsoft.com
    
  • 분석 결과, 도커 컨테이너 내부에서 핑이 느리게 옴

3. 문제 해결

  • docker run 명령어에 dns 옵션 추가

    # --dns 플래그를 docker run에 적용
    - docker run -d --dns 8.8.8.8 --name $APP_NAME --restart=always -p  $ARG_EXPOSE_PORT:$ARG_EXPOSE_PORT -e PORT=$ARG_EXPOSE_PORT $IMAGE_NAME
    
  • docker로 배포 후 /etc/resolv.conf 파일 확인

    • 수정 전

    • 수정 후

수정하고 확인 해보니 문제가 해결됨

4. Google 공용 DNS

정의

DNS 8.8.8.8은 구글에서 제공하는 공용 DNS 서버 주소로, 누구나 무료로 사용할 수 있는 DNS 서비스

장점

  • 빠른 응답 속도
    구글의 DNS 서버는 전 세계에 분산되어 있어 빠른 속도로 도메인 이름을 IP 주소로 변환할 수 있습니다. 특히, 일부 ISP가 제공하는 기본 DNS보다 응답 속도가 빠를 수 있음

  • 안정성
    구글은 대규모 서버 네트워크와 고성능 인프라를 운영하기 때문에, 공용 DNS 서버의 안정성과 가용성이 매우 높습니다. 서버 다운타임이 거의 없어 연결 문제가 줄어들 가능성이 큼

  • 보안 강화
    구글 DNS는 DNSSEC를 지원하여 보안을 강화합니다. 이는 악의적인 DNS 스푸핑 공격을 방지하는 데 도움을 주며, 사용자가 안전하게 웹사이트에 접속할 수 있음

  • 필터링 없는 접근
    특정 지역의 ISP에서는 일부 웹사이트를 필터링하거나 제한할 수 있지만, 구글 DNS를 사용하면 이러한 제한을 우회할 가능성이 높아질 수 있음

  • 투명성
    구글의 DNS는 로깅 정책이 명확하며, 많은 사용자들이 이미 사용하고 있어 신뢰할 수 있는 서비스

  • 개선된 연결성
    특정 ISP의 DNS가 느리거나 불안정한 경우, 구글의 DNS로 전환하면 더 나은 웹사이트 연결성을 경험할 수 있음