Créer une instance principale

Cette page explique comment créer l'instance principale d'un cluster AlloyDB.

Avant de commencer

  • Le projet Google Cloud que vous utilisez doit avoir été activé pour accéder à AlloyDB.
  • Vous devez disposer de l'un des rôles IAM suivants dans le projet Google Cloud que vous utilisez :
    • roles/alloydb.admin (rôle IAM prédéfini "Administrateur AlloyDB")
    • roles/owner (rôle IAM de base "Propriétaire")
    • roles/editor (rôle IAM de base Éditeur)

    Si vous ne disposez d'aucun de ces rôles, contactez l'administrateur de votre organisation pour demander l'accès.

Créer une instance principale AlloyDB

Console

  1. Accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur un cluster dans la colonne Nom de la ressource.

  3. Sur la page Présentation, accédez à Instances dans votre cluster, puis cliquez sur Créer une instance principale.

  4. Configurez votre instance principale :

    1. Dans le champ ID d'instance, saisissez un ID pour votre instance principale.
    2. Sous Disponibilité zonale, sélectionnez l'une des options suivantes :
      1. Pour créer une instance de production à disponibilité élevée avec basculement automatique, sélectionnez Plusieurs zones (Haute disponibilité).
      2. Pour créer une instance de base qui n'a pas besoin d'être hautement disponible, sélectionnez Zone unique.
    3. 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)
    4. Sélectionnez un type de machine.

      • C4A est compatible avec les types ou formes de machines 1, 4, 8, 16, 32, 48, 64 et 72. Pour en savoir plus sur l'utilisation de la série de machines C4A basée sur Axion, y compris le type de machine à 1 vCPU, consultez Points à prendre en compte lors de l'utilisation de la série de machines C4A basée sur Axion.

      • N2 est compatible avec les types ou formes de machines 2, 4, 8, 16, 32, 64, 96 et 128.

      • C4 est compatible avec les types ou formes de machines 4, 8, 16, 24, 32, 48, 96, 144, 192 et 288.

    5. Facultatif : Pour connecter vos applications et clients via l'Internet public, cochez la case Activer les adresses IP publiques sous Connectivité des adresses IP publiques. L'activation de l'adresse IP publique peut nécessiter une configuration supplémentaire pour garantir une connexion sécurisée. Pour en savoir plus, consultez 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 Activer l'accès aux services privés.

    6. Facultatif : Pour activer et utiliser le pooling de connexions géré, cochez la case Activer le pool de connexions géré sous Pool de connexions géré. Pour en savoir plus, consultez Configurer le pooling de connexions géré.

    7. Facultatif : Pour définir des flags personnalisés pour votre instance, développez Options de configuration avancées, puis procédez comme suit pour chaque flag :

      1. Cliquez sur Ajouter un flag.
      2. Sélectionnez un indicateur dans la liste Nouvel indicateur de base de données.
      3. Indiquez une valeur pour l'option.
      4. Cliquez sur OK.
    8. Facultatif : Pour configurer les exigences SSL ou du connecteur sur l'instance, développez Options de configuration avancées, puis procédez comme suit :

      1. 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.
      2. Pour exiger que toutes les connexions à la base de données de l'instance utilisent le proxy d'authentification AlloyDB ou les bibliothèques de connecteurs sécurisés fournies par Google, sélectionnez Imposer l'authentification mTLS via des connecteurs AlloyDB.
  5. Cliquez sur Créer une instance.

gcloud

Pour utiliser la gcloud CLI, vous pouvez installer et initialiser Google Cloud CLI, ou utiliser Cloud Shell.

