Database Support Blog

  • Oracle Cloud
2020.12.25

OCI DNSで名前解決してみよう!(基礎編)

Oracle Cloudでは、サーバやデータベースだけでなく、ネットワーキングに関するサービスも充実しています。

Oracle Cloud Infrastructure Domain Name System(以下、OCI DNS)によって、独自ドメインのゾーン管理を行うことができます。本記事では、DNSの概要を整理し、合わせてOCI DNSサービスについて簡単にご紹介します。

DNSの概要

DNSとはDomain Name System(ドメインネームシステム)の略称で、ドメイン名からIPアドレスの情報を取得するための仕組みです。

なぜDNSが必要か?

ネットワーク上に存在するあるホストにアクセスするには、ネットワーク内の住所を表すIPアドレスを指定する必要があります。

しかし、IPアドレスは「203.0.113.0」のように数字の羅列で表されるため、管理するホストの量が増えてくると人間にとっては扱いにくくなります。
そのようなIPアドレスに、人間にとって意味を理解しやすい文字列を割当て、ホストへのアクセス情報を管理しやすくするためにDNSという仕組みが存在します。

インターネット上のIPアドレスに対して割り当てられた一意の名前をドメイン名といい、ドメイン名からIPアドレスの情報を取得することを名前解決といいます。

DNSの構成要素

DNSは、主に以下のコンポーネントから構成されます。

・スタブリゾルバ・・・クライアント側に存在し、フルリゾルバに対し名前解決要求を行う。DNSクライアントとも呼ばれる。

・フルリゾルバ・・・スタブリゾルバからの要求を受け取り、ネームサーバに問い合わせて名前解決を行う。

・ネームサーバ・・・ドメイン名とそれに対応するIPアドレスなど、名前解決のための情報を保持する。

名前解決が行われるときの、各種コンポーネントの動作イメージは以下です。
「xx.example.com」というドメイン名を名前解決する例です。

図のように、スタブリゾルバがフルリゾルバに名前解決要求を行い(①)、フルリゾルバがスタブリゾルバの代わりに名前解決の処理(②-⑦)を行います。

複数のネームサーバに対して再帰的に問い合わせを行い、IPアドレス情報を取得しスタブリゾルバに応答(⑧)しています。

得られたIPアドレス情報をもとに、クライアントはWebサイトにアクセスします。

ドメインのゾーン管理

あるドメイン名に対して、階層を作成することができます。
例えば、「example.com」というドメインに対し、「aaa.example.com」や「bbb.example.com」等の階層を作成するイメージです。

そして、階層ごとに名前解決情報を保持するネームサーバを分け、管理権限を委任することができます。この時のネームサーバごとの管理範囲のことをゾーンといいます。

ゾーンを分けることにより、一般に以下のメリットが得られます。
・ゾーンのポリシーをゾーン管理者が決めることができる
・一部のネームサーバに障害が発生しても、影響範囲を限定できる

ここまでで、DNSの概要をおさらいしました。
次の章で、実際にOracle CloudでどのようなDNSサービスを利用できるのかご案内します。

Oracle CloudのDNSサービス

Oracle Cloudでは、DNSの主要な構成要素に以下のサービスが対応しています。
 フルリゾルバ・・・VCN(包含されている)
 ネームサーバ・・・DNSゾーン管理

フルリゾルバ(VCN)の設定

フルリゾルバの設定はVCNの「DHCPオプション」から行えます。
設定画面をご案内します。

「リソース」-「DHCP」-「DHCPオプションの作成」の順に選択します。

以下の画面が表示されます。

DNSタイプとして、以下2種類を選択可能です。

・インターネットおよびVCNリゾルバ
 -インターネットリゾルバ:インターネット上で公開されているホスト名を名前解決
 -VCNリゾルバ:インスタンスが同VCNの他インスタンスのホスト名を名前解決

・カスタムリゾルバ
 インターネット上、VCN内、あるいはクラウド環境にプライベートに接続された
 オンプレミス環境に存在する任意のリゾルバを設定できます。

ネームサーバの設定

DNSゾーン管理でネームサーバのゾーン管理を行えます。
ユーザー側でDNSレコードの管理を行うことが可能です。

DNSゾーン管理で利用可能な機能

DNSゾーン管理では、以下の機能を利用できます。
・ゾーンの作成と管理
・レコードの作成と管理
・ゾーン・ファイルのインポート/アップロード
・変更の保存と公開
・全てのゾーンの表示
・レポートの確認(ゾーンごとのクエリ合計、テナントごとのクエリ合計)


まとめ

本記事では、DNSとOracle CloudのDNSサービスの概要についてご紹介しました。

DDoS攻撃の対策や、ネットワークの冗長性など優れた特徴を備えているサービスなので、システム構築の要素のひとつとしてぜひご検討ください。

次の機会にはOCI DNSを利用したWebサーバへのアクセス例をご紹介予定です。OCIのネットワーキングに関する理解を深めるため、本記事とあわせてご確認ください。

参考情報

Oracle Cloud Infrastructure DNS
https://www.oracle.com/jp/cloud/networking/

DNSのサービス・ゾーンの管理
https://docs.cloud.oracle.com/ja-jp/iaas/Content/DNS/Tasks/managingdnszones.htm

DNSに関するよくある質問
https://www.oracle.com/jp/cloud/networking/dns-faq.html

DHCP Options
https://docs.cloud.oracle.com/en-us/iaas/Content/Network/Tasks/managingDHCP.htm


執筆者情報

さかもと ゆういち プロフィール画像

2017年アシスト入社後、主にVerticaのサポートエンジニアに従事。2020年よりAWS/OracleCloudのフィールドエンジニアとして活動している。...show more


■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 ・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
 ・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
  文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Cloud
  • Oracle Database
2024.07.19

Oracle Cloud Shellで簡単にOCIのComputeへシリアルコンソール接続する方法!

Oracle Cloudで構築したComputeインスタンスは、ハードウェア等インフラ周りはオラクル社が管理しますが、OSやアプリケーションはお客様が管理する必要があります。今回は、事前準備不要で簡単に操作可能なCloud Shellによるコンソール接続をご紹介します。

  • Oracle Cloud
2024.07.19

【Oracle Cloud】Oracle Base Database Serviceにシリアル・コンソール接続する方法

これまでComputeインスタンス停止の自動化はOCI CLIやcronやタスクスケジューラ、ジョブ管理ツールからのCLI実行が必要でした。自動スケーリング機能がリリースされたことで任意の日時でComputeインスタンスの起動/停止が可能となりました。課金抑制にも繋がる詳細手順をご紹介します。

  • Oracle Cloud
2024.07.18

【Oracle Cloud】opcユーザー以外のSSH接続を許可する方法

Oracle Cloud上にComputeインスタンスやDBシステムを構築すると、システム管理者ユーザであるopcユーザが作成されますが、お客様の中にはopcユーザ以外からSSH接続を必要とするケースもあるかと思います。今回は、opcユーザ以外のユーザからSSH接続を行う方法をご紹介します。

ページの先頭へ戻る