[Cloud, Network] Configuring a Custom DNS Resolver and the Native DNS Resolver in the Same VCN

原文はこちら。
https://blogs.oracle.com/cloud-infrastructure/configuring-a-custom-dns-resolver-and-the-native-dns-resolver-in-the-same-vcn

Oracle Cloud Infrastructure Blogの主な目的の1つは、クラウド・ソリューション・アーキテクトや製品管理者がベスト・プラクティスの提供や、新たな機能拡張の紹介、最も重要なワークロードをOracle Cloudに移行および実行するためのヒントの提供のためのフォーラムにすることです。筆者自身ソリューションアーキテクトであり、設計フェーズから実装フェーズまでお客様と関わる仕事をしています。そして、私は非常に多くのお客様のデプロイメントに関わってきたため、複数のアカウントにまたがる問題とニーズを把握できます。このお客様とベンダーのフィードバック・ループ中の喜びは、問題を解決し、ニーズに対応し、提供サービスを改善するための反復可能な方法を見つけることにあります。

このエントリでは、複数のお客様で見られた共通の問題の解決を目指します。この問題は、Oracle Cloud Infrastructureのvirtual cloud network (VCN)設定における、カスタムDNSリゾルバの構成が原因で発生しました。このエントリでその問題点と解決方法について説明します。

これらのサポートリクエストの迅速な解決のために、クラウドサポートチームとオペレーションチームの次のチームメンバーからの支援に感謝いたします。
  • Ankita Singh, Associate Solution Engineer
  • Saulo Cruz, Principal Member of Technical Staff

Issue

お客様がVCN内にサブネットを設定する場合、DHCPオプション設定時にInternet and VCN Resolver またはCustom Resolverを選択できます。

デフォルトはInternet and VCN Resolverです。 FastConnectまたはIPSec VPNでオンプレミスDNSサーバ(よくあるのがMicrosoft Active Directory)を使用する場合は、Custom Resolverを選択できます(詳細は以下のドキュメントを参照してください)。
Choices for DNS in Your VCN
https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/dns.htm#Choices
 一般的に、ほとんどのエンタープライズのお客様は、共有サービスサブネット内のVCNにDNSリレーを配置します。通常、VCN内のサブネットはこの構成を反映します。この設定はアプリケーションにとって特に問題はありません。

ところが、Custom ResolverをDHCPオプションで選択、使用するサブネット上に事前ビルド済みのOracle Databaseイメージを使用してOracle Database Cloud Service(DBCS)インスタンスをプロビジョニングしようとすると、問題が発生します。よく発生するエラーメッセージは次のとおりです。
InvalidParameter - VCN RESOLVER FOR DNS AND DNS LABEL must be enabled for all subnets used to launch the specified shape
お客様がDHCPオプションのDBSをInternet and VCN Resolverに変更すると、このメッセージは出なくなりますが、この変更によって他のアプリケーションがうまく動作しなくなってしまいます。この問題はネイティブVCNリゾルバの再帰的性質が原因で発生します。

Workaround

お客様がDBCSの事前ビルド済みイメージを使っている場合における、この問題の回避策を発見しました。下図はアーキテクチャを示したものです。

この回避策を実装するためには、以下の手順を辿る必要があります。
  1. Terraformを使用してVCNと必要なサブネットを作成する。手順は以下のホワイトペーパーを参照。
  2. Oracle Cloud Infrastructure Virtual Cloud Network Overview and Deployment Guide
    https://cloud.oracle.com/iaas/whitepapers/vcn-deployment-guide.pdf
  3. データベースインスタンスの起動に必要なVCNを選択。
  4. (デフォルトの)Internet and VCN Resolver DHCPオプションを選択。
  5. データベースインスタンスを起動し、インスタンスに必要な構成を設定。
  6. データベース・インスタンスの起動後、DHCPオプションに移動し、Custom Resolverを選択した上で、お客様のDNSサーバのIPアドレスを設定。
  7. 共有リソースサブネット(上図ではshared subnet(共有サブネット)と記載)でDNSリレーサーバ(またはMicrosoft Active Directory)をインスタンス化する。DHCPオプションを(デフォルトの)Internet and VCN Resolverのままにしておく。
  8. 他のすべてのアプリケーション・サブネットでは、Custom Resolver DHCPを選択し、お客様のDNSサーバのIPアドレスを入力。
注意
Oracle Cloudからお客様のDNSサーバーへの接続が確立されていることを確認してください。また、VCNの作成時にDNS Labelに値を入力してください。未入力の場合デフォルト値を使用します。

この設定は、同じリージョン内または複数のリージョン内のVCN間でも機能します。以下のエントリをご覧ください。
Automate Oracle Cloud Infrastructure VCN Peering with Terraform
https://blogs.oracle.com/cloud-infrastructure/automate-oracle-cloud-infrastructure-vcn-peering-with-terraform
このエントリがVCNとサブネットの削除&再作成をしないですむ手助けになることを願っています。

Microsoft Active DirectoryやInfoblox、Bluecatとの統合に関する詳細情報をお求めでしたら、是非(原文のコメント欄に)コメントをお寄せください。

0 件のコメント:

コメントを投稿