【入門編】 VPCにおけるDHCPオプションセットのカスタマイズ – クラウドインフラと仮想化ネットワーク実践ガイド

AWSの「DHCPオプションセット」を完全攻略!VPCのネットワークに自分好みのルールを教えよう

こんにちは!クラウドインフラの現場で、日々パケットと格闘しているSREです。

AWSでVPC(仮想プライベートクラウド)を構築し始めたとき、皆さんはこんなことを考えたことはありませんか?
「インスタンスを立てるたびに、DNSサーバーの設定を手動で変えるのは面倒だな…」
「社内の独自ドメインを使って、サーバー同士で名前解決できるようにしたいな…」

実は、それを一発で解決してくれる魔法の杖があるんです。それが「DHCPオプションセット」です。今日は、ネットワーク初心者の方でもスッと頭に入るよう、身近な例えを交えながら解説していきますね。

—

そもそも「DHCP」って何をしているの?

まずは基本から。VPCの中にインスタンス(仮想サーバー)を立てた瞬間、そのインスタンスは「私はネットワークに参加したい!」と声を上げます。

このとき、誰かが「君のIPアドレスはこれだよ」「DNSサーバーはあっちだよ」と教えてあげないと、インスタンスは迷子になってしまいますよね。この「ネットワークの設定情報を教えてくれる係」が DHCPサーバー です。

郵便配達に例えるなら、こんな感じです。

  • DHCPサーバー:住所(IPアドレス)や、最寄りの案内所(DNSサーバー)の場所を教えてくれる「役所の窓口」
  • DHCPオプションセット:その窓口で渡される「案内パンフレット」

デフォルトのままだと、AWSが用意した標準的なパンフレットが配られます。でも、私たちは「もっとうちの会社専用の情報を載せたい!」ということがありますよね。その時に使うのが、この「DHCPオプションセットのカスタマイズ」というわけです。

—

なぜカスタマイズが必要なの?

例えば、社内にActive Directoryサーバーや、独自のDNSサーバーを立てている場合。インスタンスが外部のDNSしか知らないと、社内のサーバーの名前を解決できず、通信が弾かれてしまいます。

DHCPオプションセットを使えば、VPC内の全インスタンスに対して、「名前解決に困ったら、まずはこのDNSサーバーに聞きに行きなさい!」という強力な指示を、最初から刷り込んでおくことができるんです。

—

DHCPオプションセットで設定できる主な項目

カスタマイズで設定できる主な項目は以下の4つです。

1. domain-name-servers:DNSサーバーのIPアドレス。独自サーバーを指定します。
2. domain-name:ドメイン名(例: corp.example.com)。これを入れておくと、ホスト名だけで通信できるようになります。
3. ntp-servers:時刻同期サーバーの指定。
4. netbios-node-type:古いWindows環境で使われる設定(最近はあまり使いませんが、念のため)。

—

実践:AWS CLIで設定を作ってみよう

設定はマネジメントコンソールでもできますが、SREとしては「コードで管理(IaC)」できるようにコマンド操作を覚えておくと便利です。一歩ずつやってみましょう!

1. DHCPオプションセットを作成する

まずは「オリジナルのパンフレット」を作ります。

# 独自DNSサーバー(10.0.0.5)を指定した設定を作成します
aws ec2 create-dhcp-options \
    --dhcp-configuration "Key=domain-name-servers,Values=10.0.0.5" \
    --tag-specifications 'ResourceType=dhcp-options,Tags=[{Key=Name,Value=my-custom-dhcp}]'

2. VPCに適用する

作ったパンフレットを、特定のVPCに紐付けます。これを行わないと、設定は適用されません。

# 作成したオプションセットのIDを、対象のVPCにセットします
aws ec2 associate-dhcp-options \
    --dhcp-options-id dopt-xxxxxxxxxxxxxxxxx \
    --vpc-id vpc-xxxxxxxxxxxxxxxxx

たったこれだけで、そのVPC内で新しく立ち上がるインスタンスは、自動的にあなたの決めた設定で動き出します。なんてスマートなんでしょうか!

—

現場のエンジニアが教える「注意点」

最後に、現場で泣きを見ないためのワンポイントアドバイスです。

  • 適用タイミングに注意!

DHCPオプションセットを変更しても、既に動いているインスタンスの設定はすぐには変わりません。インスタンスを再起動するか、OS側でDHCPの再要求(dhclientの再実行など)を行う必要があります。

  • DNSサーバーの到達性

せっかくDNSサーバーを指定しても、そのサーバーまでのネットワーク経路(セキュリティグループやルーティング)が繋がっていなければ意味がありません。「設定したのに名前解決できない!」というトラブルの9割はこれです。まずはpingやdigコマンドで、通信経路が確保できているか確認しましょう。

—

まとめ

DHCPオプションセットは、ネットワークという広大な海を渡るインスタンスたちに、正しい航路図を手渡すような役割です。

  • DHCPは自動設定の仕組み
  • オプションセットは配布する情報のテンプレート
  • CLIでサクッと設定して、インフラを自動化しよう!

最初は難しく感じるかもしれませんが、一度やってみると「なるほど、こうやってネットワークは成り立っているのか!」という実感が湧いてくるはずです。ぜひ皆さんのVPCでも試してみてくださいね。

それでは、また次回の記事でお会いしましょう!Happy Clouding!

コメント

タイトルとURLをコピーしました