Conception de réseaux virtuels avec des ressources de passerelle NATDesigning virtual networks with NAT gateway resources

Les ressources de passerelle NAT font partie du service NAT de Réseau virtuel et offrent une connectivité Internet sortante à un ou plusieurs sous-réseaux d’un réseau virtuel.NAT gateway resources are part of Virtual Network NAT and provide outbound Internet connectivity for one or more subnets of a virtual network. Le sous-réseau du réseau virtuel indique quelle passerelle NAT est utilisée.The subnet of the virtual network states which NAT gateway will be used. Le service NAT fournit la traduction d’adresses réseau sources (SNAT) à un sous-réseau.NAT provides source network address translation (SNAT) for a subnet. Les ressources de passerelle NAT spécifient les adresses IP statiques utilisées par les machines virtuelles lors de la création de flux sortants.NAT gateway resources specify which static IP addresses virtual machines use when creating outbound flows. Les adresses IP statiques proviennent de ressources d’adresses IP publiques, de ressources de préfixes d’adresses IP publiques ou des deux.Static IP addresses come from public IP address resources (PIP), public IP prefix resources, or both. Si une ressource de préfixe d’adresse IP publique est utilisée, toutes les adresses IP de l’ensemble de la ressource de préfixe d’adresse IP publique sont consommées par une ressource de passerelle NAT.If a public IP prefix resource is used, all IP addresses of the entire public IP prefix resource are consumed by a NAT gateway resource. Une ressource de passerelle NAT peut utiliser jusqu’à 16 adresses IP statiques.A NAT gateway resource can use a total of up to 16 static IP addresses from either.

Figure depicts a NAT gateway resource that consumes all IP addresses for a public IP prefix and directs that traffic to and from two subnets of virtual machines and a virtual machine scale set.

Figure : Service NAT de Réseau virtuel pour le trafic sortant vers InternetFigure: Virtual Network NAT for outbound to Internet

Comment déployer le service NATHow to deploy NAT

La configuration et l’utilisation de la passerelle NAT sont volontairement simples :Configuring and using NAT gateway is intentionally made simple:

Ressource de passerelle NAT :NAT gateway resource:

  • Créez une ressource de passerelle NAT régionale ou zonale (isolé dans une zone).Create regional or zonal (zone-isolated) NAT gateway resource,
  • Affectez des adresses IP.Assign IP addresses,
  • Si nécessaire, modifiez le délai d’inactivité TCP (facultatif).If necessary, modify TCP idle timeout (optional). Vérifiez les minuteurs avant de changer la valeur par défaut.Review timers before you change the default.

Réseau virtuel :Virtual network:

  • Configurez un sous-réseau de réseau virtuel pour utiliser une passerelle NAT.Configure virtual network subnet to use a NAT gateway.

Les routes définies par l’utilisateur ne sont pas nécessaires.User-defined routes aren't necessary.

RessourceResource

La ressource est conçue pour être simple, comme vous pouvez le voir dans l’exemple Azure Resource Manager suivant défini dans un format de type modèle.The resource is designed to be simple as you can see from the following Azure Resource Manager example in a template-like format. Ce format de type modèle est présenté ici pour illustrer les concepts et la structure.This template-like format is shown here to illustrate the concepts and structure. Modifiez l’exemple selon vos besoins.Modify the example for your needs. Ce document n’a pas vocation à service de tutoriel.This document isn't intended as a tutorial.

Le diagramme suivant montre les références accessibles en écriture entre les différentes ressources Azure Resource Manager.The following diagram shows the writeable references between the different Azure Resource Manager resources. La flèche indique la direction de la référence, depuis l’emplacement où elle est accessible en écriture.The arrow indicates the direction of the reference, originating from where it's writeable. RévisionReview

Figure depicts a NAT receiving traffic from internal subnets and directing it to a public IP and an IP prefix.

Figure : Modèle objet NAT de Réseau virtuelFigure: Virtual Network NAT object model

La traduction d’adresses réseau (NAT) est recommandée pour la plupart des charges de travail, sauf si vous avez une dépendance spécifique vis-à-vis d’une connectivité sortante Load Balancer basée sur un pool.NAT is recommended for most workloads unless you have a specific dependency on pool-based Load Balancer outbound connectivity.

Vous pouvez migrer à partir de scénarios d’équilibreur de charge standard, règles de trafic sortant comprises, vers une passerelle NAT.You can migrate from standard load balancer scenarios, including outbound rules, to NAT gateway. Pour migrer, déplacez les ressources d’adresses IP publiques et les ressources de préfixes d’adresses IP publiques des front-ends de l’équilibreur de charge vers la passerelle NAT.To migrate, move the public ip and public ip prefix resources from load balancer frontends to NAT gateway. Les nouvelles adresses IP de la passerelle NAT ne sont pas nécessaires.New IP addresses for NAT gateway aren't required. Les ressources d’adresses IP publiques et ressources de préfixes d’adresses IP publiques standard peuvent être réutilisées tant que le total ne dépasse pas 16 adresses IP.Standard public IP address resources and public IP prefix resource can be reused as long as the total doesn't exceed 16 IP addresses. Planifiez la migration sans oublier l’interruption de service pendant la transition.Plan for migration with service interruption in mind during the transition. Vous pouvez réduire cette interruption au minimum en automatisant le processus.You can minimize the interruption by automating the process. Testez d’abord la migration dans un environnement intermédiaire.Test the migration in a staging environment first. Pendant la transition, les flux entrants ne sont pas affectés.During the transition, inbound originated flows aren't affected.

