Cette page explique comment créer l'instance principale dans un cluster AlloyDB.
Avant de commencer
- Le Google Cloud projet que vous utilisez doit avoir été activé pour accéder à AlloyDB.
- Vous devez disposer de l'un des rôles IAM suivants dans le Google Cloud projet que vous utilisez :
roles/alloydb.admin(rôle IAM prédéfini d'administrateur AlloyDB)roles/owner(rôle IAM de base de propriétaire)roles/editor(rôle IAM de base d'éditeur)
Si vous ne disposez pas de ces rôles, contactez l'administrateur de votre organisation pour demander l'accès.
Créer une instance principale AlloyDB
Console
Accédez à la page Clusters.
Cliquez sur un cluster dans la colonne Nom de la ressource.
Sur la page Présentation, accédez à Instances dans votre cluster, puis cliquez sur Créer une instance principale.
Configurez votre instance principale :
- Dans le champ ID de l'instance, saisissez un ID pour votre instance principale.
- Sous Disponibilité zonale, sélectionnez l'une des options suivantes :
- Pour créer une instance de production à haute disponibilité avec basculement automatique, sélectionnez Plusieurs zones (disponibilité élevée).
- Pour créer une instance de base qui n'a pas besoin d'être à haute disponibilité, sélectionnez Zone unique.
Sélectionnez l'une des séries de machines suivantes :
- C4A (série de machines Google Axion)
- N2 (série de machines x86) Il s'agit de la série de machines par défaut.
- C4 (série de machines x86)
- Z3 (série de machines Intel Xeon)
Sélectionnez un type de machine.
- C4A est compatible avec 1, 2, 4, 8, 16, 32, 48, 64 et 72 processeurs virtuels.
- N2 est compatible avec 2, 4, 8, 16, 32, 64, 96 et 128 processeurs virtuels.
- C4 est compatible avec 4, 8, 16, 24, 32, 48, 96, 144, 192 et 288 processeurs virtuels.
- Z3 est compatible avec 8, 14, 16, 22, 32, 44 et 88 processeurs virtuels.
Facultatif : Pour connecter vos applications et clients via l'Internet public, cochez la case Activer l'adresse IP publique sous Connectivité IP publique. L'activation de l'adresse IP publique peut nécessiter une configuration supplémentaire pour vous assurer de disposer d'une connexion sécurisée. Pour en savoir plus, consultez la section Se connecter à l'aide d'une adresse IP publique.
Par défaut, l'adresse IP privée est toujours activée. Pour en savoir plus, consultez la section Activer l'accès aux services privés.
Facultatif : Pour activer le pool de connexions géré, sélectionnez Activer le pool de connexions géré sous Pool de connexions géré. Pour en savoir plus, consultez la section Configurer le pool de connexions géré.
Facultatif : Pour définir des options personnalisées pour votre instance, développez Options de configuration avancées, puis procédez comme suit pour chaque option :
- Cliquez sur Ajouter une option.
- Sélectionnez un indicateur dans la liste Nouvel indicateur de base de données.
- Indiquez une valeur pour l'option.
- Cliquez sur OK.
Facultatif : Pour configurer les exigences SSL ou de connecteur sur l'instance, développez Options de configuration avancées, puis procédez comme suit :
- Par défaut, les instances AlloyDB exigent que toutes les connexions utilisent le chiffrement SSL. Pour autoriser les connexions non SSL, décochez la case Autoriser uniquement les connexions SSL.
- Pour exiger que toutes les connexions de base de données à l'instance utilisent le proxy d'authentification AlloyDB ou les bibliothèques de connecteurs sécurisés fournies par Google, sélectionnez Appliquer mTLS via les connecteurs AlloyDB.
Cliquez sur Créer une instance.
gcloud
Pour utiliser la gcloud CLI, vous pouvez installer et initialiser la Google Cloud CLI, ou vous pouvez utiliser Cloud Shell.
Utilisez la gcloud alloydb instances create
commande pour créer une instance principale.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_IDINSTANCE_ID: ID de l'instance que vous créez. Il doit commencer par une lettre minuscule et peut contenir des lettres minuscules, des chiffres et des traits d'union.AVAILABILITY: indique si cette instance doit être disponibilité élevée (HA), avec des nœuds dans plusieurs zones. Les valeurs valides incluent les suivantes :REGIONAL: crée une instance à haute disponibilité avec des nœuds actifs et de secours distincts, ainsi qu'un basculement automatique entre eux. Il s'agit de la valeur par défaut, adaptée aux environnements de production.ZONAL: crée une instance de base, ne contenant qu'un seul nœud et aucun basculement automatique.
REGION_ID: région dans laquelle vous souhaitez placer l'instance. Par exemple,us-central1.CLUSTER_ID: ID du cluster dans lequel vous souhaitez placer l'instance.CPU_COUNT: nombre de processeurs virtuels souhaités pour l'instance.- Vous devez spécifier
cpu_countoumachine_type. - Si seul
cpu_countest fourni, une instance N2 est créée avec les spécifications suivantes :- 2 : 2 processeurs virtuels, 16 Go de RAM
- 4 : 4 processeurs virtuels, 32 Go de RAM
- 8 : 8 processeurs virtuels, 64 Go de RAM
- 16 : 16 processeurs virtuels, 128 Go de RAM
- 32 : 32 processeurs virtuels, 256 Go de RAM
- 64 : 64 processeurs virtuels, 512 Go de RAM
- 96 : 96 processeurs virtuels, 768 Go de RAM
- 128 : 128 processeurs virtuels, 864 Go de RAM
- Si
machine_typeetcpu_countsont fournis, la valeurcpu_countdoit correspondre au nombre de processeurs virtuels spécifié dansmachine_type. Par exemple, simachine_typeestn2-highmem-4, vous devez définircpu_countsur4.
- Vous devez spécifier
MACHINE_TYPE: sélectionnez un type de machine compatible, tel quen2-highmem-4,c4-highmem-4-lssdouc4a-highmem-4-lssd. Pour en savoir plus, consultez la section Choisir un type de machine AlloyDB.Lorsque vous utilisez
machine_typeetcpu_countensemble, les valeurs decpu_countetmachine_typedoivent correspondre. Par exemple, simachine_typeestn2-highmem-4, vous devez définircpu_countsur4.PROJECT_ID: ID du projet dans lequel le cluster est placé.
Par défaut, les nouvelles instances exigent que toutes les connexions utilisent le chiffrement SSL. Pour autoriser les connexions non SSL à l'instance, ajoutez l'option --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED à la commande :
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTEDPour appliquer une connexion sécurisée entre le client et une instance AlloyDB via le proxy d'authentification ou d'autres applications qui utilisent des bibliothèques de connecteurs fournies par Google, ajoutez l'option --require-connectors à la commande :
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--require-connectorsPour activer le pool de connexions géré dans votre instance AlloyDB, ajoutez l'option --enable-connection-pooling à la
gcloud alloydb instances create
commande :
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--enable-connection-poolingVous pouvez également créer une instance AlloyDB avec Private Service Connect activé. Pour savoir comment créer une instance principale pour un cluster avec Private Service Connect activé, consultez la section Créer une instance AlloyDB.
Terraform
Créer une instance
Pour créer une instance dans votre cluster de base de données, utilisez une ressource Terraform.
resource "google_alloydb_instance" "default" {
cluster = google_alloydb_cluster.default.name
instance_id = "alloydb-instance"
instance_type = "PRIMARY"
machine_config {
cpu_count = 2
}
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
}
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-cluster"
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.name]
}
Cet exemple crée une instance N2. Pour obtenir la liste des autres types de machines compatibles, tels que n2-highmem-4, c4-highmem-4-lssd, ou c4a-highmem-4-lssd, consultez la section Choisir un type de machine AlloyDB.
Préparer Cloud Shell
Pour appliquer votre configuration Terraform dans un Google Cloud projet, préparez Cloud Shell comme suit :
- Lancez Cloud Shell.
Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.
Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet, et vous pouvez l'exécuter dans n'importe quel répertoire.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.
Préparer le répertoire
Chaque fichier de configuration Terraform doit avoir son propre répertoire, également appelé module racine.
- Dans Cloud Shell, créez un répertoire et un nouveau
fichier dans ce répertoire. Le nom de fichier doit être un fichier TF, par exemple
main.tf. Dans ce document, le fichier est appelémain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
- Copiez l'exemple de code dans le fichier
main.tfque vous venez de créer. Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.git clone https://github.com/terraform-google-modules/terraform-docs-samples
- Dans le répertoire
terraform-docs-samples, accédez au répertoirealloydb.cd terraform-docs-samples/alloydb
- Copiez l'exemple de code dans le fichier
main.tfque vous venez de créer. Remplacezcp SAMPLE_FILE
<var>SAMPLE_FILE</var>par le nom du fichier exemple à copier, par exemplemain.tf. - Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
- Enregistrez les modifications.
- Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
Facultatif : Pour utiliser la dernière version du fournisseur Google, incluez l'optionterraform init
-upgrade:terraform init -upgrade
Appliquer les modifications
- Examinez la configuration pour vérifier que les mises à jour Terraform correspondent à vos attentes :
Apportez les corrections nécessaires à la configuration.terraform plan
- Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant
yeslorsque vous y êtes invité : Attendez que Terraform affiche le messageterraform apply
Apply complete!(Application terminée).
Ouvrez votre Google Cloud projet pour afficher les résultats. Dans la Google Cloud console, accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.
REST v1
Créer une instance
Cet exemple crée une instance principale. Pour obtenir la liste complète des paramètres pour cet appel, consultez la page Méthode : projects.locations.clusters.instances.create. Pour en savoir plus sur les paramètres de cluster, consultez la section Afficher les paramètres de cluster et d’instance.
N'incluez pas d'informations sensibles ou personnelles dans l'ID de votre cluster, car les utilisateurs externes peuvent le voir. Vous n'avez pas besoin d'inclure l'ID du projet dans le nom du cluster, car cela est fait automatiquement le cas échéant, par exemple dans les fichiers journaux.
Pour envoyer votre requête, enregistrez le corps de la requête dans un fichier nommé instance_request.json.
{
"instance_type": "PRIMARY",
"machine_config": {
"cpu_count": "vCPU_COUNT",
},
}
Effectuez le remplacement suivant :
CPU_COUNT: nombre de cœurs de processeur visibles sur l'instance que vous souhaitez créer.
L'exemple précédent crée une instance N2 avec les spécifications suivantes :
- 2 : 2 processeurs virtuels, 16 Go de RAM
- 4 : 4 processeurs virtuels, 32 Go de RAM
- 8 : 8 processeurs virtuels, 64 Go de RAM
- 16 : 16 processeurs virtuels, 128 Go de RAM
- 32 : 32 processeurs virtuels, 256 Go de RAM
- 64 : 64 processeurs virtuels, 512 Go de RAM
- 96 : 96 processeurs virtuels, 768 Go de RAM
- 128 : 128 processeurs virtuels, 864 Go de RAM
machine_config: {
machine_type : MACHINE_TYPE,
},
Remplacez MACHINE_TYPE par un type de machine compatible, tel que n2-highmem-4, c4-highmem-4-lssd ou c4a-highmem-4-lssd. Pour en savoir plus sur les types de machines compatibles, consultez la section Choisir un type de machine AlloyDB.
Utilisez la méthode HTTP et l'URL suivantes :
POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID
Effectuez les remplacements suivants :
PROJECT_ID: ID du projet dans lequel vous souhaitez placer le cluster.LOCATION_ID: ID de la région du cluster.CLUSTER_ID: ID du cluster que vous créez. L'ID doit commencer par une lettre minuscule et peut contenir des lettres minuscules, des chiffres et des traits d'union.INSTANCE_ID: nom de l'instance principale que vous souhaitez créer.
Vous pouvez utiliser curl pour exécuter la requête, comme illustré dans l'exemple suivant :
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID -d @instance_request.json