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
関連記事
-
AlexaにAWSの最新Feedを読み上げてもらう(Lambda Python)
年末にAmazon Echo Dotを購入しましたので、練習がてらAlexaスキ …
-
webフォームからの問い合わせをRedmineに自動登録して対応状況を管理する(API Gateway + Lambda)
先日、検証目的で作成したRedmineの冗長化の一機能として、webフォームから …
-
AWS ControlTowerで既存アカウントをまとめて追加
AWS Organizationsに新たに招待したアカウントをAWS Contr …
-
API GatewayをトリガーにしたときのLambdaリソースベースポリシー
先日、SwaggerからAPI Gatewayを作ったときに、API Gatew …
-
Amazon EC2のスクリーンショットとは
ドキュメント見てたらAmazon EC2でスクリーンショットって機能があったので …
-
PyCharmにAWS Tool kitをインストールしてサンプルのLambda関数をデプロイして実行しました
この記事はJetBrainsIDE Advent Calendar 2018に参 …
-
Amazon Glacierのプロビジョニングされた迅速取り出し容量をなぜか購入しました
過去1年ぐらいのAWSコストをCost Explorerで見てまして、10/10 …
-
Organizations組織でAWS SSOを有効にする
先日AWS Control Towerで環境を作ったら、自動でAWS SSOがで …
-
AWS DeepLens開封の儀
去年(2019年)7月にamazon.co.jpでDeepLens買えますやんっ …
-
Introduction to Amazon EKS Workshopの記録
AWS Workshop StudioのIntroduction to Amaz …