2.4. API サーバーをプライベートに制限する
クラスターを Amazon Web Services (AWS) または Microsoft Azure にデプロイした後に、プライベートゾーンのみを使用するように API サーバーを再設定することができます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
admin
権限を持つユーザーとして Web コンソールにアクセスできること。
手順
クラウドプロバイダーの Web ポータルまたはコンソールで、次の操作を行います。
適切なロードバランサーコンポーネントを見つけて削除します。
- AWS の場合は、外部ロードバランサーを削除します。プライベートゾーンの API DNS エントリーは、同一の設定を使用する内部ロードバランサーをすでに参照するため、内部ロードバランサーを変更する必要はありません。
-
Azure の場合は、パブリックロードバランサーの
api-internal-v4
ルールを削除します。
-
Azure の場合、Ingress Controller エンドポイントの公開スコープを
Internal
に設定します。詳細は、「Ingress Controller エンドポイント公開スコープを内部に設定」を参照してください。 -
Azure パブリックロードバランサーの場合は、Ingress Controller エンドポイントの公開スコープを
Internal
に設定し、パブリックロードバランサーに既存の受信規則がない場合は、バックエンドアドレスプールに送信トラフィックを提供するための送信規則を明示的に作成する必要があります。詳細は、送信ルールの追加に関する Microsoft Azure のドキュメントを参照してください。 -
パブリックゾーンの
api.$clustername.$yourdomain
またはapi.$clustername
DNS エントリーを削除します。
AWS クラスター: 外部ロードバランサーを削除します。
重要以下の手順は、installer-provisioned infrastructure (IPI) のクラスターでのみ実行できます。user-provisioned infrastructure (UPI) のクラスターの場合は、外部ロードバランサーを手動で削除するか、無効にする必要があります。
クラスターがコントロールプレーンマシンセットを使用する場合は、コントロールプレーンマシンセットのカスタムリソースで、パブリックまたは外部ロードバランサーを設定する行を削除します。
# ... providerSpec: value: # ... loadBalancers: - name: lk4pj-ext 1 type: network 2 - name: lk4pj-int type: network # ...
クラスターがコントロールプレーンマシンセットを使用しない場合は、各コントロールプレーンマシンから外部ロードバランサーを削除する必要があります。
ターミナルから、次のコマンドを実行してクラスターマシンを一覧表示します。
$ oc get machine -n openshift-machine-api
出力例
NAME STATE TYPE REGION ZONE AGE lk4pj-master-0 running m4.xlarge us-east-1 us-east-1a 17m lk4pj-master-1 running m4.xlarge us-east-1 us-east-1b 17m lk4pj-master-2 running m4.xlarge us-east-1 us-east-1a 17m lk4pj-worker-us-east-1a-5fzfj running m4.xlarge us-east-1 us-east-1a 15m lk4pj-worker-us-east-1a-vbghs running m4.xlarge us-east-1 us-east-1a 15m lk4pj-worker-us-east-1b-zgpzg running m4.xlarge us-east-1 us-east-1b 15m
コントロールプレーンマシンの名前には
master
が含まれています。各コントロールプレーンマシンから外部ロードバランサーを削除します。
次のコマンドを実行して、コントロールプレーンマシンオブジェクトを編集します。
$ oc edit machines -n openshift-machine-api <control_plane_name> 1
- 1
- 変更するコントロールプレーンマシンオブジェクトの名前を指定します。
次の例でマークされている、外部ロードバランサーを説明する行を削除します。
# ... providerSpec: value: # ... loadBalancers: - name: lk4pj-ext 1 type: network 2 - name: lk4pj-int type: network # ...
- 変更を保存して、オブジェクト仕様を終了します。
- コントロールプレーンマシンごとに、このプロセスを繰り返します。