Amazon VPCにオンプレミス検証環境想定プライベートDNSサーバー(BIND)をEC2で起動する
2021/10/28
オンプレミス想定の検証で使うために、Amazon VPCにプライベート向けDNSサーバーをBINDで起動しました。
【BIND】権威DNSサーバの構築
こちらを参考にしました。
環境はAmazon Linux2です。
セキュリティグループはTCP, UDPの53番ポートをVPCのCIDRに許可しています。
目次
BINDのインストール
sudo suでrootユーザーでコマンドを実行しました。
1 2 |
yum install -y bind |
BINDをインストールしました。
/etc/named.conf
デフォルトのnamed.confで変更したのは以下2行とzone追加しました。
192.168.0.70はEC2インスタンスのプライベートIPアドレスです。
1 2 3 4 5 6 7 8 |
listen-on port 53 { 127.0.0.1; 192.168.0.70;}; allow-query { any; }; zone "bind.yamamugi.com" { type master; file "/etc/bind.yamamugi.com.zone"; }; |
/etc/bind.yamamugi.com.zone
1 2 3 4 5 6 7 8 9 10 11 |
$TTL 900 @ IN SOA ns.bind.yamamugi.com. sample.bind.yamamugi.com. ( 20210717 ; Serial 3600 ; Refresh 900 ; Retry 1814400 ; Expire 900 ) ; Minimum IN NS ns.bind.yamamugi.com. ns IN A 192.168.0.70 demo IN A 192.168.0.95 |
BINDの起動
1 2 |
systemctl start named |
DHCPオプションセットの設定
VPCコンソールでDHCPオプションセットを作成しました。
対象のVPCでDHCPオプションセットを作成したものに変更しました。
確認
確認用EC2インスタンスで確認
1 2 3 4 5 6 |
$ cat /etc/resolv.conf ; generated by /usr/sbin/dhclient-script search ap-northeast-1.compute.internal options timeout:2 attempts:5 nameserver 192.168.0.2 |
確認用EC2インスタンスはDHCPオプションセット変更前に起動していたEC2インスタンスで、AmazonProvidedDNSのネームサーバーがresolv.confに設定されています。
1 2 3 4 5 6 7 8 |
$ sudo service network restart Restarting network (via systemctl): [ OK ] $ cat /etc/resolv.conf options timeout:2 attempts:5 ; generated by /usr/sbin/dhclient-script search bind.yamamugi.com ap-northeast-1.compute.internal nameserver 192.168.0.70 |
即時反映させたいので、ネットワークサービスを再起動しました。
無事DHCPオプションで設定したとおり、bindサーバーを向いてくれました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
$ dig demo.bind.yamamugi.com ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> demo.bind.yamamugi.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31678 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;demo.bind.yamamugi.com. IN A ;; ANSWER SECTION: demo.bind.yamamugi.com. 900 IN A 192.168.0.95 ;; AUTHORITY SECTION: bind.yamamugi.com. 900 IN NS ns.bind.yamamugi.com. ;; ADDITIONAL SECTION: ns.bind.yamamugi.com. 900 IN A 192.168.0.70 ;; Query time: 0 msec ;; SERVER: 192.168.0.70#53(192.168.0.70) ;; WHEN: Sun Jul 18 09:36:23 UTC 2021 ;; MSG SIZE rcvd: 100 |
digコマンドで確認したら、無事名前解決できていました。
よかったよかった。
2021/10/27 追記
オンプレミス想定の環境として、ハイブリッド構成を検証する目的で構築しています。
本番環境として永続的な利用を想定しているものではありませんので、セキュリティを意識した構成ではありません。
作業量や設定を最小限にしています。
「権威サーバーとキャッシュサーバーを兼用するとセキュリティリスクがある」などのご指摘もいただけましたので追記いたしました。
ご指摘ありがとうございます。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Route 53のホストゾーンにサブドメインを登録する
親ドメインを移行しないでサブドメインの DNS サービスを Amazon Rou …
-
-
AWS Snowファミリーのジョブ作成画面を確認
使わないのですが、画面を見ておきたかったので確認しました。 Snowファミリージ …
-
-
AWS Lambda(Python)からTwitterに投稿する
「GoogleフォームからAPI Gatewayで作成したREST APIにPO …
-
-
AWSエンコードされたエラーメッセージをデコードするコマンドのメモ
Stdout: couldn’t create ENI: Unaut …
-
-
Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(失敗、手戻りそのまま記載版)
勉強のためブログサイトを長らくお世話になったロリポップさんから、AWSに移設する …
-
-
AWS Secrets Manager交代ユーザーローテーション
AWS Secrets Managerの交代ユーザーローテーションを確認してみま …
-
-
EC2ユーザーデータからメタデータを取得してRocket.Chatで80ポートを使用する
Rocket.Chatのデフォルトポート番号は3000です。 80を使うようにす …
-
-
「関西AWSスタートアップ勉強会」に行ってきました
第2回 関西スタートアップAWS勉強会に行ってきました。 akippa 拠点数コ …
-
-
AWS Transit GatewayのVPN接続
上記のような構成で、オンプレミス側は東京リージョンのVPCでVyOSを起動して接 …
-
-
ECR(Amazon Elastic Container Registry)にコンテナイメージをアップロードする
「Pandocサーバーのコンテナイメージを作成する」で作成したイメージをAWS …