外部接続を有効にする

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

コンソール

  1. project-networkpolicy-admin ロールにバインドされたアカウントで GDC コンソールにログインし、ファイアウォール ルールを作成します。
  2. GDC コンソールのメインメニューから [ファイアウォール] を選択します。
  3. [ユーザー作成ルール] セクションで、[作成] をクリックします。
  4. [**ファイアウォール ルールの詳細**] で、ファイアウォール ルールの名前を作成します。
  5. [トラフィックの方向] ダイアログで、[上り(内向き)] を選択します。
  6. [ターゲット] ダイアログで、[サービス] を選択し、[dbs] を選択します。
  7. [送信元] ダイアログで、[組織外] を選択し、外部接続を許可する CIDR の範囲を入力します。
  8. [作成] をクリックします。
  9. 新しいルールの [ステータス] 列に [準備完了] が表示されるまで待ちます。
  10. project-db-admin にバインドされたアカウントで GDC コンソールにログインします。
  11. GDC コンソールのメインメニューから [データベース サービス] を選択します。
  12. 外部接続を有効にするデータベース クラスタを選択します。
  13. データベース クラスタの概要の [接続] セクションの [外部接続を許可する] 行を確認して、外部接続がすでに許可されているかどうかを確認します。
  14. データベース クラスタの概要の [接続] セクションで、 [edit] [編集] をクリックします。
  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.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"allowExternalIncomingTraffic":true}}' --type=merge -n USER_PROJECT
    

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

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