インスタンスを再起動しても保持される静的 DNS サーバーエントリを使用するように EC2 インスタンスを構成する方法を教えてください。カスタム DNS サーバーアドレスを使用する resolv.conf ファイルを手動で更新すると、EC2 インスタンスを再起動した際に更新が失われます。

Virtual Private Cloud (VPC) に関連付けられた Amazon EC2 インスタンスのデフォルトの動作では、DHCP (Dynamic Host Configuration Protocol) を使用して起動の際に DNS サーバーアドレスをリクエストします。VPC は DHCP リクエストに対して、内部 DNS サーバーのアドレスを応答します。DHCP への応答で返された DNS サーバーアドレスは、local /etc/resolv.conf ファイルに書き込まれ、TCP/IP 名の解決リクエストに使用されます。resolv.conf ファイルに手動で加えられた変更は、インスタンスを再起動したときに上書きされます。

RHEL、Centos、または Amazon Linux を実行する EC2 インスタンスで静的な DNS サーバーエントリを使用するように構成するには、以下の手順を実行します。

  1. vim などのテキストエディタを使用して、/etc/sysconfig/network-scripts/ifcfg-eth0 を編集し、エントリ 'PeerDNS=yes' を 'PeerDNS=no' に変更します。こうすることで、DHCP から返された内部 DNS サーバーが resolv.conf ファイルに追加されなくなります。このファイルは読み取り専用のため、ファイルの変更に十分な権限があるユーザーアカウントに切り替えてから、ファイルを編集する必要があります。
  2. このファイルの各静的 DNS サーバーエントリに別の 1 行を次の構文で追加します。最初のエントリは DNS1=xxx.xxx.xxx.xxx とし、続くエントリでは DNSx の値を増加させていきます。以下に例を示します。
         PEERDNS="no"
         DNS1=8.8.4.4
         DNS2=8.8.8.8

このように変更することで、インスタンスを再起動した場合、/etc/resolv.conf ファイルには指定された DNS サーバーのみが含まれます。


この説明は、eth0 ネットワークインターフェイスがあり、ifcfg-eth0 ファイルに変更が加えられていないことを前提としています。

Amazon EC2、VPC、DHCP、静的 DNS、resolv.conf、ifcfg-eth0、再起動、再起動、RHEL、Centos、Linux

Amazon DNS サーバー
RHEL での DHCP クライアントの設定


このページは役に立ちましたか? はい | いいえ

AWS サポートナリッジセンターに戻る

サポートが必要ですか?AWS サポートセンターをご覧ください。

公開日: 2015 年 11 月 6 日