L’exemple suivant est un extrait de code tiré d’un modèle Azure Resource Manager.The following example is a snippet from an Azure Resource Manager template. Ce modèle déploie plusieurs ressources, y compris une passerelle NAT.This template deploys several resources, including a NAT gateway. Dans cet exemple, le modèle a les paramètres suivants :The template has the following parameters in this example:

  • natgatewayname : nom de la passerelle NAT.natgatewayname - Name of the NAT gateway.
  • location : région Azure où se trouve la ressource.location - Azure region where resource is located.
  • publicipname : nom de l’adresse IP publique sortante associée à la passerelle NAT.publicipname - Name of the outbound public IP associated with the NAT gateway.
  • vnetname : nom du réseau virtuel.vnetname - Name of the virtual network.
  • subnetname : nom du sous-réseau associé à la passerelle NAT.subnetname - Name of the subnet associated with the NAT gateway.

Le nombre total d’adresses IP fournies par toutes les ressources d’adresse IP et de préfixe ne peut pas dépasser 16 adresses IP.The total number of IP addresses provided by all IP address and prefix resources can't exceed 16 IP addresses total. Tout nombre d’adresses IP compris entre 1 et 16 est autorisé.Any number of IP addresses between 1 and 16 is allowed.

{
  "type": "Microsoft.Network/natGateways",
  "apiVersion": "2019-11-01",
  "name": "[parameters('natgatewayname')]",
  "location": "[parameters('location')]",
  "dependsOn": [
    "[resourceId('Microsoft.Network/publicIPAddresses', variables('publicipname'))]"
  ],
  "sku": {
    "name": "Standard"
  },
  "properties": {
    "idleTimeoutInMinutes": 4,
    "publicIpAddresses": "[if(not(empty(parameters('publicipdns'))), variables('publicIpAddresses'), json('null'))]"
  }
},

Quand la ressource de passerelle NAT est créée, elle peut être utilisée sur un ou plusieurs sous-réseaux d’un réseau virtuel.When the NAT gateway resource has been created, it can be used on one or more subnets of a virtual network. Spécifiez les sous-réseaux qui utilisent cette ressource de passerelle NAT.Specify which subnets use this NAT gateway resource. Une passerelle NAT ne peut pas s’étendre sur plusieurs réseaux virtuels.A NAT gateway isn't able to span more than one virtual network. Il n’est pas nécessaire d’attribuer la même passerelle NAT à tous les sous-réseaux d’un réseau virtuel.It isn't required to assign the same NAT gateway to all subnets of a virtual network. Les sous-réseaux individuels peuvent être configurés avec différentes ressources de passerelle NAT.Individual subnets can be configured with different NAT gateway resources.

Les scénarios qui n’utilisent pas de zones de disponibilité sont régionaux (aucune zone spécifiée).Scenarios that don't use availability zones will be regional (no zone specified). Si vous utilisez des zones de disponibilité, vous pouvez spécifier une zone pour isoler la traduction d’adresses réseau dans une zone spécifique.If you're using availability zones, you can specify a zone to isolate NAT to a specific zone. La redondance dans une zone n’est pas prise en charge.Zone-redundancy isn't supported. Examinez les zones de disponibilité NAT.Review NAT availability zones.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vnetname": {
      "defaultValue": "myVnet",
      "type": "String",
      "metadata": {
        "description": "Name of the virtual network"
      }
    },
    "subnetname": {
      "defaultValue": "mySubnet",
      "type": "String",
      "metadata": {
        "description": "Name of the subnet for virtual network"
      }
    },
    "vnetaddressspace": {
      "defaultValue": "192.168.0.0/16",
      "type": "String",
      "metadata": {
        "description": "Address space for virtual network"
      }
    },
    "vnetsubnetprefix": {
      "defaultValue": "192.168.0.0/24",
      "type": "String",
      "metadata": {
        "description": "Subnet prefix for virtual network"
      }
    },
    "natgatewayname": {
      "defaultValue": "myNATgateway",
      "type": "String",
      "metadata": {
        "description": "Name of the NAT gateway resource"
      }
    },
    "publicipdns": {
      "defaultValue": "[concat('gw-', uniqueString(resourceGroup().id))]",
      "type": "String",
      "metadata": {
        "description": "dns of the public ip address, leave blank for no dns"
      }
    },
    "location": {
      "defaultValue": "[resourceGroup().location]",
      "type": "String",
      "metadata": {
        "description": "Location of resources"
      }
    }
  },
  "variables": {
    "publicIpName": "[concat(parameters('natgatewayname'), 'ip')]",
    "publicIpAddresses": [
      {
        "id": "[resourceId('Microsoft.Network/publicIPAddresses', variables('publicipname'))]"
      }
    ]
  },
  "resources": [
    {
      "type": "Microsoft.Network/publicIPAddresses",
      "apiVersion": "2019-11-01",
      "name": "[variables('publicIpName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard"
      },
      "properties": {
        "publicIPAddressVersion": "IPv4",
        "publicIPAllocationMethod": "Static",
        "idleTimeoutInMinutes": 4,
        "dnsSettings": {
          "domainNameLabel": "[parameters('publicipdns')]"
        }
      }
    },
    {
      "type": "Microsoft.Network/natGateways",
      "apiVersion": "2019-11-01",
      "name": "[parameters('natgatewayname')]",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[resourceId('Microsoft.Network/publicIPAddresses', variables('publicipname'))]"
      ],
      "sku": {
        "name": "Standard"
      },
      "properties": {
        "idleTimeoutInMinutes": 4,
        "publicIpAddresses": "[if(not(empty(parameters('publicipdns'))), variables('publicIpAddresses'), json('null'))]"
      }
    },
    {
      "type": "Microsoft.Network/virtualNetworks",
      "apiVersion": "2019-11-01",
      "name": "[parameters('vnetname')]",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[resourceId('Microsoft.Network/natGateways', parameters('natgatewayname'))]"
      ],
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[parameters('vnetaddressspace')]"
          ]
        },
        "subnets": [
          {
            "name": "[parameters('subnetname')]",
            "properties": {
              "addressPrefix": "[parameters('vnetsubnetprefix')]",
              "natGateway": {
                "id": "[resourceId('Microsoft.Network/natGateways', parameters('natgatewayname'))]"
              },
              "privateEndpointNetworkPolicies": "Enabled",
              "privateLinkServiceNetworkPolicies": "Enabled"
            }
          }
        ],
        "enableDdosProtection": false,
        "enableVmProtection": false
      }
    },
    {
      "type": "Microsoft.Network/virtualNetworks/subnets",
      "apiVersion": "2019-11-01",
      "name": "[concat(parameters('vnetname'), '/mySubnet')]",
      "dependsOn": [
        "[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetname'))]",
        "[resourceId('Microsoft.Network/natGateways', parameters('natgatewayname'))]"
      ],
      "properties": {
        "addressPrefix": "[parameters('vnetsubnetprefix')]",
        "natGateway": {
          "id": "[resourceId('Microsoft.Network/natGateways', parameters('natgatewayname'))]"
        },
        "privateEndpointNetworkPolicies": "Enabled",
        "privateLinkServiceNetworkPolicies": "Enabled"
      }
    }
  ]
}

