ノート:

Oracle Cloud InfrastructureでのBIND9ドメイン・ネーム・システムの構成

イントロダクション

OraStageは、再生可能エネルギー・ソリューションと革新的な電力技術を専門とするエネルギー部門のリーディング・カンパニーであり、パフォーマンス、スケーラビリティ、セキュリティを強化するためにワークロードをOracle Cloud Infrastructure(OCI)に移行するという戦略的な決定を発表しました。

イメージ

OraStageが概説した特定のニーズと条件を考慮すると、同社はクラウドでハイブリッド・ドメイン・ネーム・システム(DNS)ソリューションを必要とし、ハイブリッドでは、OCI DNSサービスに加えて、独自のBerkeley Internet Name Domainバージョン9 (BIND9) DNSシステムを使用します。ここでは、構築しようとしている最終的なアーキテクチャを次のイメージに示します。

イメージ

OraStage DNSの要件:

このチュートリアルシリーズは、上記の概説された要件を達成するためにステップバイステップをガイドし、最初からソリューション全体を構築します。次のリストから各チュートリアルに簡単にナビゲートできます。

BIND9の概要

BIND9 (Berkeley Internet Name Domain version 9)は、世界で最も広く使用されている成熟したDNS (Domain Name System)サーバー・ソフトウェア・パッケージの1つです。これは、Internet Systems Consortium(ISC)によって開発され、維持されています。BIND9は、インターネットのほとんどのDNSインフラストラクチャのバックボーンとして機能し、小規模デプロイメントと大規模デプロイメントの両方に堅牢で信頼性の高いDNSサービスを提供します。

BIND9の柔軟性、堅牢性、および広範な機能セットにより、小規模な内部ネットワークからインターネット上の最大のパブリックDNSサービスまで、幅広いDNSアプリケーションに適しています。

BIND9の主な機能

BIND9の共通ユースケース

BIND9のインストールおよび構成

OCIでBIND9を使用

一部のお客様が、Oracle Cloud Infrastructure(OCI)の管理対象DNSサービスを使用するかわりに、独自のDNS(BIND9など)を使用および管理することを選択する理由はいくつかあります。

OCIマネージドDNSサービスは使いやすさ、スケーラビリティ、管理オーバーヘッドの削減を提供しますが、これらの要因により、一部の組織が独自のDNSインフラストラクチャの管理を選択する理由が強調されます。

OCIでのBIND9の設定の目標

目的

最終的なアーキテクチャ

イメージ

前提条件

タスク1: ルーティングおよびセキュリティ・ネットワーク・コンポーネントの設定

タスク1.1: VCNsの作成

タスク1.2: Dynamic Routing Gateway (DRG)の作成

DRGは、あるVCNから別のVCNへのプライベート・トラフィック、またはVCNとオンプレミス・ネットワーク間、あるいは他のクラウド環境ネットワークを持つVCN間のプライベート・トラフィックのパスを提供する仮想ルーターです。そのため、すべてのOCIネットワーク環境にとって強力で重要なコンポーネントです。このチュートリアルでは、これを使用して、同じリージョン内の複数のVCNs間の接続を確立します。

タスク1.3: DRGへのVCNsのアタッチ

タスク1.4: DNS-VCNのルーティングおよびセキュリティの構成

タスク1.5: フロントエンドVCNのルーティングおよびセキュリティの構成

イメージ

タスク1.6: バックエンドVCNのルーティングおよびセキュリティの構成

タスク2: OCIコンピュート・インスタンスのプロビジョニング

BIND9が構成されるコンピュート・インスタンスをプロビジョニングします。

タスク2.1: SSHキー・ペアの生成

これは、インスタンスを作成する前に実行する必要があります。SSHキーは、Linuxコンピュート・インスタンスに対する認証に使用されます。鍵を生成するには、Windowsマシンで PuTTYgenツールを使用するか、任意のマシンで ssh-keygenユーティリティーを使用します。このチュートリアルでは、OCI Cloud Shellでssh-keygenを使用します。

イメージ

タスク2.2: プライマリDNSコンピュート・インスタンスのプロビジョニング

タスク3: BIND9のインストールおよび構成

タスク3.1: 要塞を使用したプライマリDNSコンピュート・インスタンスへのアクセス

タスク3.2: BIND9のインストール

インスタンスにアクセスした後、BIND9をインストールし、それが稼働中であることを確認します。

タスク3.3: インスタンスの完全修飾ドメイン名(FQDN)の変更

タスク3.4: named.conf.optionsファイルの構成

タスク3. 5: netstatを使用したTCP/UDPポート・ステータスの表示

net-toolsは、Linux OSに不可欠なネットワーキング・ツールのコレクションを提供するコマンドライン・ユーティリティのパッケージです。

タスク3.6: named.conf.localファイルの構成

タスク3.7: db.orastage.comファイルの構成

タスク3.8: 50-cloud-init.yamlファイルの構成

タスク3.9: iptablesファイアウォールの無効化

タスク3.10: BIND9の再起動

タスク3.11: テスト

タスク4: OCI転送エンドポイントおよびルールの構成

Each OCI VCN has a default resolver that can be used to resolve hostnames in the same VCN, different VCNs, on-premises networks, or even publicly published hostnames on the Internet.このタスクでは、リゾルバで2つのコンポーネントを使用して、BIND9インスタンスPrimary-DNSに問合せを転送するという要件を達成します。

タスク4.1: フロントエンドVCNの転送エンドポイントおよびルールの構成

Frontend-VCNで転送エンドポイントおよびルールを作成し、FE-VMからプライマリ-DNSインスタンスにorastage.com問合せをポイントします。

タスク4.2: バックエンドVCNの転送エンドポイントおよびルールの構成

バックエンドVCNで転送エンドポイントおよびルールを作成し、BE-VMからプライマリDNSインスタンスにorastage.com問合せをポイントします。

イメージ

タスク5: DNS問合せを実行するためのクライアント・インスタンスのプロビジョニング

タスク5.1: FE-VMコンピュート・インスタンスの作成

タスク5.2: BE-VMコンピュート・インスタンスの作成

ノート:後続のタスクでは、複数のシナリオをテストし、設定が期待どおりに機能することを検証します。

タスク6: テストと検証

タスク6.1: 要塞およびテストを使用したFE-VMコンピュート・インスタンスへのアクセス

前述のテストに示すように、BE-VMドメインのIPアドレスを取得でき、pingはホスト名を使用して動作しています。これは、テストが成功したことを意味します。

タスク6.2: 要塞およびテストを使用したBE-VMコンピュート・インスタンスへのアクセス

イメージ

上記のテストに示すように、FE-VMドメインのIPアドレスを取得でき、pingはホスト名を使用して動作しています。これは、テストが成功したことを意味します。

次のステップ

このチュートリアルでは、基本的なコンポーネント(Oracle Cloud Infrastructureでのサーバーとクライアントの設定)を使用した、小さいBIND9 DNSアーキテクチャを構築しました。このセグメント全体を通して、ルート表、DRG、セキュリティ・リスト、要塞などの様々なコンポーネントを処理することで、OCIネットワークのルーティングとセキュリティに関するインサイトを得ました。また、OCI環境で機能的なBIND9 DNSをインストールおよび構成する方法も学習しました。

次のチュートリアル: チュートリアル2: Oracle Cloud InfrastructureのBIND9ドメイン・ネーム・システムでの高可用性の実装では、高可用性レイヤーをアーキテクチャに組み込むことによって、この設定を拡張します。これは、停止時間の短縮とユーザー・エクスペリエンスの向上に不可欠です。

承認

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。