En esta página se describe cómo crear la instancia principal en un clúster de AlloyDB.
Antes de empezar
- El Google Cloud proyecto que estés usando debe tener habilitado el acceso a AlloyDB.
- Debes tener uno de estos roles de gestión de identidades y accesos en el Google Cloud proyecto que estés usando:
roles/alloydb.admin
(el rol de gestión de identidades y accesos predefinido de AlloyDB)roles/owner
(el rol básico de propietario de gestión de identidades y accesos)roles/editor
(el rol básico de gestión de identidades y accesos Editor)
Si no tienes ninguno de estos roles, ponte en contacto con el administrador de tu organización para solicitar acceso.
Crear una instancia principal de AlloyDB
Consola
Ve a la página Clústeres.
Haga clic en un clúster de la columna Nombre del recurso.
En la página Vista general, ve a Instancias de tu clúster y haz clic en Crear instancia principal.
Configura la instancia principal:
- En el campo ID de instancia, introduce un ID para tu instancia principal.
- En Disponibilidad por zonas, selecciona una de las siguientes opciones:
- Para crear una instancia de producción de alta disponibilidad con conmutación por error automatizada, selecciona Varias zonas (alta disponibilidad).
- Para crear una instancia básica que no necesite una alta disponibilidad, selecciona Una sola zona.
Selecciona una de las siguientes series de máquinas:
- C4A (serie de máquinas basadas en Google Axion) (vista previa)
- N2 (serie de máquinas basadas 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 la serie de máquinas basada en Axion C4A, incluido el tipo de máquina de 1 vCPU, consulta Consideraciones al usar la serie de máquinas basada en Axion C4A.
Opcional: Para conectar tus aplicaciones y clientes a través de Internet público, marca la casilla Habilitar IP pública en Conectividad de IP pública. Para habilitar la IP pública, puede que sea necesario realizar una configuración adicional para asegurar la conexión. Para obtener más información, consulta Conectarse mediante una IP pública.
De forma predeterminada, la IP privada siempre está habilitada. Para obtener más información, consulta el artículo Habilitar el acceso a servicios privados.
Opcional: Para habilitar y usar la agrupación de conexiones gestionadas, marca la casilla Habilitar agrupación de conexiones gestionadas en Agrupación de conexiones gestionadas. Para obtener más información, consulta Configurar la agrupación de conexiones gestionada.
Opcional: Para definir marcas personalizadas para tu instancia, amplía Opciones de configuración avanzada y, a continuación, haz lo siguiente con cada marca:
- Haz clic en Añadir marca.
- Seleccione una marca de la lista Nueva marca de base de datos.
- Indica un valor para la marca.
- Haz clic en Listo.
Opcional: Para configurar los requisitos de SSL o del conector en la instancia, expande Opciones de configuración avanzada y haz lo siguiente:
- De forma predeterminada, las instancias de AlloyDB requieren que todas las conexiones usen cifrado SSL. Para permitir conexiones no SSL, desmarca la casilla Permitir solo conexiones SSL.
- Para exigir que todas las conexiones de base de datos a la instancia usen el proxy de autenticación de AlloyDB o las bibliotecas de conectores seguros proporcionadas por Google, selecciona Requerir conectores.
Haz clic en Crear instancia.
gcloud
Para usar la CLI de gcloud, puedes instalar e inicializar Google Cloud CLI o usar Cloud Shell.
Usa el comando gcloud alloydb instances create
para crear una instancia principal.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
INSTANCE_ID
: el ID de la instancia que estás creando. Debe empezar por una letra minúscula y puede contener letras minúsculas, números y guiones.CPU_COUNT
: número de vCPUs N2 que quieres asignar a la instancia. N2 es el valor predeterminado. Entre los valores válidos se incluyen los siguientes:2
: 2 vCPUs, 16 GB de RAM4
: 4 vCPUs, 32 GB de RAM8
: 8 vCPUs, 64 GB de RAM16
: 16 vCPUs y 128 GB de RAM32
: 32 vCPUs, 256 GB de RAM64
: 64 vCPUs, 512 GB de RAM96
: 96 vCPUs, 768 GB de RAM128
: 128 vCPUs, 864 GB de RAM
MACHINE_TYPE
: este parámetro es opcional cuando implementas máquinas N2. Para desplegar la serie de máquinas basada en C4A Axion (vista previa) o para migrar entre máquinas C4A y N2, elija este parámetro con los siguientes valores.Si usas
MACHINE_TYPE
yCPU_COUNT
juntos, los valores deCPU_COUNT
yMACHINE_TYPE
deben coincidir. De lo contrario, se producirá un error.En 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 desplegar C4A con 4 vCPUs o más, usa el sufijo
lssd
para habilitar la caché ultrarrápida.Para obtener más información sobre el uso de la serie de máquinas basada en Axion C4A, incluido el tipo de máquina de 1 vCPU, consulta Consideraciones al usar la serie de máquinas basada en Axion C4A.
En el caso de la serie de máquinas N2 basadas en x86, utiliza 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
AVAILABILITY
: indica si esta instancia debe tener alta disponibilidad (HA), con nodos en varias zonas. Los valores válidos son los siguientes:REGIONAL
: crea una instancia de alta disponibilidad con nodos activos y de espera independientes, así como una conmutación por error automatizada entre ellos. Este es el valor predeterminado, adecuado para entornos de producción.ZONAL
: crea una instancia básica que contiene solo un nodo y no tiene conmutación por error automática.
REGION_ID
: la región en la que quieres que se coloque la instancia. Por ejemplo,us-central1
.CLUSTER_ID
: el ID del clúster en el que quieres colocar la instancia.PROJECT_ID
: el ID del proyecto en el que se encuentra el clúster.
Para aplicar un intervalo de direcciones IP específico a esta instancia en lugar de permitir que AlloyDB elija un intervalo de direcciones IP, proporciona el siguiente argumento:
--allocated-ip-range-override=OVERRIDE_RANGE_NAME
Sustituye OVERRIDE_RANGE_NAME
por el nombre del intervalo de direcciones IP que quieras que use esta instancia para acceder a servicios privados. Por ejemplo, google-managed-services-default
. El nombre del intervalo debe cumplir la RFC 1035. En concreto, el nombre debe tener entre 1 y 63 caracteres, y coincidir con la expresión regular [a-z]([-a-z0-9]*[a-z0-9])?
.
Para obtener más información sobre esta opción, consulta Crear una instancia con un intervalo de direcciones IP específico.
De forma predeterminada, las instancias nuevas requieren que todas las conexiones usen el cifrado SSL. Para permitir conexiones no SSL a la instancia, añade la marca --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED
al comando:
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 \
--ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED
Para forzar una conexión segura entre el cliente y una instancia de AlloyDB a través del proxy de autenticación u otras aplicaciones que usen bibliotecas de conectores proporcionadas por Google, añade la marca --require-connectors
al comando:
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 \
--require-connectors
Para habilitar la agrupación de conexiones gestionadas en tu instancia de AlloyDB, añade la marca --enable-connection-pooling
al comando gcloud alpha alloydb instances create
:
gcloud alpha alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--enable-connection-pooling
También puedes crear una instancia de AlloyDB con Private Service Connect habilitado. Para obtener información sobre cómo crear una instancia principal para un clúster habilitado para Private Service Connect, consulta Crear una instancia de AlloyDB.
Terraform
Para crear una instancia en tu clúster de bases de datos, usa un recurso de Terraform.
resource "google_alloydb_instance" "default" {
cluster = google_alloydb_cluster.default.name
instance_id = "alloydb-instance"
instance_type = "PRIMARY"
machine_config {
cpu_count = 2
}
network_config {
allocated_ip_range_override = google_compute_global_address.private_ip_alloc_2.name
}
depends_on = [google_service_networking_connection.vpc_connection]
}
resource "google_alloydb_cluster" "default" {
cluster_id = "alloydb-cluster"
location = "us-central1"
network_config {
network = google_compute_network.default.id
allocated_ip_range = google_compute_global_address.private_ip_alloc_1.name
}
initial_user {
password = "alloydb-cluster"
}
}
data "google_project" "project" {}
resource "google_compute_network" "default" {
name = "alloydb-network"
}
resource "google_compute_global_address" "private_ip_alloc" {
name = "alloydb-address-range-1"
address_type = "INTERNAL"
purpose = "VPC_PEERING"
prefix_length = 16
network = google_compute_network.default.id
}
resource "google_compute_global_address" "private_ip_alloc_2" {
name = "alloydb-address-range-2"
address_type = "INTERNAL"
purpose = "VPC_PEERING"
prefix_length = 16
network = google_compute_network.default.id
}
resource "google_service_networking_connection" "vpc_connection" {
network = google_compute_network.default.id
service = "servicenetworking.googleapis.com"
reserved_peering_ranges = [google_compute_global_address.private_ip_alloc_1.name,google_compute_global_address.private_ip_alloc_2.name]
}
Preparar Cloud Shell
Para aplicar tu configuración de Terraform en un proyecto de Google Cloud , prepara Cloud Shell de la siguiente manera:
- Abre Cloud Shell.
Define el proyecto predeterminado Google Cloud en el que quieras aplicar tus configuraciones de Terraform.
Solo tiene que ejecutar este comando una vez por proyecto y puede hacerlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si defines valores explícitos en el archivo de configuración de Terraform.
Preparar 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 en 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 ejemplo en el archivo
main.tf
que acabas de crear. También puedes copiar el código de GitHub. Se recomienda usar esta opción cuando el fragmento de Terraform forme parte de una solución integral.git clone https://github.com/terraform-google-modules/terraform-docs-samples
- En el directorio
terraform-docs-samples
, vaya al directorioalloydb
.cd terraform-docs-samples/alloydb
- Copia el código de ejemplo en el archivo
main.tf
que acabas de crear. Sustituyecp SAMPLE_FILE
<var>SAMPLE_FILE</var>
por el nombre del archivo de ejemplo que quieras copiar. Por ejemplo,main.tf
. - Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
- Guarda los cambios.
- Inicializa Terraform. Solo tienes que 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
Aplica los cambios
- Revisa la configuración para confirmar que las actualizaciones de Terraform se ajustan a tus expectativas:
Haga las correcciones necesarias en la configuración.terraform plan
- Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo
yes
en la petición: Espera hasta que Terraform muestre el mensajeterraform apply
Apply complete!
.
Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, vaya a sus recursos en la interfaz de usuario para asegurarse de que Terraform los ha creado o actualizado.
REST v1
En este ejemplo se crea una instancia principal. Para ver la lista completa de parámetros de esta llamada, consulta Method: projects.locations.clusters.instances.create. Para obtener información sobre la configuración de clústeres, consulta Ver la configuración de clústeres e instancias.
No incluyas información sensible ni información personal identificable en el ID de tu clúster, ya que es visible externamente. No es necesario que incluyas el ID de proyecto en el nombre del clúster. Esto se hace automáticamente cuando procede, por ejemplo, en los archivos de registro.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
CLUSTER_ID
: el ID del clúster que crees. Debe empezar por una letra minúscula y puede contener letras minúsculas, números y guiones.PROJECT_ID
: el ID del proyecto en el que quieres colocar el clúster.LOCATION_ID
: el ID de la región del clúster.INSTANCE_ID
: el nombre de la instancia principal que quieras crear.vCPU_COUNT
: el número de núcleos de CPU visibles en la instancia que quieres crear.
El cuerpo JSON de la solicitud tiene el siguiente aspecto:
{
instanceId = "INSTANCE_ID"
instanceType = "PRIMARY"
machineConfig {
cpuCount = vCPU_COUNT
}
databaseFlags = {
"key1" : "value1",
"key2" : "value2"
}
}
Para enviar la 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/CLUSTER_ID/instances