Cette page explique comment créer une instance Cloud SQL pour PostgreSQL.
Pour en savoir plus sur l'ensemble des paramètres d'instance, consultez la page Paramètres des instances.
Une nouvelle instance possède une base de données postgres
.
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Assurez-vous de disposer des rôles d'administrateur Cloud SQL et de lecteur de Compute sur votre compte utilisateur.
En savoir plus sur les rôles et les autorisations
Créer une instance PostgreSQL
Console
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
- Cliquez sur Créer une instance.
- Dans le panneau Choisissez votre moteur de base de données de la page Créer une instance, cliquez sur Choisir PostgreSQL.
- Dans le champ ID d'instance du volet d'informations de l'instance, saisissez un ID pour votre instance.
Vous n'avez pas besoin d'indiquer l'ID du projet. Cet ajout s'effectue automatiquement le cas échéant (par exemple, dans les fichiers journaux).
- Saisissez un mot de passe pour l'utilisateur
postgres
. Facultatif : configurez une règle de mot de passe pour l'instance comme suit :
- Cochez la case Activer les règles sur les mots de passe.
- Cliquez sur le bouton Définir une règle de mot de passe, définissez une ou plusieurs des options suivantes, puis cliquez sur Enregistrer.
- Longueur minimale : spécifie le nombre minimal de caractères que le mot de passe doit contenir.
- Complexité du mot de passe : vérifie si le mot de passe combine des caractères minuscules, majuscules, numériques et non alphanumériques.
- Restreindre la réutilisation des mots de passe : spécifie le nombre de mots de passe précédents que vous ne pouvez pas réutiliser.
- Interdire le nom d'utilisateur : empêche de spécifier le nom d'utilisateur dans le mot de passe.
- Définir un intervalle de changement de mot de passe : spécifie le nombre minimal d'heures après lesquelles vous pouvez modifier le mot de passe.
- Sélectionnez la version de la base de données pour votre instance : PostgreSQL 16, PostgreSQL 15 (par défaut),
PostgreSQL 14, PostgreSQL 13, PostgreSQL 12, PostgreSQL 11, PostgreSQL 10 ou PostgreSQL 9.6.
Une fois l'instance créée, la version de la base de données ne peut plus être modifiée.
- Sélectionnez l'édition Cloud SQL pour votre instance :
Enterprise
ouEnterprise plus
. Pour en savoir plus sur les éditions Cloud SQL, consultez la page Présentation des éditions Cloud SQL. - Dans la section Sélectionner la disponibilité régionale et zonale, sélectionnez la région et la zone de votre instance.
La disponibilité des régions peut être différente en fonction de votre édition Cloud SQL. Pour en savoir plus, consultez la page À propos des paramètres d'instance.
Placez l'instance dans la même région que les ressources qui y accèdent. La région que vous sélectionnez ne peut plus être modifiée. Dans la plupart des cas, il n'est pas nécessaire de spécifier une zone.
Si vous configurez votre instance pour la haute disponibilité, vous pouvez sélectionner à la fois une zone principale et une zone secondaire.
Les conditions suivantes s'appliquent lorsque la zone secondaire est utilisée lors de la création de l'instance :
- Les zones par défaut sont
Any
pour la zone principale etAny (different from primary)
pour la zone secondaire. - Si les zones principale et secondaire sont spécifiées, elles doivent être distinctes l'une de l'autre.
- Les zones par défaut sont
- Dans la section Personnaliser votre instance, mettez à jour les paramètres de votre instance.
Commencez par cliquer sur Afficher les options de configuration pour afficher les groupes de paramètres. Développez ensuite les groupes de votre choix pour examiner et personnaliser les paramètres.
Un résumé de toutes les options sélectionnées s'affiche à droite.
La personnalisation des paramètres de l'instance est facultative. Des valeurs par défaut sont attribuées chaque fois qu'aucune personnalisation n'est effectuée.
Le tableau suivant présente un récapitulatif des paramètres d'instances. Pour en savoir plus sur chaque paramètre, consultez la page Paramètres des instances.
Paramètre Remarques Type de machine Type de machine Sélectionnez l'option "Cœur partagé" ou "Cœur dédié". Avec l'option "Cœur partagé", chaque type de machine est classé selon le nombre de processeurs (cœurs) et la quantité de mémoire de votre instance. Cœurs Nombre de processeurs virtuels de votre instance. En savoir plus Mémoire Quantité de mémoire disponible pour votre instance (en Go). En savoir plus Personnalisée Pour le type de machine à cœur dédié, au lieu de sélectionner une configuration prédéfinie, cliquez sur le bouton Personnalisé pour créer une instance avec une configuration personnalisée. Lorsque vous sélectionnez cette option, vous devez choisir le nombre de cœurs et la quantité de mémoire de votre instance. En savoir plus Stockage Type de stockage Détermine si l'instance utilise un stockage SSD ou HDD. En savoir plus Capacité de stockage Quantité de stockage fournie pour l'instance. En savoir plus Activer l'augmentation automatique de l'espace de stockage Détermine si Cloud SQL fournit automatiquement plus d'espace de stockage pour l'instance lorsque l'espace disponible est presque épuisé. En savoir plus Chiffrement Chiffrement géré par Google Il s'agit de l'option par défaut. Clé de chiffrement gérée par le client (CMEK) Sélectionnez cette option pour utiliser votre clé avec Google Cloud Key Management Service. En savoir plus Connexions Adresse IP privée Ajoute une adresse IP privée pour l'instance. Pour activer la connexion à l'instance, une configuration supplémentaire est requise.
Vous pouvez éventuellement spécifier une plage d'adresses IP allouée pour vos instances à utiliser pour les connexions.- Développez l'option Afficher la plage d'adresses IP allouée.
- Sélectionnez une plage d'adresses IP dans le menu déroulant.
Votre instance peut avoir une adresse IP publique et une adresse IP privée.
Adresse IP publique Ajoute une adresse IP publique pour l'instance. Vous pouvez ensuite ajouter des réseaux autorisés pour vous connecter à l'instance. Votre instance peut avoir une adresse IP publique et une adresse IP privée.
Réseaux autorisés Ajoutez le nom du nouveau réseau et son adresse. En savoir plus Chemin d'accès privé pour les services Google Cloud En cochant cette case, vous autorisez d'autres services Google Cloud, tels que BigQuery, à accéder aux données dans Cloud SQL et à effectuer des requêtes sur ces données via une connexion privée.
Protection des données Automatiser les sauvegardes Période durant laquelle vous souhaitez que les sauvegardes commencent. En savoir plus Choisissez l'emplacement de stockage de vos sauvegardes Sélectionnez l'emplacement multirégional pour la plupart des cas d'utilisation. Si vous devez stocker des sauvegardes dans une région spécifique, pour des raisons réglementaires par exemple, cliquez sur "Région" et sélectionnez votre région dans le menu déroulant "Emplacement". Choisissez le nombre de sauvegardes automatiques à stocker Nombre de sauvegardes automatiques que vous souhaitez conserver (de 1 à 365 jours). En savoir plus Activer la récupération à un moment précis Permet la récupération à un moment précis et la journalisation préalable (write-ahead logging). En savoir plus Activer la protection contre la suppression Détermine s'il faut protéger une instance contre toute suppression accidentelle. En savoir plus Choisir le nombre de jours de journaux à conserver Définit la durée de conservation des journaux WAL (write-ahead log) entre un et sept jours. La valeur par défaut est de sept jours. En savoir plus Maintenance Intervalle souhaité Détermine un intervalle d'une heure pendant lequel Cloud SQL peut effectuer des opérations de maintenance entraînant des perturbations sur l'instance. Si vous ne le définissez pas, la maintenance peut être réalisée à tout moment. En savoir plus Ordre des mises à jour Période privilégiée pour les mises à jour de l'instance, par rapport aux autres instances du même projet. En savoir plus Flags Ajouter un indicateur Les indicateurs de base de données permettent de contrôler les réglages et les paramètres de l'instance. En savoir plus Libellés AJOUTER UNE ÉTIQUETTE Ajoutez une clé et une valeur pour chaque libellé que vous ajoutez. Les libellés vous servent à organiser vos instances. Cache de données Activer le cache de données (facultatif) Active le cache de données pour les instances Cloud SQL pour PostgreSQL Enterprise Plus. Pour en savoir plus sur le cache de données, consultez la section Cache de données. -
Cliquez sur Créer une instance.
Remarque : La création de l'instance peut prendre quelques minutes. Cependant, vous pouvez afficher des informations sur l'instance pendant sa création.
Pour afficher le mot de passe en texte clair, cliquez sur l'icône Afficher le mot de passe.
Vous pouvez saisir le mot de passe manuellement ou cliquer sur Générer pour que Cloud SQL en crée un automatiquement.
gcloud
Pour en savoir plus sur l'installation et le démarrage avec gcloud, consultez la page Installer gcloud CLI. Pour en savoir plus sur le démarrage de Cloud Shell, consultez la documentation Cloud Shell.
- Utilisez la commande
gcloud sql instances create
pour créer l'instance :
Pour les instances Cloud SQL Enterprise Plus :gcloud sql instances create INSTANCE_NAME \ --database-version=POSTGRES_15 \ --region=REGION \ --zone=ZONE \ --tier=TIER \ --edition=ENTERPRISE_PLUS
Pour les instances Cloud SQL Enterprise :gcloud sql instances create INSTANCE_NAME \ --database-version=POSTGRES_15 \ --region=REGION \ --zone=ZONE \ --cpu=NUMBER_CPUS \ --memory=MEMORY_SIZE \ --edition=ENTERPRISE
Vous pouvez également utiliser l'option--tier
si vous choisissez le type de machine db-f1-micro ou db-g1-small :gcloud sql instances create INSTANCE_NAME \ --tier=API_TIER_STRING \ --region=REGION
Les valeurs relatives au nombre de processeurs virtuels et à la taille de la mémoire sont soumises à des restrictions :
- Le nombre de processeurs virtuels doit correspondre à 1 ou à un nombre pair compris entre 2 et 96.
- La taille de la mémoire doit répondre aux critères suivants :
- La mémoire doit être comprise entre 0,9 Go et 6,5 Go par processeur virtuel.
- La taille de la mémoire doit être un multiple de 256 Mo.
- La taille de la mémoire ne doit pas être inférieure à 3,75 Go (3 840 Mo).
Par exemple, la chaîne suivante crée une instance de l'édition Cloud SQL Enterprise avec deux processeurs virtuels et 7 680 Mo de mémoire :
gcloud sql instances create myinstance \ --database-version=POSTGRES_15 \ --cpu=2 \ --memory=7680MB \ --region=us-central1
La chaîne suivante crée une instance Cloud SQL Enterprise avec quatre cœurs :
gcloud sql instances create myinstance \ --database-version=POSTGRES_15 \ --tier=db-perf-optimized-N-4 \ --edition=ENTERPRISE_PLUS \ --region=us-central1
Pour en savoir plus sur le dimensionnement de--cpu
et--memory
, consultez la section Configuration d'instances personnalisées.La valeur par défaut de REGION est
us-central1
.N'incluez pas d'informations sensibles ou personnelles dans le nom de l'instance, car les utilisateurs externes peuvent le voir.
Vous n'avez pas besoin d'indiquer l'ID du projet dans le nom de l'instance. Cet ajout s'effectue automatiquement le cas échéant (par exemple, dans les fichiers journaux).Si vous créez une instance pour la haute disponibilité, vous pouvez spécifier les zones principale et la zone secondaire à l'aide des paramètres
--zone
et--secondary-zone
. Les conditions suivantes s'appliquent lorsque la zone secondaire est utilisée lors de la création ou de la modification de l'instance :- Les zones doivent être valides.
- Si la zone secondaire est spécifiée, la zone principale doit également être spécifiée.
- Si les zones principale et secondaire sont spécifiées, elles doivent être distinctes l'une de l'autre.
- Si les zones principale et secondaire sont spécifiées, elles doivent appartenir à la même région.
Vous pouvez ajouter plus de réglages pour définir d'autres paramètres d'instance :
Paramètre Réglage Remarques Réglages obligatoires Version de la base de données --database-version
La version de la base de données, qui est basée sur votre édition Cloud SQL. Région --region
Consultez les valeurs valides. Définir une règle de mot de passe Activer la règle sur les mots de passe --enable-password-policy
Active la stratégie de mot de passe lorsqu'utilisé. Par défaut, les règles sur les mots de passe sont désactivées. Lorsqu'elles sont désactivées à l'aide du paramètre --clear-password-policy
, les autres paramètres de règles sur les mots de passe sont réinitialisés.Longueur minimale --password-policy-min-length
Indique le nombre minimal de caractères que le mot de passe doit contenir. Complexité du mot de passe --password-policy-complexity
Permet à la vérification du niveau de complexité du mot de passe de s'assurer que le mot de passe contient chacun des types de caractères suivants : minuscules, majuscules, numériques et non alphanumériques. Définissez la valeur sur COMPLEXITY_DEFAULT
.Restreindre la réutilisation des mots de passe --password-policy-reuse-interval
Indique le nombre de mots de passe précédents que vous ne pouvez pas réutiliser. Interdire le nom d'utilisateur --password-policy-disallow-username-substring
Empêche l'utilisation du nom d'utilisateur dans le mot de passe. Utilisez le paramètre --no-password-policy-disallow-username-substring
pour désactiver la vérification.Définir un intervalle de modification des mots de passe --password-policy-password-change-interval
Spécifie la durée minimale après laquelle vous pouvez modifier le mot de passe, par exemple 2m pour 2 minutes. Connectivité Adresse IP privée --network
--no-assign-ip
(facultatif)--allocated-ip-range-name
(facultatif)--enable-google-private-path
(facultatif)--network
: Spécifie le nom du réseau VPC que vous souhaitez utiliser pour cette instance. L'accès aux services privés doit déjà être configuré pour le réseau. Disponible uniquement avec la commande bêta (gcloud beta sql instances create
).--no-assign-ip
: l'instance ne dispose que d'une adresse IP privée.--allocated-ip-range-name
: si spécifié, définit un nom de plage pour lequel une plage d'adresses IP est allouée. Par exemple,google-managed-services-default
. Le nom de la plage doit respecter la normeRFC-1035
et comporter entre 1 et 63 caractères. (gcloud alpha sql instances create
).--enable-google-private-path
: si vous utilisez ce paramètre, vous autorisez d'autres services Google Cloud, tels que BigQuery, à accéder aux données dans Cloud SQL et à effectuer des requêtes sur ces données via une connexion privée.Ce paramètre n'est valide que dans les cas suivants :
- Vous utilisez le paramètre
--no-assign-ip
. - Vous utilisez le paramètre
--network
pour spécifier le nom du réseau VPC que vous souhaitez utiliser pour créer une connexion privée.
En savoir plus sur la configuration d'une adresse IP privée
Adresse IP publique --authorized-networks
Pour les connexions IP publiques, seules des connexions à partir de réseaux autorisés peuvent être établies avec l'instance. En savoir plus Utilisation du protocole SSL --ssl-mode
--require-ssl
Le paramètre
ssl-mode
applique l'application SSL/TLS pour les connexions. Pour en savoir plus, consultez la page Paramètres pour Cloud SQL pour PostgreSQL.Le paramètre
require-ssl
détermine si les connexions SSL sur IP sont appliquées ou non.require-ssl
est un ancien paramètre. Utilisez plutôtssl-mode
. Pour en savoir plus, consultez la section IpConfiguration.Type de machine et stockage Machine type (Type de machine) --tier
Permet de spécifier une instance à cœur partagé ( db-f1-micro
oudb-g1-small
). Pour mettre en œuvre une configuration d'instance personnalisée, utilisez plutôt les paramètres--cpu
ou--memory
. Consultez la section Configuration d'instances personnalisées.Type de stockage --storage-type
Détermine si l'instance utilise un stockage SSD ou HDD. En savoir plus Capacité de stockage --storage-size
Quantité de stockage fournie pour l'instance, en Go. En savoir plus Augmentation automatique de l'espace de stockage --storage-auto-increase
Détermine si Cloud SQL fournit automatiquement plus d'espace de stockage pour l'instance lorsque l'espace disponible est presque épuisé. En savoir plus Limite de l'augmentation automatique de l'espace de stockage --storage-auto-increase-limit
Détermine dans quelle limite Cloud SQL peut automatiquement augmenter l'espace de stockage. Disponible uniquement avec la commande bêta ( gcloud beta sql instances create
). En savoir plusCache de données (facultatif) --enable-data-cache
Active ou désactive le cache de données pour les instances. Pour en savoir plus, consultez la section Cache de données. Sauvegardes automatiques et haute disponibilité Haute disponibilité --availability-type
Pour une instance à disponibilité élevée, définissez ce paramètre sur REGIONAL
. En savoir plusZone secondaire --secondary-zone
Si vous créez une instance pour la haute disponibilité, vous pouvez spécifier la zone principale et la zone secondaire à l'aide de --zone
et de--secondary-zone parameters
. Les restrictions suivantes s'appliquent lorsque la zone secondaire est utilisée lors de la création ou de la modification de l'instance :- Les zones doivent être valides.
- Si la zone secondaire est spécifiée, la zone principale doit également être spécifiée.
Si les zones principale et secondaire sont spécifiées, elles doivent être distinctes l'une de l'autre.
Si les zones principale et secondaire sont spécifiées, elles doivent appartenir à la même région.
Sauvegardes automatiques --backup-start-time
Période durant laquelle vous souhaitez que les sauvegardes commencent. En savoir plus Paramètres de conservation des sauvegardes automatiques --retained-backups-count
Nombre de sauvegardes automatiques à conserver. En savoir plus Récupération à un moment précis --enable-point-in-time recovery
Permet la récupération à un moment précis et la journalisation préalable (write-ahead logging). En savoir plus Paramètres de conservation pour la journalisation binaire --retained-transaction-log-days
Nombre de jours pendant lesquels les journaux WAL (write-ahead log) doivent être conservés pour la récupération à un moment précis. En savoir plus Ajouter des indicateurs de base de données Indicateurs de base de données --database-flags
Les indicateurs de base de données permettent de contrôler les réglages et les paramètres de l'instance. En savoir plus sur les indicateurs de base de données Calendrier de maintenance Intervalle de maintenance --maintenance-window-day
,--maintenance-window-hour
Détermine un intervalle d'une heure pendant lequel Cloud SQL peut effectuer des opérations de maintenance entraînant des perturbations sur l'instance. Si vous ne le définissez pas, la maintenance peut être réalisée à tout moment. En savoir plus. Planification des maintenances --maintenance-release-channel
Période privilégiée pour les mises à jour de l'instance, par rapport aux autres instances du même projet. Utilisez preview
pour les mises à jour précédentes etproduction
pour les mises à jour ultérieures. En savoir plusIntégration à Vertex AI --enable-google-ml-integration
Permet aux instances Cloud SQL de se connecter à Vertex AI pour transmettre des requêtes de prédictions en temps réel et des insights à l'IA. --database-flags cloudsql.enable_google_ml_integration=on
En activant cette option, Cloud SQL peut s'intégrer à Vertex AI. - Notez l'adresse IP attribuée automatiquement.
Si vous ne vous servez pas du proxy d'authentification Cloud SQL, les applications ou les outils l'utiliseront comme adresse hôte pour se connecter à l'instance.
- Définissez le mot de passe de l'utilisateur
postgres
:gcloud sql users set-password postgres \ --instance=INSTANCE_NAME \ --password=PASSWORD
Terraform
Pour créer une instance, utilisez une ressource Terraform.
Appliquer les modifications
Pour appliquer votre configuration Terraform dans un projet Google Cloud, suivez les procédures des sections suivantes.
Préparer Cloud Shell
- 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 du fichier doit comporter l'extension
.tf
, par exemplemain.tf
. Dans ce tutoriel, le fichier est appelémain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.
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 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.
terraform init
Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option
-upgrade
:terraform init -upgrade
Appliquer les modifications
-
Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
terraform plan
Corrigez les modifications de la configuration si nécessaire.
-
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 completed!" (Application terminée).
- 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.
Supprimer les modifications
Pour supprimer vos modifications, procédez comme suit :
- Pour désactiver la protection contre la suppression, définissez l'argument
deletion_protection
surfalse
dans le fichier de configuration Terraform.deletion_protection = "false"
- Appliquez la configuration Terraform mise à jour en exécutant la commande suivante et en saisissant
yes
lorsque vous y êtes invité :terraform apply
-
Supprimez les ressources précédemment appliquées à votre configuration Terraform en exécutant la commande suivante et en saisissant
yes
à la requête :terraform destroy
REST v1
Créer l'instance
Cet exemple crée une instance. Certains paramètres facultatifs, tels que les sauvegardes et la journalisation binaire, sont également inclus. Pour obtenir la liste complète des paramètres de cet appel, consultez la page instances:insert. Pour en savoir plus sur les paramètres des instances, y compris sur les valeurs valides pour la région, consultez la page Paramètres des instances.
N'incluez pas d'informations sensibles ou personnelles dans l'ID d'instance, car les utilisateurs externes peuvent le voir.
Vous n'avez pas besoin d'indiquer l'ID du projet dans le nom de l'instance. Cet ajout s'effectue automatiquement le cas échéant (par exemple, dans les fichiers journaux).
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- INSTANCE_ID : Votre ID d'instance
- REGION : région
- DATABASE_VERSION : chaîne d'énumération de la version de base de données (par exemple,
POSTGRES_15
). - PASSWORD : mot de passe de l'utilisateur racine.
- MACHINE_TYPE : chaîne d'énumération du type (niveau) de machine, comme suit :
db-custom-[CPUS]-[MEMORY_MBS]
. EDITION_TYPE : votre édition Cloud SQL
- DATA_CACHE_ENABLED (facultatif) : défini sur
true
pour activer le cache de données pour votre instance. - PRIVATE_NETWORK : spécifiez le nom du réseau cloud privé virtuel (VPC) que vous souhaitez utiliser pour cette instance. L'accès aux services privés doit déjà être configuré pour le réseau.
- AUTHORIZED_NETWORKS : pour les connexions IP publiques, spécifiez les connexions à partir de réseaux autorisés pouvant vous connecter à l'instance.
Pour définir une règle sur les mots de passe lors de la création d'une instance, incluez l'objet passwordValidationPolicy dans la requête. Définissez les paramètres suivants, si nécessaire :
enablePasswordPolicy
: active la règle de mot de passe lorsqu'elle est définie surtrue
.Pour supprimer la règle de mot de passe, vous pouvez utiliser une requête
PATCH
avecnull
comme valeur pourenablePasswordPolicy
. Dans ce cas, les autres paramètres des règles sur les mots de passe sont réinitialisés.minLength
: spécifie le nombre minimal de caractères que le mot de passe doit contenir.complexity
: vérifie si le mot de passe est une combinaison de caractères minuscules, majuscules, numériques et non alphanumériques. La valeur par défaut estCOMPLEXITY_DEFAULT
.reuseInterval
: indique le nombre de mots de passe précédents que vous ne pouvez pas réutiliser.disallowUsernameSubstring
: empêche l'utilisation du nom d'utilisateur dans le mot de passe lorsqu'il est défini surtrue
.passwordChangeInterval
: spécifie la durée minimale après laquelle vous pouvez modifier le mot de passe. La valeur est exprimée en secondes avec un maximum de neuf chiffres après la virgule et se termine pars
. Exemple :3.5s
Pour créer l'instance afin qu'elle puisse s'intégrer à Vertex AI, incluez l'objet enableGoogleMlIntegration dans la requête. Cette intégration vous permet d'appliquer de grands modèles de langage (LLM), hébergés dans Vertex AI, à une base de données Cloud SQL pour PostgreSQL.
Définissez les paramètres suivants, si nécessaire :
enableGoogleMlIntegration
: lorsque ce paramètre est défini surtrue
, les instances Cloud SQL peuvent se connecter à Vertex AI pour transmettre des requêtes de prédictions en temps réel et des insights à l'IA.cloudsql.enable_google_ml_integration
: lorsque ce paramètre est défini suron
, Cloud SQL peut s'intégrer à Vertex AI.
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Corps JSON de la requête :
{ "name": "INSTANCE_ID", "region": "REGION", "databaseVersion": "DATABASE_VERSION", "rootPassword": "PASSWORD", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "enableGoogleMlIntegration": "true" | "false" "databaseFlags": [ { "name": "cloudsql.enable_google_ml_integration", "value": "on" | "off" } ] "dataCacheConfig" = { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL" } "ipConfiguration": { "privateNetwork": "PRIVATE_NETWORK", "authorizedNetworks": [AUTHORIZED_NETWORKS], "ipv4Enabled": false, "enablePrivatePathForGoogleCloudServices": true } } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2019-09-25T22:19:33.735Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
La réponse est une opération de longue durée qui peut prendre quelques minutes.
Récupérer l'adresse IPv4
Récupérez l'adresse IPv4 attribuée automatiquement pour la nouvelle instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID de votre projet.
- instance-id : ID de l'instance créée à l'étape précédente
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0_18", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "us-west1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "18:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "1", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "us-west1", "gceZone": "us-west1-a" }
Recherchez le champ ipAddress
dans la réponse.
REST v1beta4
Créer l'instance
Cet exemple crée une instance. Certains paramètres facultatifs, tels que les sauvegardes et la journalisation binaire, sont également inclus. Pour obtenir la liste complète des paramètres de cet appel, consultez la page instances:insert. Pour en savoir plus sur les paramètres des instances, y compris sur les valeurs valides pour la région, consultez la page Paramètres des instances.
N'incluez pas d'informations sensibles ou personnelles dans l'ID d'instance, car les utilisateurs externes peuvent le voir.
Vous n'avez pas besoin d'indiquer l'ID du projet dans le nom de l'instance. Cet ajout s'effectue automatiquement le cas échéant (par exemple, dans les fichiers journaux).
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- INSTANCE_ID : Votre ID d'instance
- REGION : région
- DATABASE_VERSION : chaîne d'énumération de la version de base de données (par exemple,
POSTGRES_15
). - PASSWORD : mot de passe de l'utilisateur racine.
- MACHINE_TYPE : chaîne d'énumération du type (niveau) de machine, comme suit :
db-custom-[CPUS]-[MEMORY_MBS]
. EDITION_TYPE : votre édition Cloud SQL
- DATA_CACHE_ENABLED (facultatif) : défini sur
true
pour activer le cache de données pour votre instance.
Pour définir une règle sur les mots de passe lors de la création d'une instance, incluez l'objet passwordValidationPolicy dans la requête. Définissez les paramètres suivants, si nécessaire :
enablePasswordPolicy
: active la règle de mot de passe lorsqu'elle est définie surtrue
.Pour supprimer la règle de mot de passe, vous pouvez utiliser une requête
PATCH
avecnull
comme valeur pourenablePasswordPolicy
. Dans ce cas, les autres paramètres des règles sur les mots de passe sont réinitialisés.minLength
: spécifie le nombre minimal de caractères que le mot de passe doit contenir.complexity
: vérifie si le mot de passe est une combinaison de caractères minuscules, majuscules, numériques et non alphanumériques. La valeur par défaut estCOMPLEXITY_DEFAULT
.reuseInterval
: indique le nombre de mots de passe précédents que vous ne pouvez pas réutiliser.disallowUsernameSubstring
: empêche l'utilisation du nom d'utilisateur dans le mot de passe lorsqu'il est défini surtrue
.passwordChangeInterval
: spécifie la durée minimale après laquelle vous pouvez modifier le mot de passe. La valeur est exprimée en secondes avec un maximum de neuf chiffres après la virgule et se termine pars
. Exemple :3.5s
Pour créer l'instance afin qu'elle puisse s'intégrer à Vertex AI, incluez l'objet enableGoogleMlIntegration dans la requête. Cette intégration vous permet d'appliquer de grands modèles de langage (LLM), hébergés dans Vertex AI, à une base de données Cloud SQL pour PostgreSQL.
Définissez les paramètres suivants, si nécessaire :
enableGoogleMlIntegration
: lorsque ce paramètre est défini surtrue
, les instances Cloud SQL peuvent se connecter à Vertex AI pour transmettre des requêtes de prédictions en temps réel et des insights à l'IA.cloudsql.enable_google_ml_integration
: lorsque ce paramètre est défini suron
, Cloud SQL peut s'intégrer à Vertex AI.
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Corps JSON de la requête :
{ "name": "INSTANCE_ID", "region": "REGION", "databaseVersion": "DATABASE_VERSION", "rootPassword": "PASSWORD", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "enableGoogleMlIntegration": "true" | "false" "databaseFlags": [ { "name": "cloudsql.enable_google_ml_integration", "value": "on" | "off" } ] "dataCacheConfig" = { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL" } } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-01T19:13:21.834Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
La réponse est une opération de longue durée qui peut prendre quelques minutes.
Récupérer l'adresse IPv4
Récupérez l'adresse IPv4 attribuée automatiquement pour la nouvelle instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID de votre projet.
- instance-id : ID de l'instance créée à l'étape précédente
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0_18", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "us-west1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "18:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "1", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "us-west1", "gceZone": "us-west1-a" }
Recherchez le champ ipAddress
dans la réponse.
Configurations d'instances personnalisées
Détermine la mémoire et les cœurs virtuels disponibles pour votre instance Cloud SQL. La disponibilité des types de machines dépend de votre édition Cloud SQL.
Pour les charges de travail nécessitant un traitement en temps réel, comme le traitement des transactions en ligne (OLTP), assurez-vous que votre instance dispose de suffisamment de mémoire pour contenir l'ensemble de travail complet. Toutefois, d'autres facteurs peuvent avoir une incidence sur l'utilisation de la mémoire, tels que le nombre de connexions actives et les processus internes. Nous vous conseillons d'effectuer des tests de charge pour éviter les problèmes de performances dans votre environnement de production.
Lorsque vous configurez votre instance, sélectionnez suffisamment de mémoire et de processeurs virtuels pour gérer votre charge de travail, et effectuez une mise à niveau à mesure que celle-ci augmente. Une configuration de machine disposant d'un nombre insuffisant de processeurs virtuels risque de ne plus être couverte par son contrat de niveau de service. Pour en savoir plus, consultez la section Consignes opérationnelles.
Types de machines pour les instances Cloud SQL Enterprise Plus
Pour les instances Cloud SQL Enterprise Plus, les types de machines sont prédéfinis comme suit :
Type de machine Enterprise Plus | vCPUs | Mémoire (Go) | SSD local |
---|---|---|---|
db-perf-optimized-N-2 | 2 | 16 | 375 |
db-perf-optimized-N-4 | 4 | 32 | 375 |
db-perf-optimized-N-8 | 8 | 64 | 375 |
db-perf-optimized-N-16 | 16 | 128 | 750 |
db-perf-optimized-N-32 | 32 | 256 | 1500 |
db-perf-optimized-N-48 | 48 | 384 | 3000 |
db-perf-optimized-N-64 | 64 | 512 | 6000 |
db-perf-optimized-N-80 | 80 | 640 | 6000 |
db-perf-optimized-N-96 | 96 | 768 | 6000 |
db-perf-optimized-N-128 | 128 | 864 | 9000 |
Types de machines pour les instances Cloud SQL Enterprise
Pour les instances Cloud SQL Enterprise, vous pouvez également créer des configurations d'instances personnalisées à l'aide de la commande gcloud sql
instances create
.
Les configurations d'instances flexibles vous permettent d'allouer à votre instance la quantité de mémoire et le nombre de processeurs dont elle a besoin. Cette flexibilité vous permet également de choisir la forme de VM adaptée à votre charge de travail.
Les noms de types de machines utilisent le format suivant :
db-custom-#-#
Remplacez le premier espace réservé # par le nombre de processeurs dans la machine, et le deuxième espace réservé # par la quantité de mémoire sur la machine.
Par exemple, si le nom de votre machine est db-custom
et que votre machine dispose d'un processeur et de 3 840 Mo de RAM, le format de la machine est db-custom-1-3840
.
Lorsque vous sélectionnez le nombre de processeurs et la quantité de mémoire, certaines restrictions s'appliquent à la configuration que vous choisissez :
- Le nombre de processeurs virtuels doit correspondre à 1 ou à un nombre pair compris entre 2 et 96.
- La taille de la mémoire doit répondre aux critères suivants :
- La mémoire doit être comprise entre 0,9 Go et 6,5 Go par processeur virtuel.
- La taille de la mémoire doit être un multiple de 256 Mo.
- La taille de la mémoire ne doit pas être inférieure à 3,75 Go (3 840 Mo).
Le tableau suivant répertorie les noms de chaque ancien type de machine, le nombre de processeurs et la mémoire RAM pour chaque type de machine, ainsi que la chaîne résultante pour le type de machine.
Vous pouvez créer le type de machine équivalent en spécifiant le processeur et la RAM équivalents dans Google Cloud Console, en utilisant gcloud CLI ou en spécifiant db-custom-#-#
dans l'API.
Ancien type de machine | vCPUs | Mémoire (Mo) | Chaîne db-custom-CPU-RAM (chaîne de couche d'API) |
---|---|---|---|
db-n1-standard-1 | 1 | 3 840 | db-custom-1-3840 |
db-n1-standard-2 | 2 | 7 680 | db-custom-2-7680 |
db-n1-standard-4 | 4 | 15 360 | db-custom-4-15360 |
db-n1-standard-8 | 8 | 30 720 | db-custom-8-30720 |
db-n1-standard-16 | 16 | 61 440 | db-custom-16-61440 |
db-n1-standard-32 | 32 | 122 880 | db-custom-32-122880 |
db-n1-standard-64 | 64 | 245 760 | db-custom-64-245760 |
db-n1-standard-96 | 96 | 368640 | db-custom-96-368640 |
db-n1-highmem-2 | 2 | 13 312 | db-custom-2-13312 |
db-n1-highmem-4 | 4 | 26 624 | db-custom-4-26624 |
db-n1-highmem-8 | 8 | 53 248 | db-custom-8-53248 |
db-n1-highmem-16 | 16 | 106 496 | db-custom-16-106496 |
db-n1-highmem-32 | 32 | 212 992 | db-custom-32-212992 |
db-n1-highmem-64 | 64 | 425 984 | db-custom-64-425984 |
db-n1-highmem-96 | 96 | 638976 | db-custom-96-638976 |
Résoudre les problèmes
Problème | Dépannage |
---|---|
Message d'erreur : Failed to create subnetwork. Couldn't
find free blocks in allocated IP ranges. Please allocate new ranges for
this service provider . |
Il n'y a plus d'adresses disponibles dans la plage d'adresses IP allouée. Plusieurs scénarios sont possibles :
Pour résoudre ce problème, vous pouvez étendre la plage d'adresses IP allouée existante ou allouer une plage d'adresses IP supplémentaire à la connexion de service privée. Pour plus d'informations, consultez la section Allouer une plage d'adresses IP. Si vous avez utilisé l'option Si vous allouez une nouvelle plage, assurez-vous que l'allocation ne chevauche aucune allocation existante. Après avoir créé une nouvelle plage d'adresses IP, mettez à jour l'appairage de VPC à l'aide de la commande suivante : gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID \ --force Si vous développez une allocation existante, veillez à effectuer uniquement une opération d'augmentation de la plage d'allocation et non à la réduire. Par exemple, si l'allocation d'origine était 10.0.10.0/24, la nouvelle allocation doit être définie au mininmum sur 10.0.10.0/23. En règle générale, si vous commencez par utiliser une allocation /24, il est conseillé de réduire le /masque d'une unité pour chaque condition (groupe de type d'instances supplémentaire, région supplémentaire). Par exemple, si vous essayez de créer les deux groupes de types d'instances sur la même allocation, passer de /24 à /23 est suffisant. Après avoir étendu une plage d'adresses IP existante, mettez à jour l'appairage de VPC à l'aide de la commande suivante : gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID |
Message d'erreur : Failed to create subnetwork. Router status is
temporarily unavailable. Please try again later. Help Token:
[token-ID] . |
Essayez de créer à nouveau l'instance Cloud SQL. |
Message d'erreur : Failed to create subnetwork. Required
'compute.projects.get' permission for PROJECT_ID . |
Lorsque vous créez une instance à l'aide d'une adresse IP privée, un compte de service est créé avec le juste-à-temps à l'aide de l'API Service Networking. Si vous avez activé l'API Service Networking récemment, le compte de service peut ne pas être créé et la création de l'instance échoue. Dans ce cas, vous devez attendre que le compte de service se propage dans le système ou l'ajouter manuellement avec les autorisations requises. |
Étapes suivantes
- Créez une base de données PostgreSQL sur l'instance.
- Créez des utilisateurs PostgreSQL sur l'instance.
- Sécurisez et contrôlez l'accès à l'instance.
- Connectez-vous à l'instance avec un client PostgreSQL.
- Importez des données dans la base de données.