Les passerelles NAT sont définies avec une propriété sur un sous-réseau au sein d’un réseau virtuel.NAT gateways are defined with a property on a subnet within a virtual network. Les flux créés par des machines virtuelles sur le sous-réseau subnetname du réseau virtuel vnetname utilisent la passerelle NAT.Flows created by virtual machines on subnet subnetname of virtual network vnetname will use the NAT gateway. Toute la connectivité sortante utilise les adresses IP associées à natgatewayname comme adresse IP source.All outbound connectivity will use the IP addresses associated with natgatewayname as the source IP address.

Pour plus d’informations sur le modèle Azure Resource Manager utilisé dans cet exemple, consultez :For more information on the Azure Resource Manager template used in this example, see:

Conseils pour la conceptionDesign Guidance

Passez en revue cette section pour vous familiariser avec les considérations relatives à la conception des réseaux virtuels avec le service NAT.Review this section to familiarize yourself with considerations for designing virtual networks with NAT.

  1. Optimisation des coûtsCost optimization
  2. Coexistence des trafics entrant et sortantCoexistence of inbound and outbound
  3. Gestion des ressources de baseManaging Basic resources
  4. Zones de disponibilitéAvailability Zones

Optimisation des coûtsCost optimization

Les points de terminaison de service et la liaison privée sont des options à prendre en compte pour optimiser les coûts.Service endpoints and private link are options to consider for optimizing cost. NAT n’est pas nécessaire pour ces services.NAT isn't needed for these services. Le trafic dirigé vers des points de terminaison de service ou une liaison privée n’est pas traité par le service NAT de réseau virtuel.Traffic directed to service endpoints or private link is not processed by the virtual network's NAT.

Les points de terminaison de service lient les ressources de service Azure à votre réseau virtuel et contrôlent l’accès à vos ressources de service Azure.Service endpoints tie Azure service resources to your virtual network and control access to your Azure service resources. Par exemple, lorsque vous accédez au stockage Azure, utilisez un point de terminaison de service pour le stockage afin d’éviter des frais de traitement de données par le service NAT.For example, when you access Azure storage, use a service endpoint for storage to avoid data processed NAT charges. Les points de terminaison de service sont gratuits.Service endpoints are free.

Un lien privé expose le service PaaS Azure (ou d’autres services hébergés avec un lien privé) en tant que point de terminaison privé au sein d’un réseau virtuel.Private link exposes Azure PaaS service (or other services hosted with private link) as a private endpoint inside a virtual network. Un lien privé est facturé selon la durée et les données traitées.Private link is billed based on duration and data processed.

Déterminez si l’une ou l’autre de ces approches convient à votre scénario et utilisez-la si nécessaire.Evaluate if either or both of these approaches are a good fit for your scenario and use as needed.

Coexistence des trafics entrant et sortantCoexistence of inbound and outbound

La passerelle NAT est compatible avec :NAT gateway is compatible with:

  • Équilibreur de charge standardStandard load balancer
  • Adresse IP publique standardStandard public IP
  • Préfixe d’adresse IP publique standardStandard public IP prefix

Quand vous développez un nouveau déploiement, commencez avec des références SKU standard.When developing a new deployment, start with standard SKUs.

Figure depicts a NAT gateway that supports outbound traffic to the internet from a virtual network.

Figure : Service NAT de Réseau virtuel pour le trafic sortant vers InternetFigure: Virtual Network NAT for outbound to Internet

Le scénario Internet sortant uniquement fourni par la passerelle NAT peut être étendu avec les fonctionnalités de trafic entrant à partir d’Internet.The Internet outbound only scenario provided by NAT gateway can be expanded with inbound from Internet functionality. Chaque ressource est consciente de la direction d’origine d’un flux.Each resource is aware of the direction in which a flow is originated. Sur un sous-réseau doté d’une passerelle NAT, tous les scénarios de trafic sortant vers Internet sont remplacés par la passerelle NAT.On a subnet with a NAT gateway, all outbound to Internet scenarios are superseded by the NAT gateway. Les scénarios de trafic entrant à partir d’Internet sont fournis par la ressource respective.Inbound from Internet scenarios are provided by the respective resource.

Service NAT et machine virtuelle avec une adresse IP publique au niveau de l’instanceNAT and VM with instance-level Public IP

