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 de 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 basées sur Google Axion) (preview)
      • N2 (série de machines x86) Il s'agit de la série de machines par défaut.
    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.
      • N2 est compatible avec les types ou formes de machines 2, 4, 8, 16, 32, 64, 96 et 128.

      Pour en savoir plus sur l'utilisation de la série de machines C4A basée sur Axion, y compris le type de machine à un processeur virtuel, consultez Points à prendre en compte lors de l'utilisation de la série de machines C4A basée sur Axion.

    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 pool 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 options personnalisées pour votre instance, développez Options de configuration avancées, puis procédez comme suit pour chaque option :

      1. Cliquez sur Ajouter une option.
      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 Exiger des connecteurs.
  5. Cliquez sur Créer une instance.

gcloud

Pour utiliser 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 \
    --cpu-count=CPU_COUNT \
    --machine-type=MACHINE_TYPE \
    --availability-type=AVAILABILITY \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --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.
  • CPU_COUNT : nombre de processeurs virtuels N2 souhaité pour l'instance. N2 est la valeur par défaut. Les valeurs valides sont les suivantes:

    • 2 : 2 vCPU, 16 Go de RAM
    • 4 : 4 vCPU, 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 processeurs virtuels, 768 Go de RAM
    • 128 : 128 vCPU, 864 Go de RAM

  • MACHINE_TYPE : ce paramètre est facultatif lorsque vous déployez des machines N2. Pour déployer la série de machines C4A basée sur Axion (Preview) ou pour migrer entre les machines C4A et N2, choisissez ce paramètre avec les valeurs suivantes.

    Lorsque vous utilisez MACHINE_TYPE et CPU_COUNT ensemble, les valeurs de CPU_COUNT et MACHINE_TYPE doivent correspondre, sinon une erreur s'affiche.

    Pour la série de machines C4A basée sur Axion, choisissez le type de machine avec les valeurs suivantes :

    • 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

    Pour déployer C4A avec 4 processeurs virtuels ou plus, utilisez le suffixe lssd pour activer le cache ultrarapide.

    Pour en savoir plus sur l'utilisation de la série de machines C4A basée sur Axion, y compris le type de machine à un processeur virtuel, consultez Points à prendre en compte lors de l'utilisation de la série de machines C4A basée sur Axion.

    Pour la série de machines N2 basées sur x86, utilisez les valeurs suivantes :

    • 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 : 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 automatisé entre eux. Il s'agit de la valeur par défaut, adaptée aux environnements de production.
    • ZONAL : crée une instance de base, contenant un seul nœud et aucune reprise après sinistre automatisée.
  • 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.

  • PROJECT_ID : ID du projet dans lequel le cluster est placé.

Pour appliquer une plage d'adresses IP spécifique à cette instance au lieu de laisser AlloyDB en choisir une, fournissez l'argument suivant :

      --allocated-ip-range-override=OVERRIDE_RANGE_NAME

Remplacez OVERRIDE_RANGE_NAME par le nom de la plage d'adresses IP que vous souhaitez que cette instance utilise pour l'accès aux services privés (par exemple, google-managed-services-default). Le nom de la plage doit respecter la norme RFC 1035. Plus précisément, le nom doit comporter entre 1 et 63 caractères et correspondre à l'expression régulière [a-z]([-a-z0-9]*[a-z0-9])?.

Pour en savoir plus sur cette option, consultez Créer une instance avec une plage d'adresses IP spécifique.

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 \
  --cpu-count=CPU_COUNT \
  --machine-type=MACHINE_TYPE \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID \
  --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 \
  --cpu-count=CPU_COUNT \
  --machine-type=MACHINE_TYPE \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --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 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

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

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
  }

  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]
}

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'UI pour vous assurer que Terraform les a créées ou mises à jour.

REST v1

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 cluster, car les utilisateurs externes peuvent le voir. Vous n'avez pas besoin d'indiquer l'ID du projet dans le nom du cluster. Cet ajout s'effectue automatiquement le cas échéant (par exemple, dans les fichiers journaux).

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • CLUSTER_ID : ID du cluster que vous créez. Il doit commencer par une lettre minuscule et peut contenir des lettres minuscules, des chiffres et des traits d'union.
  • PROJECT_ID : ID du projet dans lequel vous souhaitez placer le cluster.
  • LOCATION_ID : ID de la région du cluster.
  • INSTANCE_ID : nom de l'instance principale que vous souhaitez créer.
  • vCPU_COUNT : nombre de cœurs de processeur visibles sur l'instance que vous souhaitez créer.

Le corps JSON de la requête se présente comme suit :

{
  instanceId   = "INSTANCE_ID"
  instanceType = "PRIMARY"
  machineConfig {
    cpuCount = vCPU_COUNT
  }
  databaseFlags = {
    "key1" : "value1",
    "key2" : "value2"
  }
}

Pour envoyer votre requête, enregistrez le corps de la requête dans un fichier nommé request.json et utilisez la requête POST suivante :

POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances

Étapes suivantes