2.4. Amazon Web Services クラスターの API サーバーをプライベートに制限する


組織のセキュリティー体制上、クラスターがオープンな API エンドポイントを使用することが許可されていない場合は、API サーバーが内部ロードバランサーのみを使用するように制限できます。この API サーバー制限を実装するには、Amazon Web Services (AWS) コンソールと OpenShift CLI(oc) を使用して、外部ロードバランサーコンポーネントを削除します。

重要

外部ロードバランサーを削除する OpenShift CLI (oc) の手順には、Machine API が必要です。Machine API を使用できないクラスターの場合は、外部ロードバランサーを手動で削除する必要があります。

インフラストラクチャープラットフォームタイプが none のクラスターでは、Machine API を使用できません。クラスターのプラットフォームタイプを表示するには、以下のコマンドを実行します。

$ oc get infrastructure cluster -o jsonpath='{.status.platform}'

前提条件

  • AWS に OpenShift Container Platform クラスターをインストールした。
  • あなたは管理者特権を持つユーザーとして AWS コンソールにアクセスできます。
  • あなたは管理者特権ユーザーとして OpenShift CLI(oc) にアクセスできます。

手順

  1. 管理者権限を持つユーザー特権として AWS コンソールにログインしてください。
  2. 外部ロードバランサーを削除します。

    注記

    プライベートゾーンの API DNS エントリーは、同一の設定を使用する内部ロードバランサーをすでに参照するため、内部ロードバランサーを変更する必要はありません。

  3. パブリックゾーンにある api.<cluster_name>.<domain_name> の DNS エントリーを削除します。

    ここで、<cluster_name> はクラスターの名前、<domain_name> はクラスターのベースドメインです。

  4. 外部ロードバランサーを削除するには、管理者特権のユーザーとして OpenShift CLI(oc) にログインします。

    • クラスターでコントロールプレーンマシンセットを使用している場合は、ControlPlaneMachineSet カスタムリソース (CR) を編集して外部ロードバランサーを削除してください。

      1. 次のコマンドを実行して、ControlPlaneMachineSet CR を編集します。

        $ oc edit controlplanemachineset.machine.openshift.io cluster \
          -n openshift-machine-api
      2. コントロールプレーンマシンセットカスタムリソース (CR) 内の対応する行を削除して、外部ロードバランサーを削除します。

        CR の spec.template.spec.providerSpec.value.loadBalancers セクションでは、外部ロードバランサーの 名前 の値は -ext で終わります。外部ロードバランサー 名の 値を含む行と、それに付随する外部ロードバランサー タイプの 値を含む行を削除します。

        apiVersion: machine.openshift.io/v1
        kind: ControlPlaneMachineSet
        metadata:
          name: cluster
          namespace: openshift-machine-api
        spec:
        # ...
          template:
        # ...
              spec:
                providerSpec:
                  value:
                    loadBalancers:
                    - name: <cluster_id>-ext
                      type: network
                    - name: <cluster_id>-int
                      type: network
        # ...
      3. 変更を保存して、オブジェクト仕様を終了します。

        コントロールプレーンマシンセットへの更新を保存すると、設定された更新ストラテジーに従って Control Plane Machine Set Operator がコントロールプレーンマシンを更新します。詳細は、制御プレーン設定の更新を参照してください。

    • クラスターがコントロールプレーンマシンセットを使用しない場合は、各コントロールプレーンマシンから外部ロードバランサーを削除する必要があります。

      1. 以下のコマンドを実行して、クラスター内のマシンをリスト表示します。

        $ oc get machine -n openshift-machine-api

        出力例

        NAME                                        STATE     TYPE        REGION      ZONE         AGE
        <cluster_id>-master-0                       running   m4.xlarge   us-east-1   us-east-1a   17m
        <cluster_id>-master-1                       running   m4.xlarge   us-east-1   us-east-1b   17m
        <cluster_id>-master-2                       running   m4.xlarge   us-east-1   us-east-1a   17m
        <cluster_id>-worker-us-east-1a-<zone_tag>   running   m4.xlarge   us-east-1   us-east-1a   15m
        <cluster_id>-worker-us-east-1a-<zone_tag>   running   m4.xlarge   us-east-1   us-east-1a   15m
        <cluster_id>-worker-us-east-1b-<zone_tag>   running   m4.xlarge   us-east-1   us-east-1b   15m

        制御プレーンのマシンは、その名前に マスター 文字列を含んでいます。

      2. 各コントロールプレーンマシンから外部ロードバランサーを削除します。

        1. 次のコマンドを実行して、コントロールプレーンマシンオブジェクトを編集します。

          $ oc edit machines -n openshift-machine-api <control_plane_machine_name>

          ここで、<control_plane_machine_name> は変更するコントロールプレーンマシンオブジェクトの名前です。

        2. 外部ロードバランサーに関する記述を削除してください。

          CR の spec.providerSpec.value.loadBalancers セクションでは、外部ロードバランサーの 名前 の値は -ext で終わります。外部ロードバランサー 名の 値を含む行と、それに付随する外部ロードバランサー タイプの 値を含む行を削除します。

          apiVersion: machine.openshift.io/v1beta1
          kind: Machine
          metadata:
            name: <control_plane_machine_name>
            namespace: openshift-machine-api
          spec:
            providerSpec:
              value:
                loadBalancers:
                - name: <cluster_id>-ext
                  type: network
                - name: <cluster_id>-int
                  type: network
          # ...
        3. 変更を保存して、オブジェクト仕様を終了します。
        4. コントロールプレーンマシンごとにこのプロセスを繰り返します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る