En esta página, se describe cómo crear la instancia principal en un clúster de AlloyDB.
Antes de comenzar
- El proyecto Google Cloud que usas debe estar habilitado para acceder a AlloyDB.
- Debes tener uno de estos roles de IAM en el proyecto Google Cloud que estás usando:
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 básico de IAM de Editor)
Si no tienes ninguno de estos roles, comunícate con el administrador de tu organización para solicitar acceso.
Crea una instancia principal de AlloyDB
Console
Ve a la página Clústeres.
Haz clic en un clúster en la columna Nombre del recurso.
En la página Descripción general, ve a Instancias en tu clúster y haz clic en Crear instancia principal.
Configura tu instancia principal:
- En el campo ID de instancia, ingresa un ID para tu instancia principal.
- En Disponibilidad zonal, selecciona una de las siguientes opciones:
- Para crear una instancia de producción con alta disponibilidad y conmutación por error automática, selecciona Varias zonas (con alta disponibilidad).
- Para crear una instancia básica que no necesita tener alta disponibilidad, selecciona Zona única.
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 C4A basadas en Axion, incluido el tipo de máquina con 1 CPU virtual, consulta Consideraciones para usar la serie de máquinas C4A basadas en Axion.
Opcional: Para conectar tus aplicaciones y clientes a través de Internet pública, marca la casilla de verificación Habilitar IP pública en Conectividad de IP pública. Habilitar la IP pública podría requerir configuración adicional para garantizar una conexión segura. Para obtener más información, consulta Conéctate con una IP pública.
De forma predeterminada, la IP privada siempre está habilitada. Para obtener más información, consulta Habilita el acceso privado a los servicios.
Opcional: Para habilitar y usar la agrupación de conexiones administradas, marca la casilla de verificación Habilitar el grupo de conexiones administradas en Grupo de conexiones administradas. Para obtener más información, consulta Cómo configurar el agrupamiento de conexiones administrado.
Opcional: Para establecer marcas personalizadas para tu instancia, expande Opciones de configuración avanzadas y, luego, haz lo siguiente para cada marca:
- Haz clic en Agregar marca.
- Selecciona una marca de la lista New database flag.
- Proporciona 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, luego, haz lo siguiente:
- De forma predeterminada, las instancias de AlloyDB requieren que todas las conexiones usen encriptación SSL. Para permitir conexiones que no sean SSL, desmarca la casilla de verificación Solo permitir conexiones SSL.
- Para requerir que todas las conexiones de la base de datos a la instancia usen el proxy de autenticación de AlloyDB o las bibliotecas de conectores seguros que proporciona Google, selecciona Requerir conectores.
Haz clic en Crear instancia.
gcloud
Para usar gcloud CLI, puedes instalar y, luego, inicializar Google Cloud CLI, o bien 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
: Es 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 el valor predeterminado. Los valores válidos incluyen lo siguiente:2
: 2 CPU virtuales, 16 GB de RAM4
: 4 CPUs virtuales y 32 GB de RAM8
: 8 CPU virtuales, 64 GB de RAM16
: 16 CPU virtuales, 128 GB de RAM32
: 32 CPU virtuales y 256 GB de RAM64
: 64 CPU virtuales y 512 GB de RAM96
: 96 CPU virtuales, 768 GB de RAM128
: 128 CPU virtuales y 864 GB de RAM
MACHINE_TYPE
: Este parámetro es opcional cuando implementas máquinas N2. Para implementar la serie de máquinas basadas en Axion 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, recibirás un error.Para la serie de máquinas basadas en Axion C4A, 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 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 C4A basadas en Axion, incluido el tipo de máquina con 1 CPU virtual, consulta Consideraciones para usar la serie de máquinas C4A basadas en Axion.
Para la serie de máquinas N2 basadas en x86, usa 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. Estos son algunos de los valores válidos:REGIONAL
: Crea una instancia de HA con nodos activos y en espera separados, y conmutación por error automática 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
: Es la región en la que deseas colocar la instancia. Por ejemplo,us-central1
CLUSTER_ID
: Es el ID del clúster en el que deseas colocar la instancia.PROJECT_ID
: Es el ID del proyecto en el que se coloca el clúster.
Para aplicar un rango de direcciones IP específico a esta instancia, en lugar de permitir que AlloyDB elija un rango de direcciones IP, proporciona el siguiente argumento:
--allocated-ip-range-override=OVERRIDE_RANGE_NAME
Reemplaza OVERRIDE_RANGE_NAME
por el nombre del rango de direcciones IP que deseas que use esta instancia para el acceso privado a servicios, por ejemplo, google-managed-services-default
. El nombre del rango debe cumplir con RFC 1035. Específicamente, 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 Crea una instancia con un rango de direcciones IP específico.
De forma predeterminada, las instancias nuevas requieren que todas las conexiones usen la encriptación SSL. Para permitir conexiones que no sean SSL a la instancia, agrega 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 aplicar una conexión segura entre el cliente y una instancia de AlloyDB a través del proxy de autenticación o de otras aplicaciones que usan bibliotecas de conectores proporcionadas por Google, agrega 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 el agrupamiento de conexiones administrado en tu instancia de AlloyDB, agrega 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 Crea una instancia de AlloyDB.
Terraform
Para crear una instancia dentro de 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]
}
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 Google Cloud predeterminadoen 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.git clone https://github.com/terraform-google-modules/terraform-docs-samples
- En el directorio
terraform-docs-samples
, navega al directorioalloydb
.cd terraform-docs-samples/alloydb
- Copia el código de muestra en el
main.tf
recién creado. Reemplazacp SAMPLE_FILE
<var>SAMPLE_FILE</var>
por el nombre del archivo de muestra que se copiará, por ejemplo,main.tf
. - Revisa 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 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 una instancia principal. Para ver una lista completa de los parámetros de esta llamada, consulta Método: projects.locations.clusters.instances.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 es necesario que incluyas el ID del proyecto en el nombre del clúster. Esto se hace de manera automática cuando corresponde, 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 creas. 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 colocar el clúster.LOCATION_ID
: Es el ID de la región del clúster.INSTANCE_ID
: Es el nombre de la instancia principal que deseas crear.vCPU_COUNT
: Es la cantidad de núcleos de CPU visibles en la instancia que deseas crear.
El cuerpo JSON de la solicitud se ve de la siguiente manera:
{
instanceId = "INSTANCE_ID"
instanceType = "PRIMARY"
machineConfig {
cpuCount = vCPU_COUNT
}
databaseFlags = {
"key1" : "value1",
"key2" : "value2"
}
}
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/CLUSTER_ID/instances