Cette page explique comment configurer la connectivité IP publique sur une instance Cloud SQL.
Présentation
Vous pouvez configurer votre instance Cloud SQL de façon à obtenir une adresse IPv4 publique. Vous pourrez alors accepter des connexions à partir d'adresses IP spécifiques ou d'une plage d'adresses en ajoutant des adresses autorisées à votre instance.
Vous ne pouvez pas spécifier un réseau privé (par exemple, 10.x.x.x) en tant que réseau autorisé.
Adresses IP publiques pour les instances MySQL :
- IPv6 : les instances ne sont pas compatibles avec IPv6.
- IPv4 : les instances disposent d'une adresse IPv4 statique attribuée automatiquement. Des frais modérés sont facturés pour l’adresse IP chaque fois que votre instance est arrêtée (désactivée).
Pour obtenir de l'aide sur la connexion d'un client d'administration à votre instance via une connexion IP, consultez la page Connecter un client MySQL à l'aide d'adresses IP.
Si vous acceptez les connexions via l'adresse IP publique de votre instance, vous devez également configurer le protocole SSL afin de sécuriser vos données. Pour en savoir plus, consultez la page Configurer SSL pour les instances.
Pour configurer votre instance avec une adresse IP non exposée à l'Internet public, consultez la page Configurer une adresse IP privée.
Activer l'adresse IP publique, et ajouter une adresse ou une plage d'adresses autorisée
Lorsque vous activez une adresse IP publique pour votre instance, Cloud SQL configure l'instance avec une adresse IPv4 publique et statique. Après avoir activé l'adresse IP publique, vous devez configurer une autorisation pour les connexions à la base de données. Pour en savoir plus, consultez les options d'autorisation.
Pour activer l'IP publique et ajouter une adresse autorisée, procédez comme suit :
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Dans le menu de navigation SQL, sélectionnez Connexions.
- Cliquez sur l'onglet Réseau.
- Cochez la case IP publique.
- Cliquez sur Ajouter un réseau.
- Vous pouvez éventuellement saisir un nom pour ce réseau dans le champ Nom.
- Dans le champ Réseau, saisissez l'adresse IP ou la plage d'adresses à partir de laquelle vous souhaitez autoriser les connexions.
Utilisez le format CIDR.
- Cliquez sur OK.
- Cliquez sur Enregistrer.
- Si vous ne l'avez pas déjà fait, ajoutez une adresse IPv4 à l'instance :
gcloud sql instances patch
INSTANCE_NAME \ --assign-ip - Affichez toutes les adresses autorisées existantes dans la description de l'instance :
gcloud sql instances describe
INSTANCE_NAME Recherchez les entrées authoredNetwork dans ipConfiguration et notez toutes les adresses autorisées que vous souhaitez conserver.
-
Mettez à jour la liste des réseaux autorisés, y compris toutes les adresses que vous souhaitez inclure.
gcloud sql instances patch
INSTANCE_NAME \ --authorized-networks=IP_ADDR1 ,IP_ADDR2 ...Utilisez le format CIDR.
- Confirmez les modifications :
gcloud sql instances describe
INSTANCE_NAME
- Affichez toutes les adresses autorisées existantes dans la description de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Mettez à jour l'instance, y compris toutes les adresses que vous souhaitez définir sur l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- network_range_1 : adresse IP ou plage autorisée
- network_range_2 : autre adresse IP ou plage autorisée
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id Corps JSON de la requête :
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "
network_range_1 "}, {"value": "network_range_2 "}] } } }Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " }Utilisez le format CIDR.
- Confirmez les modifications :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- ip-address1 : format CIDR de la première adresse IP
- ip-address-name1 : nom de la première adresse IP
- ip-address2 : format CIDR de la deuxième adresse IP
- ip-address-name2 : nom de la deuxième adresse IP
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Pour activer l'adresse IP publique, et ajouter une adresse ou une plage d'adresses autorisée, 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 && cdDIRECTORY && 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
à l'invite :terraform destroy
- Affichez toutes les adresses autorisées existantes dans la description de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Mettez à jour l'instance, y compris toutes les adresses que vous souhaitez définir sur l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- network_range_1 : adresse IP ou plage autorisée
- network_range_2 : autre adresse IP ou plage autorisée
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id Corps JSON de la requête :
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "
network_range_1 "}, {"value": "network_range_2 "}] } } }Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " }Utilisez le format CIDR.
- Confirmez les modifications :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- ip-address1 : format CIDR de la première adresse IP
- ip-address-name1 : nom de la première adresse IP
- ip-address2 : format CIDR de la deuxième adresse IP
- ip-address-name2 : nom de la deuxième adresse IP
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Supprimer une adresse ou une plage d'adresses autorisée
Pour supprimer une adresse autorisée, procédez comme suit :
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Dans le menu de navigation SQL, sélectionnez Connexions.
- Cliquez sur l'icône de suppression
de l'adresse que vous souhaitez supprimer.
- Cliquez sur Enregistrer pour mettre l'instance à jour.
- Affichez toutes les adresses autorisées existantes dans la description de l'instance :
gcloud sql instances describe
INSTANCE_NAME Recherchez les entrées authoredNetwork dans ipConfiguration et notez toutes les adresses autorisées que vous souhaitez conserver.
- Mettez à jour la liste des réseaux autorisés en retirant les adresses que vous souhaitez supprimer.
gcloud sql instances patch
INSTANCE_NAME \ --authorized-networks=IP_ADDR1 ,IP_ADDR2 ... - Confirmez les modifications :
gcloud sql instances describe
INSTANCE_NAME
- Affichez toutes les adresses autorisées existantes dans la description de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- ip-address1 : format CIDR de la première adresse IP
- ip-address-name1 : nom de la première adresse IP
- ip-address2 : format CIDR de la deuxième adresse IP
- ip-address-name2 : nom de la deuxième adresse IP
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Mettez à jour l'instance, en incluant toutes les adresses que vous souhaitez conserver et en retirant celles que vous souhaitez supprimer :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- network_range_1 : adresse IP ou plage réseau autorisée à supprimer
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id Corps JSON de la requête :
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "
network_range_1 "}] } } }Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Confirmez les modifications :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- ip-address : format CIDR de l'adresse IP
- ip-address-name : nom de l'adresse IP
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address ", "name": "ip-address-name ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
- Affichez toutes les adresses autorisées existantes dans la description de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- ip-address1 : format CIDR de la première adresse IP
- ip-address-name1 : nom de la première adresse IP
- ip-address2 : format CIDR de la deuxième adresse IP
- ip-address-name2 : nom de la deuxième adresse IP
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Mettez à jour l'instance, en incluant toutes les adresses que vous souhaitez conserver et en retirant celles que vous souhaitez supprimer :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- network_range_1 : adresse IP ou plage réseau autorisée à supprimer
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id Corps JSON de la requête :
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "
network_range_1 "}] } } }Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Confirmez les modifications :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- ip-address : format CIDR de l'adresse IP
- ip-address-name : nom de l'adresse IP
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address ", "name": "ip-address-name ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Configurer une instance pour refuser toutes les connexions IP publiques
Pour configurer une instance de façon à refuser toutes les connexions IP publiques, procédez comme suit :
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Dans le menu de navigation SQL, sélectionnez Connexions.
- Cliquez sur l'icône de suppression
de toutes les adresses autorisées.
- Cliquez sur Enregistrer pour mettre l'instance à jour.
- Supprimez la liste d'adresses autorisée :
gcloud sql instances patch
INSTANCE_NAME \ --clear-authorized-networks - Confirmez les modifications :
gcloud sql instances describe
INSTANCE_NAME
- Affichez toutes les adresses autorisées existantes dans la description de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- ip-address1 : format CIDR de la première adresse IP
- ip-address-name1 : nom de la première adresse IP
- ip-address2 : format CIDR de la deuxième adresse IP
- ip-address-name2 : nom de la deuxième adresse IP
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Mettez à jour l'instance avec une liste d'adresses vide :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id Corps JSON de la requête :
{ "settings": { "ipConfiguration": { "authorizedNetworks": [] } } }
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Confirmez les modifications :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
- Affichez toutes les adresses autorisées existantes dans la description de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- ip-address1 : format CIDR de la première adresse IP
- ip-address-name1 : nom de la première adresse IP
- ip-address2 : format CIDR de la deuxième adresse IP
- ip-address-name2 : nom de la deuxième adresse IP
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Mettez à jour l'instance avec une liste d'adresses vide :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id Corps JSON de la requête :
{ "settings": { "ipConfiguration": { "authorizedNetworks": [] } } }
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Confirmez les modifications :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Désactiver l'adresse IP publique
Vous pouvez désactiver l'adresse IP publique, mais seulement si votre instance est également configurée pour utiliser l'adresse IP privée. Pour activer l'adresse IP privée, consultez la section Configurer une instance existante pour qu'elle utilise une adresse IP privée.
Pour désactiver l'adresse IP publique, procédez comme suit :
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Dans le menu de navigation SQL, sélectionnez Connexions.
- Décochez la case Adresse IP publique.
- Cliquez sur Enregistrer pour mettre l'instance à jour.
- Mettez à jour l'instance :
gcloud sql instances patch
INSTANCE_NAME \ --no-assign-ip - Confirmez les modifications :
gcloud sql instances describe
INSTANCE_NAME
- Affichez toutes les adresses autorisées existantes dans la description de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- ip-address1 : format CIDR de la première adresse IP
- ip-address-name1 : nom de la première adresse IP
- ip-address2 : format CIDR de la deuxième adresse IP
- ip-address-name2 : nom de la deuxième adresse IP
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Mettez à jour l'instance :
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID: ID du projet.
- INSTANCE_ID: ID de l'instance.
- VPC_NETWORK_NAME: 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.
- RANGE_NAME: Facultatif. Si spécifié, définit un nom de plage pour lequel une plage d'adresses IP est allouée. Le nom de la plage doit respecter la norme
RFC-1035
et contenir entre 1 et 63 caractères. - AUTHORIZED_NETWORKS: pour les connexions IP publiques, spécifiez les connexions à partir de réseaux autorisés pouvant vous connecter à l'instance.
Pour le paramètre
ipv4Enabled
, définissez la valeur surtrue
si vous utilisez une adresse IP publique pour votre instance ou surfalse
si votre instance possède une adresse IP privée.Si vous définissez le paramètre
enablePrivatePathForGoogleCloudServices
surtrue
, vous autorisez d'autres Google Cloud services, tels que BigQuery, à accéder aux données dans Cloud SQL et à interroger ces données via une connexion IP privée. Si vous définissez ce paramètre surfalse
, les autres services Google Cloud ne peuvent pas accéder aux données dans Cloud SQL via une connexion IP privée.Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/
PROJECT_ID /instancesCorps JSON de la requête :
{ "name": "
INSTANCE_ID ", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "projects/PROJECT_ID /global/networks/VPC_NETWORK_NAME ", "allocatedIpRange": "RANGE_NAME " "authorizedNetworks": [AUTHORIZED_NETWORKS ], "enablePrivatePathForGoogleCloudServices": true } } }Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances"PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "CREATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } - Confirmez les modifications :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": false }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
- Affichez toutes les adresses autorisées existantes dans la description de l'instance :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- ip-address1 : format CIDR de la première adresse IP
- ip-address-name1 : nom de la première adresse IP
- ip-address2 : format CIDR de la deuxième adresse IP
- ip-address-name2 : nom de la deuxième adresse IP
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } - Mettez à jour l'instance :
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID: ID du projet.
- INSTANCE_ID: ID de l'instance.
- VPC_NETWORK_NAME: 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.
- RANGE_NAME: Facultatif. Si spécifié, définit un nom de plage pour lequel une plage d'adresses IP est allouée. Le nom de la plage doit respecter la norme
RFC-1035
et contenir entre 1 et 63 caractères. - AUTHORIZED_NETWORKS: pour les connexions IP publiques, spécifiez les connexions à partir de réseaux autorisés pouvant vous connecter à l'instance.
Pour le paramètre
ipv4Enabled
, définissez la valeur surtrue
si vous utilisez une adresse IP publique pour votre instance ou surfalse
si votre instance possède une adresse IP privée.Si vous définissez le paramètre
enablePrivatePathForGoogleCloudServices
surtrue
, vous autorisez d'autres Google Cloud services, tels que BigQuery, à accéder aux données dans Cloud SQL et à interroger ces données via une connexion IP privée. Si vous définissez ce paramètre surfalse
, les autres services Google Cloud ne peuvent pas accéder aux données dans Cloud SQL via une connexion IP privée.Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1beta4/projects/
PROJECT_ID /instancesCorps JSON de la requête :
{ "name": "
INSTANCE_ID ", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "projects/PROJECT_ID /global/networks/VPC_NETWORK_NAME ", "allocatedIpRange": "RANGE_NAME " "authorizedNetworks": [AUTHORIZED_NETWORKS ], "enablePrivatePathForGoogleCloudServices": true } } }Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID /instances"PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID /instances" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "CREATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } - Confirmez les modifications :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- machine-type : type de machine de l'instance
- zone : zone de l'instance
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=settingsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "settings": { "authorizedGaeApplications": [], "tier": "
machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": false }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Résoudre les problèmes
Problème | Dépannage |
---|---|
Aborted connection . |
Cause possible :
Les applications doivent tolérer les défaillances du réseau et se baser sur les bonnes pratiques telles que le regroupement des connexions et les nouvelles tentatives. La plupart des regroupements de connexions interceptent ces erreurs lorsque cela est possible. Sinon, l'application doit réessayer ou échouer sans occasionner de blocage. Pour effectuer de nouvelles tentatives de connexion, nous vous recommandons les techniques suivantes :
La combinaison de ces techniques permet de réduire les limitations. |
Certificate verify failed . |
Les certificats client ont expiré ou le chemin d'accès aux certificats est incorrect. Générez à nouveau les certificats en les recréant. |
Étapes suivantes
- Configurez une autorisation pour les connexions à la base de données. Pour en savoir plus, consultez les options d'autorisation.
- Créez et gérez des clés SSL pour votre instance.
- Connectez un client d'administration à votre instance.
- Connectez-vous à votre instance depuis une application externe.