Cette page explique comment créer un cluster AlloyDB et son instance principale.
Avant de commencer
- Le projet Google Cloud que vous utilisez doit avoir été autorisé à accéder à AlloyDB.
- Un réseau VPC du projet Google Cloud que vous utilisez doit déjà être configuré pour l'accès aux services privés à 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 "AlloyDB Admin")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.
- Vous devez également disposer de l'autorisation
compute.networks.list
dans le projet Google Cloud que vous utilisez. Pour obtenir cette autorisation tout en respectant le principe du moindre privilège, demandez à votre administrateur de vous accorder le rôleroles/compute.networkUser
(Utilisateur de réseau Compute).
Créer un cluster
Console
Accédez à la page Clusters.
Cliquez sur Créer un cluster.
Choisissez une configuration de cluster. Pour en savoir plus sur la différence entre les configurations disponibilité élevée et les configurations de base, consultez la section Nœuds et instances.
Si vous ne savez pas si votre nouveau cluster a besoin d'instances de pool de lecture, choisissez l'une des configurations sans pool de lecture. Vous pourrez ajouter des instances de pool de lecture au cluster ultérieurement, si nécessaire.
Cliquez sur Continuer.
Dans la section Configurer votre cluster, dans le champ ID du cluster, saisissez un ID pour votre cluster.
Dans le champ Password (Mot de passe), saisissez un mot de passe initial pour le nouveau cluster. AlloyDB attribue le mot de passe fourni à l'utilisateur de la base de données
postgres
lors de la création du cluster.Dans le champ Database version (Version de la base de données), sélectionnez la version majeure de PostgreSQL avec laquelle les serveurs de base de données du cluster doivent être compatibles.
Sélectionnez une région.
Sélectionnez un chemin réseau.
Facultatif: Pour appliquer une plage d'adresses IP spécifique à ce cluster, au lieu d'autoriser AlloyDB à choisir une plage d'adresses IP, procédez comme suit:
Cliquez sur Afficher l'option de plage d'adresses IP allouée.
Dans la liste Plage d'adresses IP allouée, sélectionnez une plage d'adresses IP.
Pour en savoir plus sur cette option, consultez la section Créer un cluster avec une plage d'adresses IP spécifique.
Facultatif: Pour chiffrer ce cluster à l'aide d'une clé de chiffrement gérée par le client (CMEK) au lieu du chiffrement géré par Google, procédez comme suit:
Cliquez sur Options de chiffrement avancées.
Sélectionnez Clé de chiffrement gérée par le client (CMEK).
Dans le menu qui s'affiche, sélectionnez une clé gérée par le client.
La console Google Cloud limite cette liste aux clés du même projet et de la même région Google Cloud que le nouveau cluster. Pour utiliser une clé qui ne figure pas dans cette liste, cliquez sur Vous ne trouvez pas votre clé ? Saisissez un nom de ressource de clé, puis saisissez le nom de la ressource de la clé dans la boîte de dialogue qui s'affiche.
Notez que l'utilisation de CMEK avec AlloyDB nécessite une configuration supplémentaire. Pour en savoir plus, consultez Utiliser CMEK avec AlloyDB.
Cliquez sur Continuer.
Configurez votre instance principale:
- Dans le champ ID d'instance, saisissez un ID pour votre instance principale.
- Sélectionnez un type de machine.
- Facultatif: Définissez des indicateurs personnalisés pour votre instance. Pour chaque indicateur, procédez comme suit :
- Cliquez sur Ajouter une option.
- Dans la liste Nouveau flag de base de données, sélectionnez un flag.
- Indiquez une valeur pour l'indicateur.
- Cliquez sur OK.
Si vous avez choisi un type de cluster sans pools de lecture, cliquez sur Créer un cluster. Sinon, passez directement à l'étape suivante.
Si vous avez choisi un type de cluster avec des pools de lecture, procédez comme suit:
- Cliquez sur Continuer pour ajouter une ou plusieurs instances de pool de lecture.
Pour ajouter une instance de pool de lecture:
Cliquez sur Ajouter un pool de lecture.
Dans le champ ID de l'instance de pool de lecture, saisissez un ID pour l'instance de pool de lecture.
Dans le champ Nombre de nœuds, saisissez un nombre de nœuds.
Le nombre de nœuds dans une instance de pool de lecture détermine la capacité de calcul globale de l'instance.
Sélectionnez un type de machine.
Facultatif: définissez des indicateurs personnalisés sur votre instance. Pour chaque indicateur:
- Cliquez sur Ajouter une option.
- Sélectionnez un indicateur dans la liste Nouveau flag de base de données.
- Indiquez une valeur pour l'indicateur.
- Cliquez sur OK.
Cliquez sur Ajouter un pool de lecture.
Cliquez sur Créer un cluster.
gcloud
Pour utiliser gcloud CLI, vous pouvez installer et initialiser Google Cloud CLI ou utiliser Cloud Shell.
Pour créer le cluster avec l'accès aux services privés ou Private Service Connect activé, utilisez la commande
gcloud alloydb clusters create
.Accès aux services privés
gcloud alloydb clusters create CLUSTER_ID \ --database-version=POSTGRES_VERSION \ --password=PASSWORD \ --region=REGION_ID \ --project=PROJECT_ID \ --network=NETWORK
Private Service Connect
gcloud alloydb clusters create CLUSTER_ID \ --database-version=POSTGRES_VERSION \ --password=PASSWORD \ --region=REGION_ID \ --project=PROJECT_ID \ --enable-private-service-connect
Remplacez les éléments 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.VERSION
: version majeure de PostgreSQL avec laquelle vous souhaitez que les serveurs de base de données du cluster soient compatibles. Choisissez l'une des options suivantes :14
, pour la compatibilité avec PostgreSQL 1415
, pour la compatibilité avec PostgreSQL 15, qui est la version PostgreSQL par défaut prise en charge16
, pour la compatibilité avec PostgreSQL 16
PASSWORD
: mot de passe à utiliser pour l'utilisateurpostgres
par défaut.NETWORK
(facultatif): nom du réseau VPC que vous avez configuré pour l'accès aux services privés à AlloyDB. Si vous omettez l'option--network
, AlloyDB utilise le réseaudefault
.--enable-private-service-connect
(facultatif): défini pour activer Private Service Connect comme méthode de connectivité pour le cluster et ses instances.REGION_ID
: région dans laquelle vous souhaitez placer le cluster.PROJECT_ID
: ID du projet dans lequel vous souhaitez placer le cluster.
Cette commande lance une opération de longue durée et renvoie un ID d'opération.
Facultatif: Pour appliquer une plage d'adresses IP spécifique à ce cluster, au lieu d'autoriser AlloyDB à choisir une plage d'adresses IP, fournissez l'argument suivant:
--allocated-ip-range-name=RANGE
Remplacez
RANGE
par le nom de la plage d'adresses IP que vous souhaitez que ce cluster utilise pour l'accès aux services privés.Pour en savoir plus sur cette option, consultez la section Créer un cluster avec une plage d'adresses IP spécifique.
Facultatif: Pour chiffrer ce cluster à l'aide d'une clé de chiffrement gérée par le client (CMEK) au lieu du chiffrement géré par Google par défaut, fournissez les arguments suivants:
--kms-key=KEY_ID \ --kms-keyring=KEYRING_ID \ --kms-location=LOCATION_ID \ --kms-project=PROJECT_ID
Remplacez les éléments suivants :
KEY_ID
: ID de la clé CMEK à utiliser.KEYRING_ID
: ID du trousseau de clés de la clé.LOCATION_ID
: ID de la région du trousseau, qui doit être identique à celle du cluster.PROJECT_ID
: ID du projet du trousseau de clés.
Vérifiez que l'opération a réussi.
gcloud alloydb operations describe OPERATION_ID \ --region=REGION_ID \ --project=PROJECT_ID
Remplacez
OPERATION_ID
par l'ID d'opération renvoyé à l'étape précédente.
Après avoir créé le cluster principal, vous devez créer une instance principale.
Créer une instance principale
Pour créer une instance principale, utilisez la commande gcloud alloydb
instances create
.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECT_LIST
Remplacez les éléments suivants :
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 souhaités pour l'instance. Les valeurs valides sont les suivantes :2
: 2 vCPU, 16 Go de RAM4
: 4 vCPU, 32 Go de RAM8
: 8 vCPU, 64 Go de RAM16
: 16 vCPU, 128 Go de RAM32
: 32 processeurs virtuels, 256 Go de RAM64
: 64 vCPU, 512 Go de RAM96
: 96 vCPU, 768 Go de RAM128
: 128 vCPU, 864 Go de RAM
REGION_ID
: région dans laquelle vous souhaitez placer l'instance.CLUSTER_ID
: ID du cluster que vous avez créé précédemment.PROJECT_ID
: ID du projet dans lequel le clusterALLOWED_PROJECT_LIST
(facultatif): liste d'ID de projet ou de numéro de projet séparés par une virgule auxquels vous souhaitez autoriser l'accès à l'instance, si vous utilisez Private Service Connect.
Terraform
Pour créer un cluster, utilisez une ressource Terraform.
Voici un extrait de code permettant de créer un cluster basé sur l'exemple Cluster AlloyDB complet:
resource "google_alloydb_cluster" "cluster_abc" {
cluster_id = "alloydb-cluster"
location = "us-central1"
network_config {
network = google_compute_network.default.id
}
database_version = "POSTGRES_15"
initial_user {
user = "postgres"
password = "postgres"
}
continuous_backup_config {
enabled = true
recovery_window_days = 14
}
automated_backup_policy {
location = "us-central1"
backup_window = "1800s"
enabled = true
weekly_schedule {
days_of_week = ["MONDAY"]
start_times {
hours = 23
minutes = 0
seconds = 0
nanos = 0
}
}
quantity_based_retention {
count = 1
}
labels = {
test = "alloydb-cluster-backup-policy-labels"
}
}
labels = {
test = "alloydb-cluster-labels"
}
}
data "google_project" "project" {}
resource "google_compute_network" "default" {
name = "alloydb-cluster-network"
}
Préparer Cloud Shell
Pour appliquer votre configuration Terraform dans un projet Google Cloud, 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.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. - Examinez le fichier
main.tf
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 vous assurer que les mises à jour Terraform correspondent à vos attentes:
Corrigez les modifications de la configuration si nécessaire.terraform plan
- Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant
yes
lorsque vous y êtes invité: Attendez que Terraform affiche le messageterraform apply
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.
Cloner un cluster actif
Pour créer un clone d'un cluster actif, contenant une copie de toutes les données du cluster source et exécuté dans la même région, effectuez une récupération au moment donné sur ce cluster. Vous pouvez spécifier un point temporel très récent, par exemple la première seconde de la minute en cours.
Ce processus ne copie que les données du cluster source dans le clone, et non la configuration du cluster source. Pour chiffrer les données du clone à l'aide de CMEK, vous devez spécifier les détails CMEK dans la commande de récupération au point d'inflexion, même si les données du cluster source sont déjà chiffrées par CMEK. Une fois le nouveau cluster créé, vous devez ajouter des instances, des indicateurs de base de données, des planifications de sauvegarde et toute autre configuration nécessaire pour répondre à vos besoins.
Un cluster créé de cette manière existe indépendamment de sa source, et ses données n'ont aucune relation avec celles du cluster source une fois la duplication initiale terminée. Si vous souhaitez créer des clusters secondaires qui suivent et répliquent automatiquement les modifications apportées aux données dans leurs clusters sources, consultez À propos de la réplication interrégionale.
Créer un cluster avec une plage d'adresses IP spécifique
AlloyDB utilise l'accès aux services privés pour permettre aux ressources internes d'un cluster de communiquer entre elles. Avant de pouvoir créer un cluster, votre réseau cloud privé virtuel (VPC) doit contenir au moins une plage d'adresses IP configurée avec une connexion d'accès aux services privés.
Si votre réseau VPC contient plusieurs plages d'adresses IP configurées avec l'accès aux services privés, vous pouvez spécifier la plage qu'AlloyDB attribue à un nouveau cluster.
Pour spécifier une plage d'adresses IP, consultez les étapes facultatives de la section Créer un cluster.
Si vous ne spécifiez pas de plage, AlloyDB effectue l'une des actions suivantes lors de la création d'un cluster:
Si plusieurs plages d'adresses IP avec accès aux services privés sont disponibles, AlloyDB en choisit une.
Si vous avez configuré exactement une plage d'adresses IP dans votre VPC avec un accès aux services privés, AlloyDB applique cette plage au nouveau cluster.
Pour en savoir plus sur la création de plages d'adresses IP à utiliser avec AlloyDB, consultez la section Activer l'accès aux services privés.