VPEゲートウェイのコンソールアクセスに関するセキュリティグループルールの設定

OAuth へのアクセスが「VPEゲートウェイ」に設定されている場合、クラスターAPIサーバーおよび OAuth サーバーへのVPNクライアント接続を許可するために、 TCP のインバウンドセキュリティグループルールを追加します。

クラスタ接続フローの詳細については、「 クラスタ接続フローの概要 」を参照してください。

すべてのクラスタでこれらの変更が必要になるわけではありません。 これらの手順は、次の場合にのみ適用されます

  • クラスタワーカーとマスターVPEゲートウェイ間のトラフィックがブロックされるようにセキュリティグループを変更した、 または
  • kube-<CLUSTER-ID> セキュリティグループを変更しました。 または
  • クラスタマスターのVPEゲートウェイに異なるセキュリティグループまたはカスタムセキュリティグループを適用した、 または
  • 以下の条件はすべて満たされている。
    • お客様のクラスタは、プライベートサービスエンドポイントのみを持つVPCクラスタです。
    • クラスタの OAuth アクセスはvpe-gatewayタイプです。
    • クラスタは、デフォルトでセキュアなクラスタネットワーキングを使用しています。

VPNクライアントからAPIサーバーおよび OAuth サーバーへの接続を許可する

以下の手順に従って、VPNクライアントからクラスタのAPIサーバーおよび OAuth サーバーへのインバウンド TCP 接続を許可してください。

クラスタで Secure by Default (SBD) ネットワーキングを使用しており、SBD セキュリティグループを修正または名前変更した場合は、これらの手順のコマンドを修正したセキュリティグループを参照するように変更する必要があるかもしれません。

  1. VPE ゲートウェイに適用されるセキュリティグループの名前を取得します。 セキュリティグループを変更していない場合、名前は kube-vpegw-<cluster-id> 形式になります。 ただし、SBDクラスタがあり、セキュリティグループを置き換えたり変更したりした場合は、異なる形式になっている可能性があります。

    ibmcloud is endpoint-gateway iks-<cluster-id>
    
  2. VPE ゲートウェイに適用されるセキュリティグループのルールをリストアップします。 前のステップで見つけたセキュリティグループの完全な名前を指定します。 セキュリティグループの名前が異なる場合は、 kube-vpegw-<cluster-id> の代わりにその名前を指定します。 セキュリティグループに変更を加えていない場合、出力には、クラスタワーカーがAPIサーバー、OAuth、およびKonnectivityサーバーポートにアクセスできるようにする3つの受信ルールがリストされます。

    ibmcloud is security-group kube-vpegw-<cluster-id>
    
  3. クライアントシステムで使用されているサブネットを見つけます。 複数のクライアントシステムを使用している場合は、この手順を各システムに対して繰り返します。

    クライアント・システムとは、 OpenShift ウェブ・コンソールへのアクセスや、 oc login コマンドの実行など、API サーバー・ポートや OAuth ポートにアクセスするシステムのことである。

    標準的な IBM Cloud クライアント・ツー・サイト VPN を 使用している場合は、代わりに ibmcloud is vpn-server <VPN-NAME-OR-ID> コマンドを使用してサブネットを検索してください。 出力で、 Client IP pool を見つけ、サブネットを見つけます。

  4. クラスタのAPIサーバポートと OAuth ポートを取得します。 出力では、APIサーバーのポート番号は VPE Gateway value の末尾の数字です。 OAuth サーバーポートは、 OAuth Server URL の値の末尾にある番号である。

    ibmcloud oc cluster get -c ${CLUSTERID}
    
  5. VPC に接続する際、クライアントシステムのサブネットが API サーバーポートと OAuth サーバーポートにアクセスできるようにするセキュリティグループルールを追加します。 各ポートに個別のルールを追加します。 前の手順で複数のクライアントシステムのサブネットを見つけた場合は、各サブネットに対してこの手順を繰り返します。

    ibmcloud is security-group-rule-add kube-vpegw-${CLUSTERID} inbound tcp --port-min API_SERVER_PORT   --port-max API_SERVER_PORT   --remote CLIENT_SYSTEM_SUBNET
    ibmcloud is security-group-rule-add kube-vpegw-${CLUSTERID} inbound tcp --port-min OAUTH_SERVER_PORT --port-max OAUTH_SERVER_PORT --remote CLIENT_SYSTEM_SUBNET
    

    APIサーバーのポート値 32100 とクライアントシステムのサブネットIPプール 192.168.192.0/22 のセキュリティグループを追加するコマンドの例。

    ibmcloud is security-group-rule-add kube-vpegw-${CLUSTERID} inbound tcp --port-min 32100 --port-max 32100 --remote 192.168.192.0/22
    
  6. セキュリティグループにルールを再度リストアップし、前のステップで追加したルールが存在していることを確認します。

    ibmcloud is security-group kube-vpegw-<cluster-id>