Figure depicts a NAT gateway that supports outbound traffic to the internet from a virtual network and inbound traffic with an instance-level public IP.

Figure : Service NAT de Réseau virtuel et machine virtuelle avec une adresse IP publique au niveau de l’instanceFigure: Virtual Network NAT and VM with instance-level Public IP

SensDirection RessourceResource
Trafic entrantInbound Machine virtuelle avec une adresse IP publique au niveau de l’instanceVM with instance-level Public IP
Règle de trafic sortantOutbound Passerelle NATNAT gateway

La machine virtuelle utilise la passerelle NAT pour le trafic sortant.VM will use NAT gateway for outbound. Le trafic entrant n’est pas affecté.Inbound originated isn't affected.

Service NAT et machine virtuelle avec équilibreur de charge publicNAT and VM with public Load Balancer

Figure depicts a NAT gateway that supports outbound traffic to the internet from a virtual network and inbound traffic with a public load balancer.

Figure : Service NAT de Réseau virtuel et machine virtuelle avec équilibreur de charge publicFigure: Virtual Network NAT and VM with public Load Balancer

SensDirection RessourceResource
Trafic entrantInbound Équilibreur de charge publicpublic Load Balancer
Règle de trafic sortantOutbound Passerelle NATNAT gateway

Toute configuration de trafic sortant à partir d’une règle d’équilibrage de charge ou de règles de trafic sortant est remplacée par la passerelle NAT.Any outbound configuration from a load-balancing rule or outbound rules is superseded by NAT gateway. Le trafic entrant n’est pas affecté.Inbound originated isn't affected.

Service NAT et machine virtuelle avec une adresse IP publique au niveau de l’instance et un équilibreur de charge publicNAT and VM with instance-level public IP and public Load Balancer

Figure depicts a NAT gateway that supports outbound traffic to the internet from a virtual network and inbound traffic with an instance-level public IP and a public load balancer.

Figure : Service NAT de Réseau virtuel et machine virtuelle avec une adresse IP publique au niveau de l’instance et un équilibreur de charge publicFigure: Virtual Network NAT and VM with instance-level public IP and public Load Balancer

SensDirection RessourceResource
Trafic entrantInbound Machine virtuelle avec une adresse IP publique au niveau de l’instance et un équilibreur de charge publicVM with instance-level public IP and public Load Balancer
Règle de trafic sortantOutbound Passerelle NATNAT gateway

Toute configuration de trafic sortant à partir d’une règle d’équilibrage de charge ou de règles de trafic sortant est remplacée par la passerelle NAT.Any outbound configuration from a load-balancing rule or outbound rules is superseded by NAT gateway. La machine virtuelle utilise également la passerelle NAT pour le trafic sortant.The VM will also use NAT gateway for outbound. Le trafic entrant n’est pas affecté.Inbound originated isn't affected.

Gestion des ressources de baseManaging Basic resources

L’équilibreur de charge standard, l’adresse IP publique et le préfixe d’adresse IP publique sont compatibles avec la passerelle NAT.Standard load balancer, public IP, and public IP prefix are compatible with NAT gateway. Les passerelles NAT fonctionnent dans l’étendue d’un sous-réseau.NAT gateways operate in the scope of a subnet. La référence SKU de base de ces services doit être déployée sur un sous-réseau sans passerelle NAT.The basic SKU of these services must be deployed on a subnet without a NAT gateway. Cette séparation permet aux deux variantes de référence SKU de coexister sur le même réseau virtuel.This separation allows both SKU variants to coexist in the same virtual network.

Les passerelles NAT ont la priorité sur les scénarios de trafic sortant du sous-réseau.NAT gateways take precedence over outbound scenarios of the subnet. L’équilibreur de charge de base ou l’adresse IP publique (et tout service géré créé avec eux) ne peuvent pas s’ajuster aux traductions appropriées.Basic load balancer or public IP (and any managed service built with them) is unable to be adjusted with the correct translations. La passerelle NAT prend le contrôle du trafic sortant vers Internet sur un sous-réseau.NAT gateway takes control over outbound to Internet traffic on a subnet. Le trafic entrant vers l’équilibreur de charge de base et l’adresse IP publique n’est pas disponible.Inbound traffic to basic load balancer and public ip is unavailable. Le trafic entrant vers un équilibreur de charge de base et/ou une adresse IP publique configurée sur une machine virtuelle n’est pas disponible.Inbound traffic to a basic load balancer and, or a public ip configured on a VM won't be available.

Zones de disponibilitéAvailability Zones

Isolation de zone avec des piles zonalesZone isolation with zonal stacks

Figure depicts three zonal stacks, each of which contains a NAT gateway and a subnet.

Figure : NAT de réseau virtuel avec isolation de zone, créant plusieurs « piles zonales »Figure: Virtual Network NAT with zone isolation, creating multiple "zonal stacks"

Même sans zones de disponibilité, le service NAT est résilient et peut survivre à plusieurs défaillances de composants d’infrastructure.Even without availability zones, NAT is resilient and can survive multiple infrastructure component failures. Les zones de disponibilité reposent sur cette résilience avec des scénarios d’isolation de zone pour la traduction d’adresses réseau (NAT).Availability zones build on this resiliency with zone isolation scenarios for NAT.

Les réseaux virtuels et leurs sous-réseaux sont des constructions régionales.Virtual networks and their subnets are regional constructs. Les sous-réseaux ne sont pas limités à une zone.Subnets aren't restricted to a zone.

