Cette page explique comment créer, mettre à jour et associer des points de terminaison sortants à des zones de transfert et à des règles de serveur DNS pour permettre le transfert direct des requêtes DNS à l'aide d'adresses IP privées depuis votre réseau VPC. Cette approche vous permet de contrôler plus précisément le trafic sortant. Pour en savoir plus sur les points de terminaison sortants, consultez Présentation des points de terminaison sortants.
Avant de commencer
-
Dans la console Google Cloud , sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud .
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous devez disposer du rôle Créateur de projet (
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
-
Activez les API Cloud DNS, Compute Engine et Network Services, si ce n'est pas déjà fait.
Rôles requis pour activer les API
Pour activer les API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation grâce au rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation grâce au rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.
Assurez-vous de disposer d'un réseau VPC connecté à vos serveurs de noms DNS sur site ou externes. Dans chaque région où vous prévoyez de déployer un point de terminaison sortant, votre réseau VPC doit disposer d'un sous-réseau standard et d'un sous-réseau proxy réservé dans la région cible. Pour en savoir plus, consultez Créer et gérer des réseaux VPC.
Assurez-vous également que votre réseau sur site dispose d'une route de retour pour la plage d'adresses IP du sous-réseau proxy réservé régional, et configurez des règles de pare-feu sur site pour autoriser les requêtes DNS entrantes (ports UDP et TCP 53) provenant de la plage d'adresses IP du sous-réseau proxy réservé régional.
Créer un point de terminaison sortant
Pour créer un point de terminaison sortant, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Cloud DNS.
Accédez à l'onglet Points de terminaison sortants, puis cliquez sur Créer un point de terminaison sortant.
Dans le champ Nom, saisissez un nom unique pour le point de terminaison.
(Facultatif) Dans le champ Description, saisissez une description du point de terminaison.
Pour Région, sélectionnez la région cible.
Dans la liste Réseau, sélectionnez votre réseau VPC.
Pour Sous-réseau, sélectionnez le sous-réseau standard dans la région sélectionnée.
Dans le champ Adresse IP du point de terminaison, saisissez une chaîne d'adresse IPv4 valide de la plage de sous-réseaux sélectionnée.
Pour Sous-réseau proxy réservé, la console détecte automatiquement le sous-réseau proxy réservé régional dans le réseau VPC et la région sélectionnés pour la sortie des requêtes sortantes. Si aucun sous-réseau proxy réservé n'est détecté, cliquez sur Réserver un sous-réseau pour en créer un avant de continuer.
Cliquez sur Créer.
gcloud
Exécutez la commande gcloud beta dns outbound-endpoints create :
gcloud beta dns outbound-endpoints create ENDPOINT_NAME \
--project=PROJECT_ID \
--network=VPC_NETWORK \
--subnetwork=REGULAR_SUBNET \
--location=REGION \
--endpoint-ip=IP_ADDRESS \
--description=DESCRIPTION
Remplacez les éléments suivants :
ENDPOINT_NAME: nom du point de terminaison sortant.PROJECT_ID: ID de votre projetVPC_NETWORK: réseau VPC associé au point de terminaison sortant, par exempleprojects/PROJECT_ID/global/networks/NETWORK_NAMEou simplementNETWORK_NAMEREGULAR_SUBNET: sous-réseau standard à partir duquel l'adresse IP d'écoute interne du point de terminaison est allouée, par exempleprojects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAMEou simplementSUBNET_NAME.REGION: région dans laquelle le point de terminaison est déployéIP_ADDRESS: adresse IPv4 interne disponible de la plage d'adresses IP principale du sous-réseau standardDESCRIPTION: description facultative du point de terminaison.
API
Exécutez la méthode outboundEndpoints.create :
POST https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints?outboundEndpointId=ENDPOINT_NAME
{
"network": "projects/PROJECT_ID/global/networks/VPC_NETWORK",
"subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/REGULAR_SUBNET",
"endpointIp": "IP_ADDRESS",
"description": "DESCRIPTION"
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetREGION: région où le point de terminaison est déployéENDPOINT_NAME: nom du point de terminaison sortantVPC_NETWORK: réseau VPC associé au point de terminaison sortantREGULAR_SUBNET: sous-réseau standard à partir duquel l'adresse IP d'écoute interne du point de terminaison est allouée.IP_ADDRESS: adresse IPv4 interne disponible dans la plage d'adresses IP principale du sous-réseau standardDESCRIPTION: description facultative du point de terminaison
Mettre à jour un point de terminaison sortant
Pour mettre à jour un point de terminaison sortant, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Cloud DNS.
Accédez à l'onglet Points de terminaison sortants, puis cliquez sur le nom du point de terminaison sortant que vous souhaitez modifier.
Cliquez sur Modifier, modifiez le champ Description, puis cliquez sur Enregistrer.
gcloud
Exécutez la commande gcloud beta dns outbound-endpoints update :
gcloud beta dns outbound-endpoints update ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION \
--description=UPDATED_DESCRIPTION
Remplacez les éléments suivants :
ENDPOINT_NAME: nom du point de terminaison sortant à mettre à jour.PROJECT_ID: ID du projet.REGION: région dans laquelle le point de terminaison est déployéUPDATED_DESCRIPTION: description mise à jour facultative du point de terminaison.
API
Exécutez la méthode outboundEndpoints.patch :
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME?updateMask=description
{
"description": "UPDATED_DESCRIPTION"
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetREGION: région dans laquelle le point de terminaison est déployéENDPOINT_NAME: nom du point de terminaison sortant à mettre à jourUPDATED_DESCRIPTION: description mise à jour du point de terminaison sortant
Associer des points de terminaison à une zone de transfert
Console
Dans la console Google Cloud , accédez à la page Cloud DNS.
Accédez à l'onglet Zones, puis cliquez sur Créer une zone. Vous pouvez également sélectionner une zone de transfert existante et cliquer sur Modifier.
Configurez les paramètres de la zone :
- Dans le champ Type de zone, sélectionnez Privé.
- Dans le champ Nom de la zone, saisissez un identifiant unique pour la zone.
- Dans le champ Nom DNS, saisissez le suffixe de domaine que vous souhaitez transférer. Exemple :
corp.example.com. - (Facultatif) Dans le champ Description, saisissez une description.
- Sous Options, sélectionnez Transférer les requêtes vers un autre serveur.
- Pour Réseaux, sélectionnez les réseaux VPC autorisés à résoudre les requêtes sur cette zone.
Sous Serveurs DNS de destination, saisissez les adresses IPv4 cibles ou les noms de domaine complets de vos serveurs de noms externes/sur site.
Pour Chemin de transfert, sélectionnez Points de terminaison sortants.
Sous Points de terminaison de sortie, sélectionnez un ou plusieurs points de terminaison pour gérer le transfert des requêtes :
- Sélection minimale : sélectionnez au moins un point de terminaison de sortie (obligatoire lorsque les points de terminaison de sortie sont choisis comme chemin de transfert).
- Contrainte de VPC unique : tous les points de terminaison sélectionnés doivent appartenir au même réseau VPC.
- Bonne pratique pour la haute disponibilité : pour la reprise après sinistre interrégionale et le basculement automatique, configurez et sélectionnez au moins deux points de terminaison dans différentes régions de ce réseau VPC.
Cliquez sur Créer (ou sur Enregistrer pour une zone existante).
gcloud
Associez des points de terminaison à une zone de transfert à l'aide de la commande gcloud beta dns managed-zones update :
gcloud beta dns managed-zones update ZONE_NAME \
--project=PROJECT_ID \
--outbound-endpoints=projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1,projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2
Remplacez les éléments suivants :
ZONE_NAME: nom de la zone de transfert à mettre à jourPROJECT_ID: ID du projet.REGION_1etREGION_2: régions où les points de terminaison sont déployésENDPOINT_NAME_1: nom du premier point de terminaison à associer à la zone de transfert.ENDPOINT_NAME_2: nom du deuxième point de terminaison à associer à la zone de transfert
API
Exécutez la méthode managedZones.patch :
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/managedZones/ZONE_NAME
{
"name": "ZONE_NAME",
"dnsName": "DNS_NAME",
"description": "DESCRIPTION",
"visibility": "private",
"forwardingConfig": {
"outboundEndpoints": [
{
"name": "projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1"
},
{
"name": "projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2"
}
]
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet.ZONE_NAME: nom de la zone de transfert à mettre à jourDNS_NAME: nom DNS de la zone de transfertDESCRIPTION: (facultatif) description mise à jour de la zone de transfertREGION_1etREGION_2: régions dans lesquelles les points de terminaison sont déployés (tous les points de terminaison sortants listés dansforwardingConfigdoivent appartenir au même réseau VPC)ENDPOINT_NAME_1: nom du premier point de terminaison à associer à la zone de transfert.ENDPOINT_NAME_2: nom du deuxième point de terminaison à associer à la zone de transfert
Associer des points de terminaison à une règle de serveur DNS
Console
Dans la console Google Cloud , accédez à la page Cloud DNS.
Accédez à l'onglet Règles de serveur DNS, puis cliquez sur Créer une règle (ou sélectionnez une règle de serveur DNS existante, puis cliquez sur Modifier).
Ensuite, procédez à la configuration des éléments suivants, comme indiqué :
- Dans le champ Nom de la règle, saisissez un nom unique pour la règle de serveur.
- (Facultatif) Dans le champ Description, saisissez une description.
- Pour Transfert de requêtes entrantes, indiquez si les clients externes interrogeront les charges de travail VPC à l'aide de points de terminaison entrants.
- Pour DNS64, activez ou désactivez la synthèse IPv6 selon vos besoins.
- Pour Journaux, activez ou désactivez la journalisation DNS selon vos besoins.
- Pour les réseaux VPC, sélectionnez ceux auxquels la règle de serveur s'applique.
Sous Serveurs DNS alternatifs, saisissez les adresses IPv4 cibles de vos serveurs de noms externes ou sur site.
Pour Chemin de transfert, sélectionnez Points de terminaison sortants.
Sous Points de terminaison sortants, sélectionnez un ou plusieurs points de terminaison pour acheminer toutes les requêtes VPC non privées :
- Sélection minimale : sélectionnez au moins un point de terminaison de sortie.
- Contrainte de VPC unique : tous les points de terminaison sélectionnés doivent appartenir au même réseau VPC.
- Bonne pratique pour la haute disponibilité : pour la reprise après sinistre interrégionale et le basculement automatique, configurez et sélectionnez au moins deux points de terminaison dans différentes régions de ce réseau VPC.
Cliquez sur Créer (ou sur Enregistrer pour une règle existante).
gcloud
Associez des points de terminaison à une règle de serveur DNS à l'aide de la commande gcloud beta dns policies update :
gcloud beta dns policies update POLICY_NAME \
--project=PROJECT_ID \
--outbound-endpoints=projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1,projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2
Remplacez les éléments suivants :
POLICY_NAME: nom de la règle de serveur DNS à mettre à jourPROJECT_ID: ID de votre projetREGION_1etREGION_2: régions dans lesquelles les points de terminaison sont déployésENDPOINT_NAME_1: nom du premier point de terminaison à associer à la règle de serveur DNSENDPOINT_NAME_2: nom du deuxième point de terminaison à associer à la règle de serveur DNS
API
Exécutez la méthode policies.patch :
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/policies/POLICY_NAME
{
"alternativeNameServerConfig": {
"outboundEndpoints": [
{"name": "projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1"},
{"name": "projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2"}
]
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetPOLICY_NAME: nom de la règle de serveur DNS à mettre à jourREGION_1etREGION_2: régions dans lesquelles les points de terminaison sont déployésENDPOINT_NAME_1: nom du premier point de terminaison à associer à la règle de serveur DNSENDPOINT_NAME_2: nom du deuxième point de terminaison à associer à la règle de serveur DNS
Afficher les points de terminaison sortants
Pour lister ou décrire les points de terminaison sortants d'une région, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Cloud DNS.
Accédez à l'onglet Points de terminaison sortants pour afficher tous les points de terminaison sortants de votre projet, leurs régions, leurs réseaux, leurs sous-réseaux, leurs adresses IP et leur état de santé.
gcloud
Pour lister tous les points de terminaison sortants d'une région, exécutez la commande gcloud beta dns outbound-endpoints list :
gcloud beta dns outbound-endpoints list \
--project=PROJECT_ID \
--location=REGION
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetREGION: région où le point de terminaison est déployé
Pour afficher les détails d'un point de terminaison sortant spécifique, exécutez la commande gcloud beta dns outbound-endpoints describe :
gcloud beta dns outbound-endpoints describe ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION
Remplacez les éléments suivants :
ENDPOINT_NAME: nom du point de terminaison sortant.PROJECT_ID: ID du projet.REGION: région dans laquelle le point de terminaison est déployé
API
Pour lister tous les points de terminaison sortants d'une région, envoyez une requête GET :
GET https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetREGION: région dans laquelle le point de terminaison est déployé
Pour afficher les détails d'un point de terminaison sortant spécifique, envoyez une requête GET :
GET https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetREGION: région où le point de terminaison est déployéENDPOINT_NAME: nom du point de terminaison sortant.
Supprimer un point de terminaison sortant
Avant de pouvoir supprimer un point de terminaison sortant, vous devez le dissocier de toutes les zones de transfert ou règles de serveur DNS qui y font référence. Pour en savoir plus, consultez Gérer les ressources réseau associées aux points de terminaison sortants.
Après avoir dissocié le point de terminaison sortant de toutes les zones de transfert et règles de serveur DNS, suivez ces étapes pour le supprimer :
Console
Dans la console Google Cloud , accédez à la page Cloud DNS.
Accédez à l'onglet Points de terminaison sortants.
Sélectionnez le point de terminaison sortant que vous souhaitez supprimer, puis cliquez sur Supprimer.
gcloud
Exécutez la commande gcloud beta dns outbound-endpoints delete :
gcloud beta dns outbound-endpoints delete ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION
Remplacez les éléments suivants :
ENDPOINT_NAME: nom du point de terminaison sortant à supprimerPROJECT_ID: ID de votre projetREGION: région dans laquelle le point de terminaison est déployé
API
Utilisez la méthode outboundEndpoints.delete.
DELETE https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetREGION: région où le point de terminaison est déployéENDPOINT_NAME: nom du point de terminaison sortant à supprimer
Résoudre les problèmes
Pour connaître les méthodes de diagnostic et de résolution des erreurs liées aux points de terminaison sortants, consultez Dépannage.
Étapes suivantes
- En savoir plus sur les points de terminaison sortants