Cette page explique comment créer une instance Cloud SQL pour MySQL.
Pour en savoir plus sur l'ensemble des paramètres d'instance, consultez la page Paramètres des instances.
Une nouvelle instance possède quatre bases de données système :
information_schema
: fournit un accès aux métadonnées de la base de données ainsi que des informations sur le serveur MySQL.mysql
: schéma système. Il contient des tables qui stockent les informations requises par le serveur MySQL lors de son exécution.performance_schema
: fonctionnalité permettant de surveiller l'exécution du serveur MySQL à un niveau inférieur.sys
: contient un ensemble d'objets qui aide les administrateurs de bases de données et les développeurs à interpréter les données collectées par le schéma de performances.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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 MySQL
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 MySQL.
- 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. qui sera ajouté automatiquement le cas échéant (par exemple, dans les fichiers journaux).
- Définissez un mot de passe pour l'utilisateur racine.
Vous avez la possibilité de définir l'option Aucun mot de passe, mais cela n'est pas recommandé pour des raisons de sécurité.
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.
Uniquement compatible avec Cloud SQL pour MySQL 8.0 et versions ultérieures.
- Interdire le nom d'utilisateur : empêche de spécifier le nom d'utilisateur dans le mot de passe.
- Sélectionnez la version de base de données de votre instance : MySQL 8.4, MySQL 8.0 (par défaut), MySQL 5.7 ou MySQL 5.6.
- Facultatif : Sélectionnez Afficher les versions mineures. Sélectionnez ensuite une version mineure autre que la version mineure par défaut.
- 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 UN LIBELLÉ 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 MySQL 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.
Une fois l'instance créée, la version de la base de données ne peut plus être modifiée.
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 : - 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).
- 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 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. - Les zones doivent être valides.
- Si la zone secondaire est spécifiée, la zone principale doit également être spécifiée.
- 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 MySQL "root@%" :
gcloud sql users set-password root \ --host=% \ --instance INSTANCE_NAME \ --password PASSWORD
Pour les instances Cloud SQL Enterprise Plus :
gcloud sql instances create INSTANCE_NAME \ --region=REGION \ --tier=TIER \ --database-version=DATABASE_VERSION \ --edition=ENTERPRISE_PLUS
Pour les instances Cloud SQL Enterprise :
gcloud sql instances create INSTANCE_NAME \ --cpu=NUMBER_CPUS \ --memory=MEMORY_SIZE \ --region=REGION
--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 :
Par exemple, la commande 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=MYSQL_8_0 \ --cpu=2 \ --memory=7680MB \ --region=us-central1
La commande suivante crée une instance Cloud SQL Enterprise Plus avec quatre cœurs :
gcloud sql instances create myinstance \ --database-version=MYSQL_8_0_31 \ --tier=db-perf-optimized-N-4 \ --edition=ENTERPRISE_PLUS \ --region=us-central1
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 :
Vous pouvez ajouter plus de réglages pour définir d'autres paramètres d'instance :
Paramètre | Paramètre | 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. Uniquement compatible avec Cloud SQL pour MySQL 8.0 et versions ultérieures. |
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. |
Connectivité | ||
Adresse IP privée | --network
|
--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 ).
Ce paramètre n'est valide que dans les cas suivants : 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 |
|
Le paramètre Le paramètre |
Type de machine et stockage | ||
Type de machine | --tier |
Permet de spécifier une instance à cœur partagé (db-f1-micro ou db-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 plus
|
Cache 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 plus |
Zone 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 :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 |
Journalisation binaire | --enable-bin-log |
La journalisation binaire permet la réplication et la récupération à un moment précis. En savoir plus |
Paramètres de conservation pour la journalisation binaire | --retained-transaction-log-days |
Nombre de jours pendant lesquels les journaux binaires 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. Apprenez-en plus sur les indicateurs de base de données. En savoir plus sur le formatage de ce paramètre. |
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 et production pour les mises à jour ultérieures.
En savoir plus
|
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
- DATABASE_VERSION : version de la base de données.
Par exemple,
MYSQL_8_4
ouMYSQL_8_0_37
. Si vous ne spécifiez pas de version de base de données, la version par défaut estMYSQL_8_0
. - REGION : région
- MACHINE_TYPE : votre type de machine
- 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.Uniquement compatible avec Cloud SQL pour MySQL 8.0 et versions ultérieures.
disallowUsernameSubstring
: empêche l'utilisation du nom d'utilisateur dans le mot de passe lorsqu'il est défini surtrue
.
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", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "dataCacheConfig" = { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "binaryLogEnabled": true, "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", } "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.
Mettre à jour le mot de passe racine
Une fois l'initialisation de l'instance terminée, mettez à jour le mot de passe racine :
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
- root-password : mot de passe racine souhaité
Méthode HTTP et URL :
PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?host=%25&name=root
Corps JSON de la requête :
{ "name": "root", "host": "%", "password": "root-password" }
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": "DONE", "user": "user@example.com", "insertTime": "2019-09-26T14:32:30.592Z", "startTime": "2019-09-26T14:32:30.594Z", "endTime": "2019-09-26T14:32:33.518Z", "operationType": "UPDATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id", "targetProject": "project-id" }
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
- DATABASE_VERSION : version de la base de données.
Par exemple,
MYSQL_8_4
ouMYSQL_8_0_37
. Si vous ne spécifiez pas de version de base de données, la version par défaut estMYSQL_8_0
. - REGION : région
- MACHINE_TYPE : votre type de machine
- 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.Uniquement compatible avec Cloud SQL pour MySQL 8.0 et versions ultérieures.
disallowUsernameSubstring
: empêche l'utilisation du nom d'utilisateur dans le mot de passe lorsqu'il est défini surtrue
.
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", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "dataCacheConfig" { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "binaryLogEnabled": true, "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", } } }
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": "2019-09-25T22:19:33.735Z", "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.
Mettre à jour le mot de passe racine
Une fois l'initialisation de l'instance terminée, mettez à jour le mot de passe racine :
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
- root-password : mot de passe racine souhaité
Méthode HTTP et URL :
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=%25&name=root
Corps JSON de la requête :
{ "name": "root", "host": "%", "password": "root-password" }
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": "DONE", "user": "user@example.com", "insertTime": "2019-09-26T14:32:30.592Z", "startTime": "2019-09-26T14:32:30.594Z", "endTime": "2019-09-26T14:32:33.518Z", "operationType": "UPDATE_USER", "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.
Spécifier la version mineure de la base de données pour MySQL 8.0
Vous pouvez spécifier la version mineure d'une instance MySQL 8.0 existante à l'aide de gcloud
ou de l'API REST.
gcloud
Exécutez la commande gcloud sql instances create
avec l'option --database-version
.
Remplacez les variables suivantes avant d'exécuter la commande :
- INSTANCE_NAME : nom de l'instance
- DATABASE_VERSION : version mineure de la base de données de l'instance :
MYSQL_8_0_18
,MYSQL_8_0_26
,MYSQL_8_0_27
,MYSQL_8_0_28
,MYSQL_8_0_29
,MYSQL_8_0_30
,MYSQL_8_0_31
(version mineure par défaut pour MySQL 8.0),MYSQL_8_0_32
,MYSQL_8_0_33
,MYSQL_8_0_34
,MYSQL_8_0_35
,MYSQL_8_0_36
, ouMYSQL_8_0_37
. Si vous spécifiezMYSQL_8_0
, la version mineure par défaut est utilisée.Si vous ne spécifiez pas cette option, la version majeure par défaut,
MYSQL_8_0
, est utilisée.
gcloud sql instances create INSTANCE_NAME \ --database-version=DATABASE_VERSION
Pour en savoir plus, consultez la documentation sur la création d'une instance à l'aide de gcloud
.
REST v1
Exécutez une requête POST avec la méthode
instances:insert et l'option databaseVersion
.
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances
- project_id : ID du projet
- instance_id : nom de l'instance
- databaseVersion : version de la base de données de l'instance :
MYSQL_8_0_18
,MYSQL_8_0_26
,MYSQL_8_0_27
,MYSQL_8_0_28
,MYSQL_8_0_29
,MYSQL_8_0_30
,MYSQL_8_0_31
(version mineure par défaut pour MySQL 8.0),MYSQL_8_0_32
,MYSQL_8_0_33
,MYSQL_8_0_34
,MYSQL_8_0_35
,MYSQL_8_0_36
, ouMYSQL_8_0_37
. Si vous spécifiezMYSQL_8_0
comme version, la version mineure par défaut est utilisée. Si vous ne spécifiez pas l'indicateurdatabaseVersion
, la version majeure par défaut,MYSQL_8_0
, est utilisée.
Pour en savoir plus, consultez la documentation sur la création d'une instance à l'aide de l'API REST v1.
REST v1beta4
Exécutez une requête POST avec la méthode
instances:insert et l'option databaseVersion
.
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances
Avant d'utiliser les données de requête ci-dessous, remplacez les variables suivantes :
- project_id : ID du projet
- instance_id : nom de l'instance
- databaseVersion :
version de la base de données de l'instance :
MYSQL_8_0_18
,MYSQL_8_0_26
,MYSQL_8_0_27
,MYSQL_8_0_28
,MYSQL_8_0_29
,MYSQL_8_0_30
,MYSQL_8_0_31
(version mineure par défaut pour MySQL 8.0),MYSQL_8_0_32
, ouMYSQL_8_0_33
.MYSQL_8_0_34
,MYSQL_8_0_35
,MYSQL_8_0_36
, ouMYSQL_8_0_37
. Si vous spécifiezMYSQL_8_0
, la version mineure par défaut est utilisée. Si vous ne spécifiez pas l'indicateurdatabaseVersion
, la version majeure par défaut,MYSQL_8_0
, est utilisée.
Pour en savoir plus, consultez la documentation sur la création d'une instance à l'aide de l'API REST v1beta4.
Version mineure de la base de données pour les instances dupliquées avec accès en lecture, les clones et la récupération PITR
Lorsque vous créez une instance dupliquée avec accès en lecture, vous pouvez spécifier la version mineure de la base de données de l'instance dupliquée. Par défaut, les nouvelles instances dupliquées avec accès en lecture sont créées avec la version mineure par défaut.
Lors du clonage d'une instance, l'instance nouvellement créée possède la même version mineure que la source.
Lors d'une récupération à un moment précis, l'instance nouvellement créée possède la même version mineure de base de données que la source.
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 MySQL sur l'instance.
- Créez des utilisateurs MySQL sur l'instance.
- Sécurisez et contrôlez l'accès à l'instance.
- Connectez-vous à l'instance avec un client MySQL.
- Importez des données dans la base de données.