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 de usuario de la red de Compute (roles/compute.networkUser
). - Para las cargas de trabajo de desarrollo y de zona de pruebas, considera tu región y el tipo de máquina. Si deseas usar la forma de 1 vCPU, asegúrate de seleccionar una región que admita esa forma. Para obtener más información, consulta Consideraciones cuando se usa 1 vCPU.
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.
Haz 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 bases de datos del clúster.
Selecciona una región. Para las cargas de trabajo de desarrollo y de zona de pruebas, considera la forma de 1 vCPU (en Versión preliminar), que está disponible en regiones seleccionadas. Para obtener más información, consulta Consideraciones cuando se usa 1 vCPU.
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 la misma región 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 una configuración adicional. Para obtener más información, consulta Cómo usar CMEK con AlloyDB.
Haz clic en Continuar.
Configura tu instancia principal:
- En el campo ID de instancia, ingresa un ID para tu instancia principal.
Selecciona una de las siguientes series de máquinas:
- C4A (serie de máquinas basadas en Axion de Google) (versión preliminar)
- N2 (serie de máquinas basada en x86) Esta es la serie de máquinas predeterminada.
Selecciona un tipo de máquina.
- C4A admite 1, 4, 8, 16, 32, 48, 64 y 72 tipos o formas de máquinas.
- N2 admite 2, 4, 8, 16, 32, 64, 96 y 128 tipos o formas de máquinas.
Para obtener más información sobre el uso de las series de máquinas basadas en Axion C4A, incluido el tipo de máquina con 1 vCPU, consulta Consideraciones para usar las series de máquinas basadas en Axion C4A.
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.
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 \
--machine-type=MACHINE_TYPE \
--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 de N2 que deseas para la instancia. N2 es la opción predeterminada. 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
MACHINE_TYPE
: Este parámetro es opcional cuando implementas máquinas N2. Para implementar la serie de máquinas basada en Axion de C4A (Versión preliminar) o migrar entre máquinas C4A y N2, elige este parámetro con los siguientes valores.Cuando usas
MACHINE_TYPE
yCPU_COUNT
juntos, los valores deCPU_COUNT
yMACHINE_TYPE
deben coincidir; de lo contrario, se muestra un error.Para la serie de máquinas C4A basadas en Axion, elige el tipo de máquina con los siguientes valores:
c4a-highmem-1
c4a-highmem-4-lssd
c4a-highmem-8-lssd
c4a-highmem-16-lssd
c4a-highmem-32-lssd
c4a-highmem-48-lssd
c4a-highmem-64-lssd
c4a-highmem-72-lssd
Para implementar C4A con 4 vCPU y versiones posteriores, usa el sufijo
lssd
para habilitar la caché ultrarrápida.Para obtener más información sobre el uso de las series de máquinas basadas en Axion C4A, incluido el tipo de máquina con 1 vCPU, consulta Consideraciones para usar las series de máquinas basadas en Axion C4A.
Para la serie de máquinas N2 basadas en x86, usa el tipo de máquina con los siguientes valores:
N2-highmem-2
N2-highmem-4
N2-highmem-8
N2-highmem-16
N2-highmem-32
N2-highmem-64
N2-highmem-96
N2-highmem-128
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.
REST v1
En este ejemplo, se crea un clúster. El parámetro network
es obligatorio.
Para ver una lista completa de los parámetros de esta llamada, consulta Método: projects.locations.clusters.create. Para obtener información sobre la configuración del clúster, consulta Consulta la configuración del clúster y de la instancia.
No incluyas información sensible o de identificación personal en el ID de tu clúster, ya que es visible de forma externa. No debes incluir el ID del proyecto en el nombre del clúster. Esto se hace de forma automática cuando es apropiado, por ejemplo, en los archivos de registro.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
CLUSTER_ID
: Es el ID del clúster que creaste. Debe comenzar con una letra minúscula y puede contener letras minúsculas, números y guiones.PROJECT_ID
: Es el ID del proyecto en el que deseas que se coloque el clúster.LOCATION_ID
: Es el ID de la región del clúster.NETWORK
: Es el nombre de la red de VPC que configuraste para el acceso a servicios privados a AlloyDB.DATABASE_VERSION
: Es la cadena de enumeración de la versión de la base de datos,por ejemplo,POSTGRES_15
.INITIAL_USERNAME
: Es el nombre de usuario que se usará para el usuariopostgres
predeterminado.INITIAL_USER_PASSWORD
: La contraseña que se usará para el usuariopostgres
predeterminado.
El cuerpo JSON de la solicitud se ve de la siguiente manera:
{
clusterId = "CLUSTER_ID"
network = "projects/PROJECT_ID/global/networks/NETWORK"
databaseVersion = "DATABASE_VERSION"
initialUser {
user = "INITIAL_USERNAME"
password = "INITIAL_USER_PASSWORD"
}
continuousBackupConfig {
enabled = true
recoveryWindowDays = 14
}
weeklySchedule {
daysOfWeek = ["MONDAY"]
startTimes {
hours = 23
minutes = 0
seconds = 0
nanos = 0
}
}
quantityBasedRetention {
count = 1
}
labels = {
test = "alloydb-cluster-full"
}
}
}
Para enviar tu solicitud, guarda el cuerpo de la solicitud en un archivo llamado request.json
y usa la siguiente solicitud POST
:
POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters
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 que 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.
Consideraciones para usar la serie de máquinas basadas en Axion C4A
AlloyDB ofrece una serie de máquinas C4A basada en Google Axion, el procesador personalizado de Google basado en ARM. Las máquinas virtuales (VM) C4A están disponibles como configuraciones predefinidas para 1, 4, 8, 16, 32, 48, 64 y 72 CPU virtuales, con hasta 576 GB de memoria de doble tasa de transferencia 5 (DDR5).
Cuando elijas C4A, ten en cuenta lo siguiente:
- Para implementar la serie de máquinas C4A, usa
MACHINE_TYPE
yCPU_COUNT
, dondeCPU_COUNT
debe coincidir con el valor decpu-count
enMACHINE_TYPE
. - Para actualizar de N2 a C4A con Google Cloud CLI, debes actualizar
MACHINE_TYPE
yCPU_COUNT
, en los queCPU_COUNT
debe coincidir con el valor decpu-count
enMACHINE_TYPE
. - Para actualizar de C4A a N2, debes actualizar
MACHINE_TYPE
yCPU_COUNT
, en los queCPU_COUNT
debe coincidir con el valor decpu-count
enMACHINE_TYPE
.
C4A es compatible con las siguientes regiones:
asia-east1
asia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
us-central1
us-east1
us-east4
Consideraciones para usar el tipo de máquina con 1 CPU virtual
AlloyDB ofrece una forma de 1 CPU virtual con C4A y está destinada solo para fines de desarrollo y zona de pruebas. Para cargas de trabajo de producción, elige 2 o más CPU virtuales.
Cuando elijas 1 vCPU, ten en cuenta las siguientes limitaciones:
- Se ofrece 1 CPU virtual con 8 GB de memoria sin compatibilidad con la caché ultrarrápida.
- Se recomienda una configuración de 1 vCPU para entornos de desarrollo y zona de pruebas con tamaños de bases de datos más pequeños de decenas de gigabytes. Para bases de datos más grandes y cargas de trabajo de producción, considera usar 2 vCPU o más.
- Puedes configurarlo con alta disponibilidad (HA), pero no se ofrecen ANS de tiempo de actividad.
- Las actualizaciones in situ de versiones principales no son compatibles con 1, 48 y 72 CPUs virtuales para máquinas C4A. Considera otros enfoques de actualización, como volcado y restablecimiento, o intenta escalar antes de iniciar una actualización de versión principal in situ.
- Consulta las regiones compatibles con C4A en las que puedes implementar 1 vCPU.