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
関連記事
-
ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築ハンズオン 手順
ヤマムギとは from Mitsuhiro Yamashita 「AWSではじめ …
-
AWS SSOのパスワードリマインダーでADのパスワードを変更
AWS Managed Microsoft ADを構築してユーザー追加までで構築 …
-
Amazon Pinpoint Workshopの1(Eメール)
Amazon Pinpoint Workshop ここ数年、AWS re:Inv …
-
AWS X-Ray SDK for PythonをOrganizations組織内にLambda Layersで共有しました
ローカルでパッケージ作成 インストールコマンドはこちらAWS X-Ray SDK …
-
Lambdaバージョンとエイリアスとトリガー
Lambdaのバージョン、エイリアスにはそれぞれ別のトリガーが設定できます。 上 …
-
[事前準備] JAWS-UG 関西IoT専門支部「マクニカkibo + AWS IoTハンズオン」
来る12/19(土)の JAWS-UG 関西IoT専門支部第一回勉強会「マクニカ …
-
当ブログ(WordPress)のCloudFrontのキャッシュヒット率があがった
当ブログの構成です。 S3とALB+EC2 Auto Scalingで構成してい …
-
AWS DataLake 構築ハンズオンに行ってきました
AWSJ大阪が増床されて2019年10月限定でAWS pop-up loftとい …
-
slackのbotをAWS Lambda(Python)+API Gatewayで構築
slackで投稿した内容に応じて返信したり調べ物したりしてくれるbotですが、こ …
-
webフォームからの問い合わせをRedmineに自動登録して対応状況を管理する(API Gateway + Lambda)
先日、検証目的で作成したRedmineの冗長化の一機能として、webフォームから …