検索

2.2. プライベートゾーンで公開される DNS レコードの設定

download PDF

パブリックまたはプライベートなどのすべての OpenShift Container Platform クラスターの場合、DNS レコードはデフォルトでパブリックゾーンに公開されます。

クラスター DNS 設定からパブリックゾーンを削除して、DNS レコードがパブリックに公開されないようにします。内部ドメイン名、内部 IP アドレス、クラスター数などの機密情報を組織で公開しないようにしたり、レコードを一般に公開する必要がない可能性があります。クラスター内のサービスに接続できるすべてのクライアントがプライベートゾーンからの DNS レコードを持つプライベート DNS サービスを使用する場合、クラスターのパブリック DNS レコードを含める必要はありません。

クラスターのデプロイ後に、DNS カスタムリソース(CR)を変更することで、その DNS をプライベートゾーンのみを使用するように変更できます。このように DNS CR を変更すると、後で作成された DNS レコードがパブリック DNS サーバーに公開されず、DNS レコードに関する情報が内部ユーザーに分離されます。これは、クラスターをプライベートに設定する場合や、DNS レコードを公開したくない場合に実行できます。

または、プライベートクラスターであっても、クライアントがそのクラスターで実行されているアプリケーションの DNS 名を解決できるため、DNS レコード用の public ゾーンを保持することができます。たとえば、組織には、パブリックインターネットに接続するマシンを設定し、プライベート IP アドレスに接続するために特定のプライベート IP 範囲の VPN 接続を確立できます。これらのマシンからの DNS ルックアップでは、パブリック DNS を使用してそれらのサービスのプライベートアドレスを判別し、VPN 経由でプライベートアドレスに接続します。

手順

  1. 次のコマンドを実行して出力を確認し、クラスターの DNS CR を確認します。

    $ oc get dnses.config.openshift.io/cluster -o yaml

    出力例

    apiVersion: config.openshift.io/v1
    kind: DNS
    metadata:
      creationTimestamp: "2019-10-25T18:27:09Z"
      generation: 2
      name: cluster
      resourceVersion: "37966"
      selfLink: /apis/config.openshift.io/v1/dnses/cluster
      uid: 0e714746-f755-11f9-9cb1-02ff55d8f976
    spec:
      baseDomain: <base_domain>
      privateZone:
        tags:
          Name: <infrastructure_id>-int
          kubernetes.io/cluster/<infrastructure_id>: owned
      publicZone:
        id: Z2XXXXXXXXXXA4
    status: {}

    spec セクションには、プライベートゾーンとパブリックゾーンの両方が含まれることに注意してください。

  2. 次のコマンドを実行して、DNS CR にパッチを適用し、パブリックゾーンを削除します。

    $ oc patch dnses.config.openshift.io/cluster --type=merge --patch='{"spec": {"publicZone": null}}'

    出力例

    dns.config.openshift.io/cluster patched

    Ingress Operator は、IngressController オブジェクトの DNS レコードの作成時に DNS CR 定義を参照します。プライベートゾーンのみを指定すると、プライベートレコードのみが作成されます。

    重要

    パブリックゾーンを削除した時に、既存の DNS レコードは変更されません。公開済みのパブリック DNS レコードは公開したくない場合は手動で削除する必要があります。

検証

  • 次のコマンドを実行して、出力を確認し、クラスターの DNS CR を確認し、パブリックゾーンが削除されていることを確認します。

    $ oc get dnses.config.openshift.io/cluster -o yaml

    出力例

    apiVersion: config.openshift.io/v1
    kind: DNS
    metadata:
      creationTimestamp: "2019-10-25T18:27:09Z"
      generation: 2
      name: cluster
      resourceVersion: "37966"
      selfLink: /apis/config.openshift.io/v1/dnses/cluster
      uid: 0e714746-f755-11f9-9cb1-02ff55d8f976
    spec:
      baseDomain: <base_domain>
      privateZone:
        tags:
          Name: <infrastructure_id>-int
          kubernetes.io/cluster/<infrastructure_id>-wfpg4: owned
    status: {}

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.