Il existe une promesse zonale pour l’isolation de zone quand une instance de machine virtuelle utilisant une ressource de passerelle NAT se trouve dans la même zone que la ressource de passerelle NAT et ses adresses IP publiques.A zonal promise for zone isolation exists when a virtual machine instance using a NAT gateway resource is in the same zone as the NAT gateway resource and its public IP addresses. Le modèle que vous voulez utiliser pour l’isolation de zone crée une « pile zonale » par zone de disponibilité.The pattern you want to use for zone isolation is creating a "zonal stack" per availability zone. Cette « pile zonale » comprend des instances de machine virtuelle, des ressources de passerelle NAT, des ressources d’adresse IP publique et/ou de préfixe sur un sous-réseau qui est supposé traiter uniquement la même zone.This "zonal stack" consists of virtual machine instances, NAT gateway resources, public IP address and/or prefix resources on a subnet that is assumed to be serving only the same zone. Les opérations du plan de contrôle et le plan de données sont alignés sur la zone spécifiée et y sont limités.The control plane operations and data plane are then aligned with and constrained to the specified zone.

Une défaillance dans une zone autre que celle où se trouve votre scénario est supposée n’exercer aucun impact sur le service NAT.Failure in a zone other than where your scenario exists is expected to be without impact to NAT. Le trafic sortant des machines virtuelles dans la même zone échoue en raison de l’isolement de la zone.Outbound traffic from virtual machines in the same zone will fail because of zone isolation.

Intégration de points de terminaison entrantsIntegrating inbound endpoints

Si votre scénario nécessite des points de terminaison entrants, deux options s’offrent à vous :If your scenario requires inbound endpoints, you have two options:

OptionOption ModèlePattern ExempleExample AvantagePro InconvénientCon
(1)(1) Aligner les points de terminaison entrants sur les piles zonales respectives que vous créez pour le trafic sortant.Align the inbound endpoints with the respective zonal stacks you're creating for outbound. Créez un équilibreur de charge standard avec un front-end zonal.Create a standard load balancer with zonal frontend. Même modèle d’intégrité et même mode d’échec pour le trafic entrant et sortant.Same health model and failure mode for inbound and outbound. Plus simple à utiliser.Simpler to operate. Il peut être nécessaire de masquer les adresses IP individuelles par zone à l’aide d’un nom DNS commun.Individual IP addresses per zone may need to be masked by a common DNS name.
(2)(2) Superposer les piles zonales avec un point de terminaison entrant entre les zones.Overlay the zonal stacks with a cross-zone inbound endpoint. Créez un équilibreur de charge standard avec un front-end redondant interzone.Create a standard load balancer with zone-redundant frontend. Adresse IP unique pour un point de terminaison entrant.Single IP address for inbound endpoint. Modèle d’intégrité et modes d’échec variables pour le trafic entrant et sortant.Varying health model and failure modes for inbound and outbound. Plus complexe à utiliser.More complex to operate.

Notes

Une passerelle NAT isolée dans une zone exige que les adresses IP correspondent à la zone de la passerelle NAT.A zone-isolated NAT gateway requires IP addresses to match the zone of the NAT gateway. Les ressources de passerelle NAT avec des adresses IP d’une autre zone ou sans zone ne sont pas autorisées.NAT gateway resources with IP addresses from a different zone or without a zone aren't allowed.

Scénarios de trafic sortant entre les zones non pris en chargeCross-zone outbound scenarios not supported

Figure depicts three zonal stacks, each of which contains a NAT gateway and a subnet, with the connections between to of the gateways and their subnets broken.

Figure : NAT de réseau virtuel non compatible avec un sous-réseau couvrant des zonesFigure: Virtual Network NAT not compatible with zone-spanning subnet

Vous ne pouvez pas tenir une promesse zonale avec des ressources de passerelle NAT quand des instances de machine virtuelle sont déployées dans plusieurs zones du même sous-réseau.You can't achieve a zonal promise with NAT gateway resources when virtual machine instances are deployed in multiple zones within the same subnet. Et même plusieurs passerelles NAT zonales étaient attachées à un sous-réseau, l’instance de machine virtuelle ne saurait pas quelle ressource de passerelle NAT sélectionner.And even if there were multiple zonal NAT gateways attached to a subnet, the virtual machine instance wouldn't know which NAT gateway resource to select.

Une promesse zonale n’existe quand a) la zone d’une instance de machine virtuelle et la zone d’une passerelle NAT zonale ne sont pas alignées, ou b) une ressource de passerelle NAT régionale est utilisée avec des instances de machine virtuelle zonales.A zonal promise does't exist when a) the zone of a virtual machine instance and the zone of a zonal NAT gateway are not aligned, or b) a regional NAT gateway resource is used with zonal virtual machine instances.

Même si le scénario semble fonctionner, son modèle d’intégrité et son mode d’échec ne sont pas définis du point de vue d’une zone de disponibilité.While the scenario will appear to work, its health model and failure mode is undefined from an availability zone point of view. Envisagez plutôt d’utiliser des piles zonales ou de toutes les zones géographiques.Consider going with zonal stacks or all regional instead.

Notes

La propriété de zones d’une ressource de passerelle NAT n’est pas mutable.The zones property of a NAT gateway resource isn't mutable. Redéployez la ressource de passerelle NAT avec la préférence régionale ou de zone souhaitée.Redeploy NAT gateway resource with the intended regional or zone preference.

Notes

Les adresses IP ne sont pas par elles-mêmes redondantes dans une zone, si aucune zone n’est spécifiée.IP addresses by themselves aren't zone-redundant if no zone is specified. Le front-end d’un service Standard Load Balancer est redondant dans une zone si aucune adresse IP n’est créée dans une zone spécifique.The frontend of a Standard Load Balancer is zone-redundant if an IP address isn't created in a specific zone. Cela ne s’applique pas au service NAT.This doesn't apply to NAT. Seul l’isolement régional ou de zone est pris en charge.Only regional or zone-isolation is supported.

