デフォルトでは、データベース クラスタは ユーザー クラスタ内および同じプロジェクトからの接続のみを許可します。Google Distributed Cloud のエアギャップ組織外の IP アドレスからの外部接続を許可するには:
コンソール
project-networkpolicy-adminロールにバインドされたアカウントで GDC コンソールにログインして、ファイアウォール ルールを作成します。- GDC コンソールのメインメニューから [ファイアウォール] を選択します。
- [User created rules] セクションで、[Create] をクリックします。
- [ファイアウォール ルールの詳細] で、ファイアウォール ルールの名前を作成します。
- [トラフィックの方向] ダイアログで、[上り(内向き)] を選択します。
- [ターゲット] ダイアログで、[サービス] を選択し、[dbs] を選択します。
- [From] ダイアログで、[Outside the organization] を選択し、外部接続を許可する CIDR 範囲を入力します。
- [作成] をクリックします。
- 新しいルールの [ステータス] 列に [準備完了] と表示されるまで待ちます。
project-db-adminにバインドされたアカウントで GDC コンソールにログインします。- GDC コンソールのメインメニューから [Database Service] を選択します。
- 外部接続を有効にするデータベース クラスタを選択します。
- データベース クラスタの概要の [接続] セクションの [外部接続を許可する] 行を確認して、外部接続がすでに許可されているかどうかを確認します。
- データベース クラスタの概要の [接続] セクションで、編集 [編集] をクリックします。
- [外部接続を許可する] チェックボックスをオンにします。
- [保存] をクリックします。
API
外部接続を許可する
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 ```組織外の接続を有効にするようにデータベース クラスタを更新します。
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: データベース エンジンの名前。alloydbomni、postgresql、oracleのいずれかです。DBCLUSTER_NAME: データベース クラスタの名前。