13.24. Ingress DNS レコードの作成


DNS ゾーン設定を削除した場合には、Ingress ロードバランサーを参照する DNS レコードを手動で作成します。ワイルドカードレコードまたは特定のレコードのいずれかを作成できます。以下の手順では A レコードを使用しますが、CNAME やエイリアスなどの必要な他のレコードタイプを使用できます。

前提条件

  • 独自にプロビジョニングしたインフラストラクチャーを使用する OpenShift Container Platform クラスターを Amazon Web Services (AWS) にデプロイしています。
  • OpenShift CLI (oc) がインストールされている。
  • jq パッケージをインストールしている。
  • AWS CLI をダウンロードし、これをコンピューターにインストールしている。Install the AWS CLI Using the Bundled Installer (Linux, macOS, or Unix) を参照してください。

手順

  1. 作成するルートを決定します。

    • ワイルドカードレコードを作成するには、*.apps.<cluster_name>.<domain_name> を使用します。ここで、<cluster_name> はクラスター名で、<domain_name> は OpenShift Container Platform クラスターの Route 53 ベースドメインです。
    • 特定のレコードを作成するには、以下のコマンドの出力にあるように、クラスターが使用する各ルートにレコードを作成する必要があります。

      Copy to Clipboard Toggle word wrap
      $ oc get --all-namespaces -o jsonpath='{range .items[*]}{range .status.ingress[*]}{.host}{"\n"}{end}{end}' routes

      出力例

      Copy to Clipboard Toggle word wrap
      oauth-openshift.apps.<cluster_name>.<domain_name>
      console-openshift-console.apps.<cluster_name>.<domain_name>
      downloads-openshift-console.apps.<cluster_name>.<domain_name>
      alertmanager-main-openshift-monitoring.apps.<cluster_name>.<domain_name>
      prometheus-k8s-openshift-monitoring.apps.<cluster_name>.<domain_name>

  2. Ingress Operator ロードバランサーのステータスを取得し、使用する外部 IP アドレスの値をメモします。これは EXTERNAL-IP 列に表示されます。

    Copy to Clipboard Toggle word wrap
    $ oc -n openshift-ingress get service router-default

    出力例

    Copy to Clipboard Toggle word wrap
    NAME             TYPE           CLUSTER-IP      EXTERNAL-IP                            PORT(S)                      AGE
    router-default   LoadBalancer   172.30.62.215   ab3...28.us-east-2.elb.amazonaws.com   80:31499/TCP,443:30693/TCP   5m

  3. ロードバランサーのホストゾーン ID を見つけます。

    Copy to Clipboard Toggle word wrap
    $ aws elb describe-load-balancers | jq -r '.LoadBalancerDescriptions[] | select(.DNSName == "<external_ip>").CanonicalHostedZoneNameID' 
    1
    1
    <external_ip> には、取得した Ingress Operator ロードバランサーの外部 IP アドレスの値を指定します。

    出力例

    Copy to Clipboard Toggle word wrap
    Z3AADJGX6KTTL2

    このコマンドの出力は、ロードバランサーのホストゾーン ID です。

  4. クラスターのドメインのパブリックホストゾーン ID を取得します。

    Copy to Clipboard Toggle word wrap
    $ aws route53 list-hosted-zones-by-name \
                --dns-name "<domain_name>" \ 
    1
    
                --query 'HostedZones[? Config.PrivateZone != `true` && Name == `<domain_name>.`].Id' 
    2
    
                --output text
    1 2
    <domain_name> には、OpenShift Container Platform クラスターの Route 53 ベースドメインを指定します。

    出力例

    Copy to Clipboard Toggle word wrap
    /hostedzone/Z3URY6TWQ91KVV

    ドメインのパブリックホストゾーン ID がコマンド出力に表示されます。この例では、これは Z3URY6TWQ91KVV になります。

  5. プライベートゾーンにエイリアスレコードを追加します。

    Copy to Clipboard Toggle word wrap
    $ aws route53 change-resource-record-sets --hosted-zone-id "<private_hosted_zone_id>" --change-batch '{ 
    1
    
    >   "Changes": [
    >     {
    >       "Action": "CREATE",
    >       "ResourceRecordSet": {
    >         "Name": "\\052.apps.<cluster_domain>", 
    2
    
    >         "Type": "A",
    >         "AliasTarget":{
    >           "HostedZoneId": "<hosted_zone_id>", 
    3
    
    >           "DNSName": "<external_ip>.", 
    4
    
    >           "EvaluateTargetHealth": false
    >         }
    >       }
    >     }
    >   ]
    > }'
    1
    <private_hosted_zone_id> には、DNS および負荷分散の CloudFormation テンプレートの出力から値を指定します。
    2
    <cluster_domain> には、OpenShift Container Platform クラスターで使用するドメインまたはサブドメインを指定します。
    3
    <hosted_zone_id> には、取得したロードバランサーのパブリックホストゾーン ID を指定します。
    4
    <external_ip> には、Ingress Operator ロードバランサーの外部 IP アドレスの値を指定します。このパラメーターの値に末尾のピリオド (.) が含まれていることを確認します。
  6. パブリックゾーンにレコードを追加します。

    Copy to Clipboard Toggle word wrap
    $ aws route53 change-resource-record-sets --hosted-zone-id "<public_hosted_zone_id>"" --change-batch '{ 
    1
    
    >   "Changes": [
    >     {
    >       "Action": "CREATE",
    >       "ResourceRecordSet": {
    >         "Name": "\\052.apps.<cluster_domain>", 
    2
    
    >         "Type": "A",
    >         "AliasTarget":{
    >           "HostedZoneId": "<hosted_zone_id>", 
    3
    
    >           "DNSName": "<external_ip>.", 
    4
    
    >           "EvaluateTargetHealth": false
    >         }
    >       }
    >     }
    >   ]
    > }'
    1
    <public_hosted_zone_id> には、ドメインのパブリックホストゾーンを指定します。
    2
    <cluster_domain> には、OpenShift Container Platform クラスターで使用するドメインまたはサブドメインを指定します。
    3
    <hosted_zone_id> には、取得したロードバランサーのパブリックホストゾーン ID を指定します。
    4
    <external_ip> には、Ingress Operator ロードバランサーの外部 IP アドレスの値を指定します。このパラメーターの値に末尾のピリオド (.) が含まれていることを確認します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.