PerformancesPerformance

Chaque ressource de passerelle NAT peut fournir un débit maximal de 50 Gbits/s.Each NAT gateway resource can provide up to 50 Gbps of throughput. Vous pouvez diviser vos déploiements entre plusieurs sous-réseaux et affecter à chaque sous-réseau ou groupe de sous-réseaux une passerelle NAT pour un scale-out.You can split your deployments into multiple subnets and assign each subnet or groups of subnets a NAT gateway to scale out.

Chaque passerelle NAT peut prendre en charge 64 000 flux respectivement pour TCP et UDP par adresse IP sortante attribuée.Each NAT gateway can support 64,000 flows for TCP and UDP respectively per assigned outbound IP address. Consultez la section suivante sur la traduction d’adresses réseau sources (SNAT, Source Network Address Translation) pour plus de détails, ainsi que l’article dédié à la résolution des problèmes pour obtenir des conseils de résolution des problèmes spécifiques.Review the following section on Source Network Address Translation (SNAT) for details as well as the troubleshooting article for specific problem resolution guidance.

Traduction d’adresses réseau sourcesSource Network Address Translation

La traduction d’adresses réseau sources (SNAT) réécrit la source d’un flux pour qu’il provienne d’une autre adresse IP.Source network address translation (SNAT) rewrites the source of a flow to originate from a different IP address. Les ressources de passerelle NAT utilisent une variante de SNAT communément appelée traduction d’adresses de port (PAT).NAT gateway resources use a variant of SNAT commonly referred to port address translation (PAT). PAT réécrit l’adresse source et le port source.PAT rewrites the source address and source port. Avec SNAT, il n’existe aucune relation fixe entre le nombre d’adresses privées et leurs adresses publiques traduites.With SNAT, there's no fixed relationship between the number of private addresses and their translated public addresses.

Notions de baseFundamentals

Examinons un exemple de quatre flux pour expliquer le concept de base.Let's look at an example of four flows to explain the basic concept. La passerelle NAT utilise la ressource d’adresse IP publique 65.52.1.1 et la machine virtuelle établit des connexions à l’adresse 65.52.0.1.The NAT gateway is using public IP address resource 65.52.1.1 and the VM is making connections to 65.52.0.1.

FluxFlow Tuple sourceSource tuple Tuple de destinationDestination tuple
11 192.168.0.16:4283192.168.0.16:4283 65.52.0.1:8065.52.0.1:80
22 192.168.0.16:4284192.168.0.16:4284 65.52.0.1:8065.52.0.1:80
33 192.168.0.17.5768192.168.0.17.5768 65.52.0.1:8065.52.0.1:80

Ces flux peuvent ressembler à ceci après l’application de PAT :These flows might look like this after PAT has taken place:

FluxFlow Tuple sourceSource tuple Tuple source après SNATSNAT'ed source tuple Tuple de destinationDestination tuple
11 192.168.0.16:4283192.168.0.16:4283 65.52.1.1:123465.52.1.1:1234 65.52.0.1:8065.52.0.1:80
22 192.168.0.16:4284192.168.0.16:4284 65.52.1.1:123565.52.1.1:1235 65.52.0.1:8065.52.0.1:80
33 192.168.0.17.5768192.168.0.17.5768 65.52.1.1:123665.52.1.1:1236 65.52.0.1:8065.52.0.1:80

La destination voit que la source du flux est 65.52.0.1 (Tuple source SNAT) avec le port attribué indiqué.The destination will see the source of the flow as 65.52.0.1 (SNAT source tuple) with the assigned port shown. PAT, comme indiqué dans le tableau précédent, est également appelé SNAT de déguisement de port.PAT as shown in the preceding table is also called port masquerading SNAT. Plusieurs sources privées se font passer pour une adresse IP et un port.Multiple private sources are masqueraded behind an IP and port.

réutilisation des ports source (SNAT)source (SNAT) port reuse

Les passerelles NAT réutilisent de façon opportuniste les ports sources (SNAT).NAT gateways opportunistically reuse source (SNAT) ports. L’exemple suivant illustre ce concept comme un flux supplémentaire pour l’ensemble de flux précédent.The following illustrates this concept as an additional flow for the preceeding set of flows. La machine virtuelle dans l’exemple est un flux vers l’adresse 65.52.0.2.The VM in the example is a flow to 65.52.0.2.

FluxFlow Tuple sourceSource tuple Tuple de destinationDestination tuple
44 192.168.0.16:4285192.168.0.16:4285 65.52.0.2:8065.52.0.2:80

Une passerelle NAT translatera probablement le flux 4 vers un port également utilisable pour d’autres destinations.A NAT gateway will likely translate flow 4 to a port that may be used for other destinations as well. Pour plus d’informations sur le dimensionnement correct de l’approvisionnement de votre adresse IP, consultez Mise à l’échelle.See Scaling for additional discussion on correctly sizing your IP address provisioning.

FluxFlow Tuple sourceSource tuple Tuple source après SNATSNAT'ed source tuple Tuple de destinationDestination tuple
44 192.168.0.16:4285192.168.0.16:4285 65.52.1.1:123465.52.1.1:1234 65.52.0.2:8065.52.0.2:80

Ne prenez pas de dépendance vis-à-vis de la façon dont les ports sources sont affectés dans l’exemple ci-dessus.Don't take a dependency on the specific way source ports are assigned in the above example. L’illustration précédente montre uniquement le concept de base.The preceding is an illustration of the fundamental concept only.