Utilisez la commande gcloud alloydb instances create 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_ID
  • INSTANCE_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 sont les suivantes :
    • REGIONAL : crée une instance HA avec des nœuds actifs et de secours distincts, et un basculement automatique entre eux. Il s'agit de la valeur par défaut, qui convient aux environnements de production.
    • ZONAL : crée une instance de base, contenant un seul nœud et aucun basculement automatique.
  • REGION_ID : région dans laquelle vous souhaitez placer l'instance. Exemple :us-central1
  • CLUSTER_ID : ID du cluster dans lequel vous souhaitez placer l'instance.
  • CPU_COUNT : nombre de processeurs virtuels souhaité pour l'instance.

    • Vous devez spécifier cpu_count ou machine_type.
    • Si seul cpu_count est 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 vCPU, 128 Go de RAM
      • 32 : 32 processeurs virtuels, 256 Go de RAM
      • 64 : 64 vCPUs, 512 Go de RAM
      • 96 : 96 vCPU, 768 Go de RAM
      • 128 : 128 vCPU, 864 Go de RAM
    • Si machine_type et cpu_count sont fournis, la valeur cpu_count doit correspondre au nombre de vCPU spécifié dans machine_type. Par exemple, si machine_type est défini sur n2-highmem-4, vous devez définir cpu_count sur 4.
  • MACHINE_TYPE : sélectionnez un type de machine compatible dans la liste, par exemple n2-highmem-4, c4-highmem-4-lssd ou c4a-highmem-4-lssd. Pour en savoir plus, consultez Choisir un type de machine AlloyDB.

    Lorsque vous utilisez machine_type et cpu_count ensemble, les valeurs de cpu_count et machine_type doivent correspondre. Par exemple, si machine_type est défini sur n2-highmem-4, vous devez définir cpu_count sur 4.

  • 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 le flag --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_ENCRYPTED

Pour forcer 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'indicateur --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-connectors

Pour activer le pooling de connexions géré dans votre instance AlloyDB, ajoutez l'indicateur --enable-connection-pooling à la commande gcloud alloydb instances create :

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-pooling

Vous pouvez également créer une instance AlloyDB avec Private Service Connect activé. Pour savoir comment créer une instance principale pour un cluster compatible avec Private Service Connect, consultez Créer une instance AlloyDB.

Terraform

Créer une instance

Pour créer une instance dans votre cluster de bases 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 Choisir un type de machine AlloyDB.

Préparer Cloud Shell

Pour appliquer votre configuration Terraform dans un projet Google Cloud , préparez Cloud Shell comme suit :

  1. Lancez Cloud Shell.
  2. 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.

  1. 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
  2. Copiez l'exemple de code dans le fichier main.tf que 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
  3. Dans le répertoire terraform-docs-samples, accédez au répertoire alloydb.
    cd terraform-docs-samples/alloydb
  4. Copiez l'exemple de code dans le fichier main.tf que vous venez de créer.
    cp SAMPLE_FILE
    Remplacez <var>SAMPLE_FILE</var> par le nom du fichier exemple à copier, par exemple main.tf.
  5. Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
  6. Enregistrez les modifications.
  7. Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
    terraform init
    Facultatif : Pour utiliser la dernière version du fournisseur Google, incluez l'option -upgrade :
    terraform init -upgrade

Appliquer les modifications

  1. Examinez la configuration pour vérifier que les mises à jour Terraform correspondent à vos attentes :
    terraform plan
    Corrigez les modifications de la configuration si nécessaire.
  2. Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
    terraform apply
    Attendez que Terraform affiche le message Apply complete!.

Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud , 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 de cet appel, consultez Méthode : projects.locations.clusters.instances.create. Pour en savoir plus sur les paramètres de cluster, consultez Afficher les paramètres des clusters et des instances.

N'incluez pas d'informations sensibles ou permettant d'identifier personnellement l'utilisateur 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 vCPU, 128 Go de RAM
  • 32 : 32 processeurs virtuels, 256 Go de RAM
  • 64 : 64 vCPU, 512 Go de RAM
  • 96 : 96 vCPU, 768 Go de RAM
  • 128 : 128 vCPU, 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 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 que le cluster soit situé.
  • 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

Étapes suivantes