こんにちは。CnS技術統括部のumeです。
近年は「クラウドファースト」と呼ばれる、企業が情報システムの設計や移行に際してクラウドサービスの採用を第一に検討する考え方が広まっていましたが、2018年6月に政府が発表した「政府情報システムにおけるクラウドサービスの利用に係る基本方針」では、さらに一歩踏み込んだ「クラウド・バイ・デフォルト原則」という表現が使われています。
そんな中、Infobloxユーザであるお客様との会話の中で「色々なサービスがクラウドに移行していってますけど、クラウドDHCPサービスってないんですかね??」という内容の話が出てきました。
Infobloxで言うと、AWS上のvNIOSインスタンスは昔からあったのですが、機能としてはIPAMとDNSのみで、DHCPは稼働できない制限がありました。
真偽のほどが定かではないのですが、昔はAWS側の制限でDHCPサービスを稼働できなかったようです。
最近この辺りの仕様が変更され、NIOS8.4.4ではDHCPサービスの稼働ができるように機能が追加されました。
前置きが少し長くなりましたが、今回は「AWS上でInfobloxのDHCPを動かしてみた」という内容です。
構成はシンプルに以下のような環境でテストしてみました。
DHCPの仕組みを考えると、どうしてもこのような構成にせざるを得ないのかなと思います。
ざっくりと手順を記載していきます。
(VPN接続については完了している状態として、設定方法は割愛します。)
Infoblox vNIOS for AWSの立ち上げ
AWSのマネジメントコンソールにログインします。
EC2⇒インスタンスの作成を選択します。
コミュニティAMIを選択し、検索ボックスで「Infoblox」と入力します。
似たような名前がたくさん表示されますが、「Infoblox NIOS 8.4.0 381062 DDI BYOL」を選択します。
他のものは旧型番のモデルだったり、バージョンが昔のものだったりするのでご注意ください。
次にインスタンスタイプを選択します。
ここは使用したいInfobloxのモデルによって選択する内容が異なりますので以下を参考にします。
TE-V825 : r4.large TE-V1425 : r3.xlarge / r4.xlarge TE-V2225 : r4.2xlarge
異なるスペックのものでも起動はしそうですが(未確認)、メーカのサポートが必要な場合は上記の通り選択します。
続いてインスタンスの詳細設定です。
ネットワーク(VPC)やサブネット(アベイラビリティゾーン)を適切に設定します。
パブリックIPは無しで良いでしょう。
ここで注意点が2つあります。
1つ目は、「ネットワークインターフェース」の追加が必要なところです。
「デバイスの追加」をクリックして、eth1を追加します。
この追加したeth1が、InfobloxのLAN1に相当します。
2つ目は「高度な詳細」の部分で初期パラメータを指定します。
ユーザデータのフィールドで以下を入力します。
#infoblox-config remote_console_enabled: y default_admin_password: infoblox temp_license: dhcp dns enterprise nios IB-V825
上記2点が必要なので忘れずに設定します。
その次のストレージは特に変更せず、タグも任意でOKです。
セキュリティグループでは、HTTPSは確実に許可が必要です。
また今回はDHCPサービスを動かしますので、UDP67の許可が必要です。
SSHも必要に応じて許可しましょう。
今回はCLIでライセンスの確認もするので許可しておきます。
これあとはキーの確認後インスタンスを起動すればInfoblox vNIOS for AWSの準備が完了です。
Infobloxの設定
AWSのインスタンス一覧から先ほど立ち上げたvNIOSを選択し、ネットワークインターフェースのeth1を確認します。
このインターフェースに割り当てられているIPに接続します。
まずはライセンス確認のため、SSHでアクセスします。
ユーザ名はデフォルトで「admin」が設定されています。
パスワードは上記のインスタンス作成で指定したパスワードが設定されています。
ログインできたら「show license」コマンドで確認します。
これも「高度な詳細」の部分で指定したtemp_licenseが適用されていればOKです。
Infoblox > show license Version : 8.4.0-381062 Hardware ID : EC2BA87FFFF97650407DC412DB1C0A8A License Type : NIOS (Model IB-V825) Expiration Date : 02/04/2020 License String : GQAAAG9J+ENMpoSAulkQuxL42B0AfD71pU3CXmY= License Type : DNS Expiration Date : 02/04/2020 License String : EgAAAGVO5EwBo8zI8hcSuRC0x04dIA== License Type : Grid Expiration Date : 02/04/2020 License String : GQAAAGRO41VC58KV/UBeuhS0kFAWdD7w/R3JC28= License Type : DHCP Expiration Date : 02/04/2020 License String : EwAAAGVI9EBMpoSAulkQuxL42BVHcz4=
ライセンスの確認ができたら、HTTPSでWebUIにアクセスします。
NIOS8.4から、WebUIが若干変わっていますが基本的な配置は変わっていません。
早速DHCPのサービスを起動、といきたいところですがNIOS8.4.0のままだとDHCPが起動できません。
(サービス起動のボタンを押してもErrorのまま起動が完了しない)
DHCPが使えるようになったのはNIOS8.4.4であるため、Grid ⇒ Upgradeの画面からNIOSを8.4.4にアップグレードします。
アップグレードが完了し、8.4.4になったらようやくDHCPサービスが起動できます。
Data Management ⇒ Members ⇒ Membersで表示される画面で、Memberのチェックボックスにチェックを入れ、画面右側ToolbarのStartをクリックします。
少し待って画面を更新し、STATUSがRunningとなりバーが緑色に変化していればサービスは起動状態になっています。
あとは通常通りDHCP Networkの設定と、DHCP Rangeの設定を行えばDHCPサーバ側の準備完了です。
周辺ネットワーク機器の設定
AWSだから、という訳ではなく基本的な内容ですが、ネットワーク機器側の設定で注意するポイントを記載します。
DHCPリレーの設定
基本中の基本ですが、DHCPでIPアドレスを払い出したいセグメントの機器(ルータやL3スイッチ等)で設定します。
Ciscoだと「ip helper-address」という感じで機器メーカーによって呼び方が異なる場合もあります。
リレーする先(=DHCPサーバのIP)はAWS上のインスタンスですので、そのIPアドレスを指定します。
通信ポートの許可、経路の確保
普通に利用する場合は、あまり問題になることはありません。
ただ、DHCPサーバ側はきちんと設定しているのにアドレスが払い出されない、といったような状況の場合はネットワーク機器側が原因の場合もあります。
DHCPサーバ側からリレーされたパケットを見ると、送信元IPはリレーしている機器のIPアドレスです。
ただしどのインターフェースのIPになるかは、その機器の実装次第ですので経路中のFirewall等で通信制御する場合は、送信元IPがどのアドレスになるのかは調べておいた方が良いです。
(大体の機器はDHCPリレーを設定しているインターフェースのIPになっている感じがします。)
また、DHCPサーバからのReply先は送信元IPではなく、giaddr(リレーエージェントIP)のアドレス宛てに送信されます。
終わりに
AWSのマネジメントコンソールからvNIOSのインスタンスを立ち上げれば、あとは従来のInfobloxと何ら変わりはないです。
基盤がAWSになる分、その辺りの運用は当然変わりますがInfobloxに関するの運用方法はほぼ変更がありません。
InfobloxもSubscriptionのライセンス形態にシフトしていますし、例えばこの1年はオンプレ環境のままリプレイスをして、その1年後にクラウド基盤へ移行、というような計画も立てられるのではないかと思います。
次はBloxOneDDIについて触れてみたいと思います。