La traduction d’adresses réseau sources (SNAT) fournie par le service NAT diffèrent de Load Balancer sous plusieurs aspects.SNAT provided by NAT is different from Load Balancer in several aspects.

À la demandeOn-demand

NAT fournit des ports SNAT à la demande pour les nouveaux flux de trafic sortant.NAT provides on-demand SNAT ports for new outbound traffic flows. Tous les ports SNAT disponibles dans l’inventaire sont utilisés par toute machine virtuelle sur les sous-réseaux configurés avec NAT.All available SNAT ports in inventory are used by any virtual machine on subnets configured with NAT.

Figure depicts inventory of all available SNAT ports used by any virtual machine on subnets configured with N A T.

Figure : SNAT de trafic sortant à la demande du service NAT de Réseau virtuelFigure: Virtual Network NAT on-demand outbound SNAT

Toute configuration IP d’une machine virtuelle peut créer des flux sortants à la demande si besoin.Any IP configuration of a virtual machine can create outbound flows on-demand as needed. Aucune préallocation, par planification d’instance incluant le surprovisionnement du pire cas par instance, n’est nécessaire.Pre-allocation, per instance planning including per instance worst case overprovisioning, isn't required.

Figure depicts inventory of all available SNAT ports used by any virtual machine on subnets configured with N A T with exhaustion threshold.

Figure : Différences dans les scénarios d’épuisementFigure: Differences in exhaustion scenarios

Une fois qu’un port SNAT est libéré, il devient disponible pour être utilisé par toute machine virtuelle sur des sous-réseaux configurés avec NAT.Once a SNAT port releases, it's available for use by any virtual machine on subnets configured with NAT. L’allocation à la demande permet aux charges de travail dynamiques et divergentes sur des sous-réseaux d’utiliser des ports SNAT selon leurs besoins.On-demand allocation allows dynamic and divergent workloads on subnet(s) to use SNAT ports as they need. Tant qu’un inventaire des ports SNAT est disponible, les flux SNAT aboutissent.As long as there's SNAT port inventory available, SNAT flows will succeed. Les zones réactives de port SNAT bénéficient plutôt de l’inventaire plus grand.SNAT port hot spots benefit from the larger inventory instead. Les ports SNAT ne sont pas laissés inutilisés pour les machines virtuelles qui n’en ont pas activement besoin.SNAT ports aren't left unused for virtual machines not actively needing them.

Mise à l'échelleScaling

La mise à l’échelle NAT est principalement une fonction de gestion de l’inventaire des ports SNAT partagés et disponibles.Scaling NAT is primarily a function of managing the shared, available SNAT port inventory. NAT a besoin d’un inventaire de ports SNAT suffisant pour traiter les flux sortant maximaux attendus pour tous les sous-réseaux attachés à une ressource de passerelle NAT.NAT needs sufficient SNAT port inventory for expected peak outbound flows for all subnets attached to a NAT gateway resource. Vous pouvez utiliser des ressources d’adresses publiques IP, des ressources de préfixes d’adresses IP publiques, ou des deux, pour créer un inventaire des ports SNAT.You can use public IP address resources, public IP prefix resources, or both to create SNAT port inventory.

Notes

Si vous attribuez une ressource de préfixe d’adresse IP publique, l’ensemble du préfixe d’adresse IP publique entier est utilisé.If you are assigning a public IP prefix resource, the entire public IP prefix will be used. Vous ne pouvez pas attribuer une ressource de préfixe d’adresse IP publique puis séparer des adresses IP individuelles pour les attribuer à d’autres ressources.You can't assign a public IP prefix resource and then break out individual IP addresses to assign to other resources. Si vous voulez attribuer des adresses IP individuelles à partir d’un préfixe d’adresse IP publique à plusieurs ressources, vous devez créer des adresses IP publiques individuelles à partir de la ressource de préfixe d’adresse IP publique, puis les attribuer en fonction des besoins plutôt que d’attribuer la ressource de préfixe d’adresse IP publique elle-même.If you want to assign individual IP addresses from a public IP prefix to multiple resources, you need to create individual public IP addresses from the public IP prefix resource and assign them as needed instead of the public IP prefix resource itself.

SNAT mappe des adresses privées à une ou plusieurs adresses IP publiques, en réécrivant l’adresse source et le port source dans les processus.SNAT maps private addresses to one or more public IP addresses, rewriting source address and source port in the processes. Une ressource de passerelle NAT utilise 64 000 ports (ports SNAT) par adresse IP publique configurée pour cette traduction.A NAT gateway resource will use 64,000 ports (SNAT ports) per configured public IP address for this translation. Les ressources de passerelle NAT peuvent comprendre jusqu’à 16 adresses IP et 1 million de ports SNAT.NAT gateway resources can scale up to 16 IP addresses and 1M SNAT ports. Si une ressource de préfixe d’adresse IP publique est fournie, chaque adresse IP présente dans le préfixe fournit un inventaire des ports SNAT.If a public IP prefix resource is provided, each IP address within the prefix is providing SNAT port inventory. L’ajout d’autres adresses IP publiques augmente les ports SNAT disponibles dans l’inventaire.And adding more public IP addresses increases the available inventory SNAT ports. Les protocoles TCP et UDP sont des inventaires de ports SNAT distincts qui ne sont pas liés.TCP and UDP are separate SNAT port inventories and unrelated.

Les ressources de passerelle NAT réutilisent de façon opportuniste les ports sources (SNAT).NAT gateway resources opportunistically reuse source (SNAT) ports. Au titre de conseil de conception à des fins de mise à l’échelle, vous devez partir du principe que chaque flux nécessite un nouveau port SNAT et mettre à l’échelle le nombre total d’adresses IP disponibles pour le trafic sortant.As design guidance for scaling purposes, you should assume each flow requires a new SNAT port and scale the total number of available IP addresses for outbound traffic. Vous devez réfléchir soigneusement à la mise à l’échelle que vous concevez, et approvisionner les quantités d’adresses IP en conséquence.You should carefully consider the scale you are designing for and provision IP addresses quantities accordingly.

