[AWS] [infra] 우분투에서 DNS 네임서버 변경

SINGING BIRD·2023년 11월 11일

1. ubuntu 의 DNS 네임서버 기본 설정을 변경한 이유

  • EAI_AGAIN 에러가 발생하였습니다.
  • EAI_AGAIN 에러는 DNS 조회 시간 초과에 관한 에러입니다.
  • 아래 상세내용은 zebipay-db.c1irrzbwt7mp.ap-northeast-2.rds.amazonaws.com RDS 주소를 IP 로 변환하려고 시도할 때 시간초과가 난 에러입니다.
|  ERROR  getaddrinfo EAI_AGAIN zebipay-db.c1irrzbwt7mp.ap-northeast-2.rds.amazonaws.com
1|zebipay-production  |   at ConnectionManager.connect (node_modules/sequelize/lib/dialects/mysql/connection-manager.js:102:17)
1|zebipay-production  |   at runMicrotasks (<anonymous>)
1|zebipay-production  |   at processTicksAndRejections (node:internal/process/task_queues:96:5)
1|zebipay-production  |   at async ConnectionManager._connect (node_modules/sequelize/lib/dialects/abstract/connection-manager.js:222:24)
1|zebipay-production  |   at async node_modules/sequelize/lib/dialects/abstract/connection-manager.js:174:32
1|zebipay-production  |   at async ConnectionManager.getConnection (node_modules/sequelize/lib/dialects/abstract/connection-manager.js:197:7)
1|zebipay-production  |   at async node_modules/sequelize/lib/sequelize.js:305:26
1|zebipay-production  |   at async MySQLQueryInterface.select (node_modules/sequelize/lib/dialects/abstract/query-interface.js:407:12)
1|zebipay-production  |   at async Function.findAll (node_modules/sequelize/lib/model.js:1140:21)
1|zebipay-production  |   at async Function.findOne (node_modules/sequelize/lib/model.js:1240:12)

2. ubuntu 에서 DNS 네임서버 설정은 /etc/netplan/50-cloud-init.yaml 파일에 있습니다.

(서버 종류에 따라 경로가 다를 수 있습니다.)

  • 50-cloud-init.yaml 파일 내용
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eth0:
            dhcp4: true
            dhcp6: false
            match:
                macaddress: 0a:34:46:01:21:10
            set-name: eth0

            nameservers:
                addresses: [8.8.8.8, 8.8.4.4]
    version: 2
  • nameservers 의 addresses 섹션에 구글의 공용 DNS 주소인 8.8.8.8 과 8.8.4.4 로 설정하였습니다.

  • 기존에는 아마존의 DNS 주소로 세팅되어 있었는데, 아마존 DNS 네임서버가 시간초과 에러가 나서 임시로 구글 공용 DNS 주소로 변경하여서 해결하였습니다.


profile
good things take time

0개의 댓글