En esta página, se describe cómo crear un clúster de AlloyDB y su instancia principal.
Antes de comenzar
- El proyecto de Google Cloud que usas debe estar habilitado para acceder a AlloyDB.
- Una red de VPC en el proyecto de Google Cloud que usas ya debe estar configurada para el acceso privado a servicios a AlloyDB.
- Debes tener uno de estos roles de IAM en el proyecto de Google Cloud que usas:
roles/alloydb.admin
(el rol de IAM predefinido de administrador de AlloyDB)roles/owner
(el rol de IAM básico de propietario)roles/editor
(el rol de IAM básico de editor)
Si no tienes ninguno de estos roles, comunícate con el administrador de tu organización para solicitar acceso.
- También debes tener el permiso
compute.networks.list
en el proyecto de Google Cloud que usas. Para obtener este permiso y seguir el principio de privilegio mínimo, pídele a tu administrador que te otorgue el rol deroles/compute.networkUser
(usuario de Compute Network).
Crea un clúster nuevo
Console
Ve a la página Clústeres.
Haga clic en Crear clúster.
Elige una configuración de clúster. Para obtener más información sobre la diferencia entre las configuraciones básicas y de alta disponibilidad, consulta Nodos e instancias.
Si no estás seguro de si tu clúster nuevo necesita instancias de grupos de lectura, elige una de las configuraciones sin grupos de lectura. Puedes agregar instancias del grupo de lectura al clúster más adelante, cuando sea necesario.
Haga clic en Continuar.
En la sección Configura tu clúster, en el campo ID de clúster, ingresa un ID para tu clúster.
En el campo Contraseña, ingresa una contraseña inicial para el clúster nuevo. AlloyDB asigna la contraseña proporcionada al usuario de la base de datos
postgres
mientras crea el clúster.En el campo Versión de la base de datos, selecciona la versión principal de PostgreSQL con la que deseas que sean compatibles los servidores de base de datos del clúster.
Selecciona una región.
Selecciona una ruta de red.
Opcional: Para aplicar un rango de direcciones IP específico a este clúster, en lugar de permitir que AlloyDB elija un rango de direcciones IP, sigue estos pasos:
Haz clic en Mostrar la opción de rango de IP asignado.
En la lista Rango de IP asignado, selecciona un rango de direcciones IP.
Para obtener más información sobre esta opción, consulta Crea un clúster con un rango de direcciones IP específico.
Opcional: Para encriptar este clúster con una clave de encriptación administrada por el cliente (CMEK) en lugar de la encriptación administrada por Google, sigue estos pasos adicionales:
Haz clic en Opciones de encriptación avanzadas.
Selecciona Clave de encriptación administrada por el cliente (CMEK).
En el menú que aparece, selecciona una clave administrada por el cliente.
La consola de Google Cloud limita esta lista a las claves del mismo proyecto y región de Google Cloud que el clúster nuevo. Para usar una clave que no está en esta lista, haz clic en ¿No ves tu clave? Ingresa el nombre del recurso de la clave y, luego, escribe el nombre del recurso de la clave en el diálogo resultante.
Ten en cuenta que usar CMEK con AlloyDB requiere algunos pasos de configuración adicionales. Para obtener más información, consulta Cómo usar CMEK con AlloyDB.
Haga clic en Continuar.
Configura tu instancia principal:
- En el campo ID de instancia, ingresa un ID para tu instancia principal.
- Selecciona un tipo de máquina.
- Opcional: Establece marcas personalizadas para tu instancia. Para cada marca, sigue estos pasos:
- Haz clic en Agregar marca.
- En la lista New database flag, selecciona una marca.
- Proporciona un valor para la marca.
- Haz clic en Listo.
Si elegiste un tipo de clúster sin grupos de lectura, haz clic en Crear clúster. De lo contrario, continúa con el siguiente paso.
Si elegiste un tipo de clúster con grupos de lectura, completa los siguientes pasos:
- Haz clic en Continuar para agregar una o más instancias de grupo de lectura.
Para agregar una instancia de grupo de lectura, sigue estos pasos:
Haz clic en Agregar grupo de lectura.
En el campo ID de instancia de grupo de lectura, ingresa un ID para la instancia del grupo de lectura.
En el campo Cantidad de nodos, ingresa una cantidad de nodos.
La cantidad de nodos en una instancia de grupo de lectura determina la capacidad de procesamiento general de la instancia.
Selecciona un tipo de máquina.
Opcional: Establece marcas personalizadas en tu instancia. Para cada marca, haz lo siguiente:
- Haz clic en Agregar marca.
- Selecciona una marca de la lista Nueva marca de base de datos.
- Proporciona un valor para la marca.
- Haz clic en Listo.
Haz clic en Agregar grupo de lectura.
Haga clic en Crear clúster.
gcloud
Para usar gcloud CLI, puedes instalar y, luego, inicializar Google Cloud CLI, o bien usar Cloud Shell.
Para crear el clúster con el acceso a servicios privados o Private Service Connect habilitado, usa el comando
gcloud alloydb clusters create
.Acceso privado a servicios
gcloud alloydb clusters create CLUSTER_ID \ --database-version=POSTGRES_VERSION \ --password=PASSWORD \ --region=REGION_ID \ --project=PROJECT_ID \ --network=NETWORK
Private Service Connect
gcloud alloydb clusters create CLUSTER_ID \ --database-version=POSTGRES_VERSION \ --password=PASSWORD \ --region=REGION_ID \ --project=PROJECT_ID \ --enable-private-service-connect
Reemplaza lo siguiente:
CLUSTER_ID
: Es el ID del clúster que creas. Debe comenzar con una letra minúscula y puede contener letras minúsculas, números y guiones.VERSION
: Es la versión principal de PostgreSQL con la que deseas que sean compatibles los servidores de bases de datos del clúster. Elige una de estas opciones:14
, para la compatibilidad con PostgreSQL 1415
, para la compatibilidad con PostgreSQL 15, que es la versión predeterminada de PostgreSQL compatible16
, para la compatibilidad con PostgreSQL 16
PASSWORD
: Es la contraseña que se usará para el usuariopostgres
predeterminado.NETWORK
(opcional): Es el nombre de la red de VPC que configuraste para el acceso a servicios privados a AlloyDB. Si omites la marca--network
, AlloyDB usa la reddefault
.--enable-private-service-connect
(opcional): Se establece para habilitar Private Service Connect como el método de conectividad del clúster y sus instancias.REGION_ID
: Es la región en la que deseas que se ubique el clúster.PROJECT_ID
: Es el ID del proyecto en el que deseas que se coloque el clúster.
Este comando inicia una operación de larga duración y muestra un ID de operación.
Opcional: Para aplicar un rango de direcciones IP específico a este clúster, en lugar de permitir que AlloyDB elija un rango de direcciones IP, proporciona el siguiente argumento:
--allocated-ip-range-name=RANGE
Reemplaza
RANGE
por el nombre del rango de direcciones IP que deseas que use este clúster para el acceso a servicios privados.Para obtener más información sobre esta opción, consulta Crea un clúster con un rango de direcciones IP específico.
Opcional: Para encriptar este clúster con una clave de encriptación administrada por el cliente (CMEK) en lugar de la encriptación predeterminada administrada por Google, proporciona los siguientes argumentos:
--kms-key=KEY_ID \ --kms-keyring=KEYRING_ID \ --kms-location=LOCATION_ID \ --kms-project=PROJECT_ID
Reemplaza lo siguiente:
KEY_ID
: Es el ID de la clave CMEK que se usará.KEYRING_ID
: Es el ID del llavero de claves.LOCATION_ID
: Es el ID de la región del llavero, que debe ser el mismo que el de la región del clúster.PROJECT_ID
: El ID del proyecto del llavero.
Confirma que la operación se realizó correctamente.
gcloud alloydb operations describe OPERATION_ID \ --region=REGION_ID \ --project=PROJECT_ID
Reemplaza
OPERATION_ID
por el ID de operación que se mostró en el paso anterior.
Después de crear el clúster principal, debes crear una instancia principal.
Crea una instancia principal
Para crear una instancia principal, usa el comando gcloud alloydb
instances create
.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECT_LIST
Reemplaza lo siguiente:
INSTANCE_ID
: El ID de la instancia que estás creando. Debe comenzar con una letra minúscula y puede contener letras minúsculas, números y guiones.CPU_COUNT
: Es la cantidad de CPU virtuales que deseas para la instancia. Los valores válidos incluyen lo siguiente:2
: 2 CPU virtuales, 16 GB de RAM4
: 4 vCPU, 32 GB de RAM8
: 8 CPU virtuales, 64 GB de RAM16
: 16 CPU virtuales, 128 GB de RAM32
: 32 CPU virtuales, 256 GB de RAM64
: 64 CPU virtuales, 512 GB de RAM96
: 96 CPU virtuales, 768 GB de RAM128
: 128 CPU virtuales, 864 GB de RAM
REGION_ID
: La región en la que deseas que se ubique la instancia.CLUSTER_ID
: Es el ID del clúster que creaste antes.PROJECT_ID
: Es el ID del proyecto en el que se encuentra el clúster.ALLOWED_PROJECT_LIST
(opcional): Es la lista de IDs de proyectos o números de proyectos separados por comas a los que deseas permitir el acceso a la instancia, si usas Private Service Connect.
Terraform
Para crear un clúster, usa un recurso de Terraform.
El siguiente es un fragmento de código para crear un clúster basado en el ejemplo de clúster completo de AlloyDB:
resource "google_alloydb_cluster" "cluster_abc" {
cluster_id = "alloydb-cluster"
location = "us-central1"
network_config {
network = google_compute_network.default.id
}
database_version = "POSTGRES_15"
initial_user {
user = "postgres"
password = "postgres"
}
continuous_backup_config {
enabled = true
recovery_window_days = 14
}
automated_backup_policy {
location = "us-central1"
backup_window = "1800s"
enabled = true
weekly_schedule {
days_of_week = ["MONDAY"]
start_times {
hours = 23
minutes = 0
seconds = 0
nanos = 0
}
}
quantity_based_retention {
count = 1
}
labels = {
test = "alloydb-cluster-backup-policy-labels"
}
}
labels = {
test = "alloydb-cluster-labels"
}
}
data "google_project" "project" {}
resource "google_compute_network" "default" {
name = "alloydb-cluster-network"
}
Prepara Cloud Shell
Para aplicar tu configuración de Terraform en un proyecto de Google Cloud, prepara Cloud Shell de la siguiente manera:
- Inicia Cloud Shell
Establece el proyecto de Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.
Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.
Prepara el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio, también llamado módulo raíz.
- En Cloud Shell, crea un directorio y un archivo nuevo dentro de ese directorio. El nombre del archivo debe ser un archivo TF, por ejemplo,
main.tf
. En este documento, el archivo se denominamain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
- Copia el código de muestra en el
main.tf
recién creado. De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo. - Revisa el archivo
main.tf
y modifica los parámetros de muestra que se aplicarán a tu entorno. - Guarda los cambios.
- Inicializa Terraform. Solo debes hacerlo una vez por directorio.
Opcional: Para usar la versión más reciente del proveedor de Google, incluye la opciónterraform init
-upgrade
:terraform init -upgrade
Aplique los cambios
- Revisa la configuración para confirmar que las actualizaciones de Terraform coincidan con tus expectativas:
Corrige la configuración según sea necesario.terraform plan
- Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe
yes
cuando se te solicite: Espera hasta que Terraform muestre el mensajeterraform apply
Apply complete!
. - Abre tu proyecto de Google Cloud para ver los resultados. En la consola de Google Cloud, navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.
Cómo clonar un clúster activo
Para crear un clon de un clúster activo que contenga una copia de todos los datos del clúster de origen y se ejecute en la misma región, realiza una recuperación de un punto en el tiempo en ese clúster. Cuando lo hagas, puedes especificar un momento muy reciente, por ejemplo, el primer segundo del minuto actual.
Este proceso solo copia los datos del clúster de origen en el clon, no la configuración del clúster de origen. Para encriptar los datos del clon con CMEK, debes especificar los detalles de CMEK como parte del comando de recuperación de un punto en el tiempo, incluso si los datos del clúster de origen ya están encriptados con CMEK. Después de crear el clúster nuevo, debes añadir instancias, marcas de base de datos, programas de copia de seguridad y cualquier otra configuración necesaria para satisfacer tus necesidades.
Un clúster creado de esta manera existe independientemente de su fuente, y sus datos no tienen ninguna relación con los datos del clúster de origen después de que se completa la duplicación inicial. Si deseas crear clústeres secundarios que rastreen y repliquen automáticamente los cambios de datos realizados en sus clústeres de origen, consulta Acerca de la replicación entre regiones.
Crea un clúster con un rango de direcciones IP específico
AlloyDB usa el acceso a servicios privados para permitir que los recursos internos de un clúster se comuniquen entre sí. Para poder crear un clúster, tu red de nube privada virtual (VPC) debe contener al menos un rango de direcciones IP configurado con una conexión de acceso a servicios privados.
Si tu red de VPC contiene más de un rango de direcciones IP que se configuró con acceso a servicios privados, tienes la opción de especificar el rango que AlloyDB asigna a un clúster nuevo.
Para especificar un rango de direcciones IP, consulta los pasos opcionales en Cómo crear un clúster.
Si no especificas un rango, AlloyDB realiza una de las siguientes acciones cuando creas un clúster:
Si tienes varios rangos de direcciones IP con acceso a servicios privados disponibles, AlloyDB elige uno de esos rangos.
Si configuraste exactamente un rango de direcciones IP en tu VPC con acceso a servicios privados, AlloyDB aplica ese rango al clúster nuevo.
Para obtener más información sobre cómo crear rangos de direcciones IP para usar con AlloyDB, consulta Habilita el acceso a servicios privados.