Les ports SNAT vers différentes destinations sont les plus susceptibles d’être réutilisés quand c’est possible.SNAT ports to different destinations are most likely to be reused when possible. Et lorsque l’épuisement des ports SNAT approche, les flux peuvent échouer.And as SNAT port exhaustion approaches, flows may not succeed.

Pour un exemple, consultez Notions de base de SNAT.See SNAT fundamentals for example.

ProtocolesProtocols

Les ressources de passerelle NAT interagissent avec les en-têtes IP et de transport IP des flux UDP et TCP. Elles sont indépendantes des charges utiles de la couche Application.NAT gateway resources interact with IP and IP transport headers of UDP and TCP flows and are agnostic to application layer payloads. Les autres protocoles IP ne sont pas pris en charge.Other IP protocols aren't supported.

MinuteursTimers

Important

Le minuteur spécifiant une longue période d’inactivité peut augmenter inutilement la probabilité d’épuisement des ressources SNAT.Long idle timer can unnecessarily increase likelihood of SNAT exhaustion. Plus la période que vous spécifiez pour le minuteur est longue, plus la durée pendant laquelle la traduction d’adresses réseau (NAT) accapare les ports SNAT est longue, jusqu’à ce que le délai d’inactivité finisse par être atteint.The longer of a timer you specify, the longer NAT will hold on to SNAT ports until they eventually idle timeout. Si le délai d’inactivité de vos flux est dépassé, ces derniers finissent par échouer quand même et consomment inutilement l’inventaire des ports SNAT.If your flows are idle timed out, they will fail eventually anyway and unnecessarily consume SNAT port inventory. Les flux qui échouent au bout de 2 heures auraient également échoué au bout de 4 minutes (valeur par défaut).Flows that fail at 2 hours would have failed at the default 4 minutes as well. L’augmentation du délai d’inactivité est une option de dernier recours qui doit être utilisée avec modération.Increasing the idle timeout is a last resort option that should be used sparingly. Si un flux ne devient jamais inactif, il n’est pas affecté par le minuteur d’inactivité.If a flow never does go idle, it will not be impacted by the idle timer.

Le délai d’inactivité TCP peut varier de 4 minutes (valeur par défaut) à 120 minutes (2 heures) pour tous les flux.TCP idle timeout can be adjusted from 4 minutes (default) to 120 minutes (2 hours) for all flows. De plus, vous pouvez réinitialiser le minuteur d’inactivité avec du trafic en cours de flux.Additionally, you can reset the idle timer with traffic on the flow. Un modèle recommandé pour l’actualisation des connexions inactives longues et la détection d’activité sur les points de terminaison consiste à utiliser des conservations de connexion active TCP.A recommended pattern for refreshing long idle connections and endpoint liveness detection is TCP keepalives. Les conservations de connexion active TCP apparaissent comme des accusés de réception en double sur les points de terminaison, leur surcharge est faible et elles sont invisibles pour la couche Application.TCP keepalives appear as duplicate ACKs to the endpoints, are low overhead, and invisible to the application layer.

Les minuteurs suivants sont utilisés pour la libération des ports SNAT :The following timers are used for SNAT port release:

MinuterieTimer ValeurValue
TCP FINTCP FIN 60 secondes60 seconds
TCP RSTTCP RST 10 secondes10 seconds
TCP demi-ouvertTCP half open 30 secondes30 seconds

Un port SNAT peut être réutilisé pour la même adresse IP de destination et le même port de destination au bout de 5 secondes.A SNAT port is available for reuse to the same destination IP address and destination port after 5 seconds.

Notes

Ces paramètres de minuteur sont susceptibles d’être modifiés.These timer settings are subject to change. Les valeurs sont fournies pour faciliter la résolution des problèmes et vous ne devez pas dépendre de minuteurs spécifiques pour le moment.The values are provided to help troubleshooting and you shouldn't take a dependency on specific timers at this time.

LimitesLimitations

  • NAT est compatible avec des ressources d’adresses IP publiques, de préfixes d’adresses IP publiques et d’équilibreur de charge de la référence SKU standard.NAT is compatible with standard SKU public IP, public IP prefix, and load balancer resources. Les ressources de base (par exemple, un équilibreur de charge de base) et tous les produits dérivés de celles-ci ne sont pas compatibles avec NAT.Basic resources (for example basic load balancer) and any products derived from them aren't compatible with NAT. Les ressources de base doivent être placées sur un sous-réseau non configuré avec NAT.Basic resources must be placed on a subnet not configured with NAT.
  • La famille d’adresses IPv4 est prise en charge.IPv4 address family is supported. NAT n’interagit pas avec la famille d’adresses IPv6.NAT doesn't interact with IPv6 address family. NAT ne peut pas être déployé sur un sous-réseau avec un préfixe IPv6.NAT can't be deployed on a subnet with an IPv6 prefix.
  • NAT ne peut pas s’étendre sur plusieurs réseaux virtuels.NAT can't span multiple virtual networks.
  • La fragmentation IP n’est pas prise en charge.IP fragmentation is not supported.

SuggestionsSuggestions

Nous aimerions savoir comment nous pouvons améliorer le service.We want to know how we can improve the service. Il vous manque une fonctionnalité ?Are missing a capability? Envoyez-nous vos suggestions sur UserVoice for NAT.Make your case for what we should build next at UserVoice for NAT.

Étapes suivantesNext steps