De forma predeterminada, un clúster de base de datos solo permite conexiones desde el clúster de usuario y el mismo proyecto. Para permitir conexiones externas desde direcciones IP fuera de tu organización aislada de Google Distributed Cloud, haz lo siguiente:
Console
- Accede a la consola de GDC con una cuenta vinculada al rol de
project-networkpolicy-admin
para crear reglas de firewall. - En el menú principal de la consola de GDC, elige Firewall.
- En la sección Reglas creadas por el usuario, haz clic en Crear.
- En Detalles de la regla de firewall, crea un nombre para tu regla de firewall.
- En el diálogo Direction of traffic, elige INGRESS.
- En el diálogo Target, elige Service y, luego, selecciona dbs.
- En el cuadro de diálogo Desde, elige Fuera de la organización y, luego, ingresa el rango de CIDR desde el que deseas permitir la conectividad externa.
- Haz clic en Crear.
- Espera a que la columna Estado de la regla nueva muestre Lista.
- Accede a la consola de GDC con una cuenta vinculada a
project-db-admin
. - En el menú principal de la consola de GDC, elige Database Service.
- Selecciona el clúster de base de datos al que deseas habilitar las conexiones externas.
- Verifica la línea Allow external connections de la sección Connectivity del resumen del clúster de base de datos para ver si ya se permiten las conexiones externas.
- En la sección Conectividad de la descripción general del clúster de base de datos, haz clic en editar Editar.
- Selecciona la casilla de verificación Permitir conexiones externas.
- Haz clic en GUARDAR.
API
Crea un recurso
ProjectNetworkPolicy
para permitir conexiones externas: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 ```
Actualiza el clúster de la base de datos para habilitar las conexiones externas a la organización:
kubectl patch dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"allowExternalIncomingTraffic":true}}' --type=merge -n USER_PROJECT
Reemplaza lo siguiente:
USER_PROJECT
: Es el nombre del proyecto del usuario en el que se creó el clúster de la base de datos.CIDR_RANGE
: Es el rango de CIDR desde el que deseas permitir la conectividad externa.DBENGINE_NAME
: Es el nombre del motor de base de datos. Puede seralloydbomni
,postgresql
ooracle
.DBCLUSTER_NAME
: Es el nombre del clúster de la base de datos.