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 追記
オンプレミス想定の環境として、ハイブリッド構成を検証する目的で構築しています。
本番環境として永続的な利用を想定しているものではありませんので、セキュリティを意識した構成ではありません。
作業量や設定を最小限にしています。
「権威サーバーとキャッシュサーバーを兼用するとセキュリティリスクがある」などのご指摘もいただけましたので追記いたしました。
ご指摘ありがとうございます。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
WordPressのwp-login.php , xmlrpc.phpへのアクセスをAWS WAFで接続元IPアドレスを制限する
AWS CloudWatch LogsエージェントでAmazon EC2上のNg …
-
-
AWS LambdaでChrome HeadlessドライバをAWS Lambda Layersから使う
この記事はSelenium/Appium Advent Calendar 201 …
-
-
T3.nanoで仮想メモリ割当をユーザーデータで実行する
T3.nanoはメモリがだいたい500MBです。 実行する処理によってはメモリエ …
-
-
AWS Network Firewallの入門
公式のGetting started with AWS Network Fire …
-
-
AlexaにAWSの最新Feedを読み上げてもらう(Lambda Python)
年末にAmazon Echo Dotを購入しましたので、練習がてらAlexaスキ …
-
-
CodeGuru ProfilerでLambda関数(Python 3.9)のパフォーマンスを確認した
CodeGuru ProfilerでPython 3.9のLambda関数の推奨 …
-
-
Pandocサーバーのコンテナイメージを作成する
マークダウンからEPUBへの変換をAWS Batchで行いたく、ECRにアップロ …
-
-
ParquetフォーマットのデータにS3 Select SQLを実行する
RDSスナップショットのS3エクスポート結果確認で出力したデータが、S3にPar …
-
-
CodeWhisperer(Visual Studio Code)でセキュリティスキャン
CodeWhispererのセキュリティスキャンを実行してみました。 画面下の[ …
-
-
AWS Organizationsでタグポリシーを設定しようとしました
Organizationsで[タグポリシーを有効にする]ボタンを押下しました。 …