外部接続を有効にする

デフォルトでは、データベース クラスタは ユーザー クラスタ内および同じプロジェクトからの接続のみを許可します。Google Distributed Cloud のエアギャップ組織外の IP アドレスからの外部接続を許可するには:

コンソール

  1. project-networkpolicy-admin ロールにバインドされたアカウントで GDC コンソールにログインして、ファイアウォール ルールを作成します。
  2. GDC コンソールのメインメニューから [ファイアウォール] を選択します。
  3. [User created rules] セクションで、[Create] をクリックします。
  4. [ファイアウォール ルールの詳細] で、ファイアウォール ルールの名前を作成します。
  5. [トラフィックの方向] ダイアログで、[上り(内向き)] を選択します。
  6. [ターゲット] ダイアログで、[サービス] を選択し、[dbs] を選択します。
  7. [From] ダイアログで、[Outside the organization] を選択し、外部接続を許可する CIDR 範囲を入力します。
  8. [作成] をクリックします。
  9. 新しいルールの [ステータス] 列に [準備完了] と表示されるまで待ちます。
  10. project-db-admin にバインドされたアカウントで GDC コンソールにログインします。
  11. GDC コンソールのメインメニューから [Database Service] を選択します。
  12. 外部接続を有効にするデータベース クラスタを選択します。
  13. データベース クラスタの概要の [接続] セクションの [外部接続を許可する] 行を確認して、外部接続がすでに許可されているかどうかを確認します。
  14. データベース クラスタの概要の [接続] セクションで、編集 [編集] をクリックします。
  15. [外部接続を許可する] チェックボックスをオンにします。
  16. [保存] をクリックします。

API

  1. 外部接続を許可する ProjectNetworkPolicy リソースを作成します。

    apiVersion: networking.gdc.goog/v1
    kind: ProjectNetworkPolicy
    metadata:
      name: allow-external-dbs
      namespace: USER_PROJECT
    spec:
      ingress:
      - from:
       - ipBlock:
         cidr: CIDR_RANGE
      policyType: Ingress
      subject:
        managedServices:
          matchTypes:
          - dbs
        subjectType: ManagedService
     ```
    
  2. 組織外の接続を有効にするようにデータベース クラスタを更新します。

    kubectl patch dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"allowExternalIncomingTraffic":true}}' --type=merge -n USER_PROJECT
    

次のように置き換えます。

  • USER_PROJECT: データベース クラスタが作成されたユーザー プロジェクトの名前。
  • CIDR_RANGE: 外部接続を許可する CIDR 範囲。
  • DBENGINE_NAME: データベース エンジンの名前。alloydbomnipostgresqloracle のいずれかです。
  • DBCLUSTER_NAME: データベース クラスタの名前。