Cette page explique comment utiliser les paramètres des réseaux autorisés pour se connecter à des instances Cloud SQL utilisant des adresses IP.
Configurer des réseaux autorisés
L'adresse IP ou la plage d'adresses de votre application cliente doit être configurée en tant que réseau autorisé (authorized networks
) dans les cas suivants :
- Votre application cliente se connecte directement à une instance Cloud SQL en utilisant son adresse IP publique.
- Votre application cliente se connecte directement à une instance Cloud SQL en utilisant son adresse IP privée, et l'adresse IP de votre client est une adresse non-RFC 1918.
L'adresse IP peut être constituée d'un seul point de terminaison ou consister en une plage en notation CIDR.
Console
-
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.
- Dans le champ Nom, saisissez un nom pour le Nouveau réseau.
- Dans le champ Réseau*, saisissez l'adresse IPv4 publique ou la plage d'adresses à partir de laquelle vous souhaitez autoriser les connexions.
Pour la plage d'adresses, vous devez utiliser une notation CIDR valide (par exemple, 10.10.10.0/24).
- Cliquez sur OK.
- Cliquez sur Enregistrer.
gcloud
La configuration des réseaux autorisés remplace la liste des réseaux autorisés existante.
gcloud sql instances patch INSTANCE_ID \ --authorized-networks=NETWORK_RANGE_1,NETWORK_RANGE_2...
Terraform
Pour configurer les réseaux autorisés, utilisez une ressource Terraform.
Appliquer les modifications
Pour appliquer votre configuration Terraform dans un projet Google Cloud, suivez les procédures des sections suivantes.
Préparer Cloud Shell
- Lancez Cloud Shell.
-
Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.
Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.
Préparer le répertoire
Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).
-
Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension
.tf
, par exemplemain.tf
. Dans ce tutoriel, le fichier est appelémain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.
Copiez l'exemple de code dans le fichier
main.tf
que vous venez de créer.Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.
- Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
- Enregistrez les modifications.
-
Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
terraform init
Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option
-upgrade
:terraform init -upgrade
Appliquer les modifications
-
Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
terraform plan
Corrigez les modifications de la configuration si nécessaire.
-
Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant
yes
lorsque vous y êtes invité :terraform apply
Attendez que Terraform affiche le message "Apply completed!" (Application terminée).
- Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud, accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.
Supprimer les modifications
Pour supprimer vos modifications, procédez comme suit :
- Pour désactiver la protection contre la suppression, définissez l'argument
deletion_protection
surfalse
dans le fichier de configuration Terraform.deletion_protection = "false"
- Appliquez la configuration Terraform mise à jour en exécutant la commande suivante et en saisissant
yes
lorsque vous y êtes invité :terraform apply
-
Supprimez les ressources précédemment appliquées à votre configuration Terraform en exécutant la commande suivante et en saisissant
yes
à la requête :terraform destroy
REST v1
La configuration des réseaux autorisés remplace la liste des réseaux autorisés existante.
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 :
Vous devriez recevoir une réponse JSON de ce type :
REST v1beta4
La configuration des réseaux autorisés remplace la liste des réseaux autorisés existante.
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 :
Vous devriez recevoir une réponse JSON de ce type :
Limites
Certaines plages d'adresses IP ne peuvent pas être ajoutées en tant que réseaux autorisés.
Plage d'adresses IP | Remarques |
---|---|
10.0.0.0/8 | Plage d'adresses RFC 1918. Elles sont automatiquement et implicitement incluses dans les réseaux autorisés par Cloud SQL. |
172.16.0.0/12 | Plage d'adresses RFC 1918. Elles sont automatiquement et implicitement incluses dans les réseaux autorisés par Cloud SQL. |
192.168.0.0/16 | Plage d'adresses RFC 1918. Elles sont automatiquement et implicitement incluses dans les réseaux autorisés par Cloud SQL. |
Étape suivante
En savoir plus sur le contrôle des accès aux instances.
Configurez votre instance pour qu'elle utilise SSL/TLS.
Connectez-vous à votre instance avec le client psql à l'aide de SSL/TLS.