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 PostgreSQL :
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 section Connecter un client psql à l'aide des 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 :
Console
Dans Google Cloud Console, accédez à la page Instances Cloud SQL .
Accéder à 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 .
Dans le champ Nom , vous pouvez éventuellement saisir un nom pour ce réseau.
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 .
gcloud
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 authorizedNetwork dans authorizedNetwork 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
Lorsque vous supprimez une adresse autorisée, les connexions existantes à partir de cette adresse ne sont pas déconnectées. Pour déconnecter des connexions existantes, vous devez redémarrer votre instance.
REST v1
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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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"
}
}
Lorsque vous supprimez une adresse autorisée, les connexions existantes à partir de cette adresse ne sont pas déconnectées. Pour déconnecter des connexions existantes, vous devez redémarrer votre instance.
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 exemple main.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.
Remarque : Les exemples Terraform partent généralement du principe que les API requises sont activées dans votre projet Google Cloud.
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
sur false
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 v1beta4
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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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"
}
}
Lorsque vous supprimez une adresse autorisée, les connexions existantes à partir de cette adresse ne sont pas déconnectées. Pour déconnecter des connexions existantes, vous devez redémarrer votre instance.
Supprimer une adresse ou une plage d'adresses autorisée
Pour supprimer une adresse autorisée, procédez comme suit :
Console
Dans Google Cloud Console, accédez à la page Instances Cloud SQL .
Accéder à 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.
gcloud
Affichez toutes les adresses autorisées existantes dans la description de l'instance :
gcloud sql instances describe INSTANCE_NAME
Recherchez les entrées authorizedNetwork dans authorizedNetwork 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
REST v1
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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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"
}
}
REST v1beta4
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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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"
}
}
Lorsque vous supprimez une adresse autorisée, les connexions existantes à partir de cette adresse ne sont pas déconnectées. Pour déconnecter des connexions existantes, vous devez redémarrer votre instance.
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 :
Console
Dans Google Cloud Console, accédez à la page Instances Cloud SQL .
Accéder à 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.
gcloud
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
REST v1
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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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"
}
}
REST v1beta4
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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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"
}
}
Lorsque vous supprimez une adresse autorisée, les connexions existantes à partir de cette adresse ne sont pas déconnectées. Pour déconnecter des connexions existantes, vous devez redémarrer votre instance.
Désactiver une 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 .
Remarque : Lorsque vous désactivez l'adresse IP publique d'une instance, vous publiez son adresse IPv4.
Par la suite, si vous réactivez l'adresse IP publique de cette instance, elle reçoit une adresse IPv4 différente, et toutes les applications utilisant l'adresse IP publique pour se connecter à cette instance doivent être modifiées.
Pour désactiver l'adresse IP publique, procédez comme suit :
Console
Dans Google Cloud Console, accédez à la page Instances Cloud SQL .
Accéder à 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.
gcloud
Mettre à jour l'instance :
gcloud sql instances patch INSTANCE_NAME \
--no-assign-ip
Confirmez les modifications :
gcloud sql instances describe INSTANCE_NAME
REST v1
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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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 sur true
si vous utilisez une adresse IP publique pour votre instance ou sur false
si votre instance possède une adresse IP privée.
Si vous définissez le paramètre enablePrivatePathForGoogleCloudServices
sur true
, vous autorisez d'autres services Google Cloud, 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 sur false
, 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 /instances
Corps 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)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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"
}
}
REST v1beta4
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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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 sur true
si vous utilisez une adresse IP publique pour votre instance ou sur false
si votre instance possède une adresse IP privée.
Si vous définissez le paramètre enablePrivatePathForGoogleCloudServices
sur true
, vous autorisez d'autres services Google Cloud, 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 sur false
, 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 /instances
Corps 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)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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=settings
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Remarque : La commande suivante suppose que vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
, ou en utilisant Cloud Shell , qui vous connecte automatiquement à la CLI gcloud
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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)
Remarque : La commande suivante suppose que vous vous êtes connecté à la CLI gcloud
avec votre compte utilisateur en exécutant la commande gcloud init
ou gcloud auth login
.
Vous pouvez exécuter la commande gcloud auth list
pour vérifier quel est le compte actuellement actif.
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 Content
Vous 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 :Instabilité du réseau.
Absence de réponse aux commandes keep-alive TCP (le client ou le serveur ne répond pas ou est peut-être surchargé)
La durée de vie de la connexion au moteur de base de données a été dépassée et le serveur met fin à la connexion.
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 :
Intervalle exponentiel entre les tentatives Augmentez l'intervalle de temps entre chaque nouvelle tentative, de manière exponentielle.
Ajoutez également un intervalle aléatoire.
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 .
FATAL: database 'user' does not exist
gcloud sql connect --user
ne fonctionne qu'avec l'utilisateur postgres
par défaut.Connectez-vous avec l'utilisateur par défaut, puis changez d'utilisateur.
Vous voulez savoir qui est connecté.
Connectez-vous à la base de données et exécutez la commande suivante :
SELECT datname,
usename,
application_name as appname,
client_addr,
state,
now() - backend_start as conn_age,
now() - state_change as last_activity_age
FROM pg_stat_activity
WHERE backend_type = 'client backend'
ORDER BY 6 DESC
LIMIT 20
Hostname/IP does not match certificate's altnames:
Host: localhost. is not in the cert's altnames
L'adresse hôte ne correspond pas à l'adresse figurant dans les autres noms du certificat de serveur.
Si vous utilisez Node.js avec verify-full ou son équivalent, veuillez utiliser le nom DNS pour le paramètre servername .
Le nom DNS se trouve dans le certificat du serveur à l'aide de openssl . Par exemple : openssl x509 -in server-cert.pem -noout -text |grep 'DNS:'
.
ssl: {
rejectUnauthorized: true,
ca: fs.readFileSync("/path/to/server/CA"),
servername: 'N-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx.us-central1.sql.goog'
}
Étapes suivantes