Une passerelle NAT Internet renforce la sécurité en traduisant et en masquant les adresses IP privées de vos services cloud, empêchant ainsi leur exposition directe.
Après avoir créé une passerelle NAT Internet et lui avoir associé une adresse IP élastique (EIP), vous pouvez :
Configurer le SNAT : permettre à plusieurs instances ECS de partager des EIP pour l'accès sortant à Internet, économisant ainsi les ressources d'adresses IP publiques.
Configurer le DNAT : permettre aux instances ECS de fournir des services à Internet via un mappage de ports ou un mappage d'adresses IP.
SNAT - Accéder à Internet | DNAT - Fournir des services web à Internet |
Une passerelle NAT Internet prend en charge deux modes de reprise après sinistre. Sélectionnez un mode Disaster Recovery lors de la création de la passerelle.
Le mode de reprise après sinistre mono-zone est disponible dans toutes les régions qui prennent en charge les passerelles NAT Internet. Pour utiliser ce mode, contactez votre gestionnaire de compte afin qu'il l'active.
Reprise après sinistre inter-zones : la passerelle NAT est déployée sur plusieurs zones pour assurer la redondance. En cas de panne d'une zone, le trafic bascule automatiquement. Ce mode convient aux scénarios où vos ressources, telles que les instances ECS, sont réparties sur plusieurs zones et doivent partager une passerelle NAT Internet pour accéder à Internet.
Reprise après sinistre mono-zone : la passerelle NAT est déployée au sein d'une seule zone et offre une haute disponibilité uniquement dans cette zone. Ce mode convient aux scénarios où vos services sont concentrés dans une seule zone et utilisent une passerelle NAT Internet dédiée pour l'accès à Internet.
SNAT - Accéder à Internet
L'attribution d'une EIP à chaque instance ECS pour l'accès à Internet est coûteuse. La fonctionnalité SNAT d'une passerelle NAT Internet permet à plusieurs instances ECS de partager des EIP pour l'accès sortant. Cela réduit les coûts et améliore la sécurité en masquant les adresses IP réelles de vos instances et en restreignant les connexions entrantes.
Fonctionnement
L'exemple suivant montre comment une instance ECS avec l'adresse IP privée 192.168.1.100 accède à Internet.
Transfert de route : le VPC transfère un paquet de requête vers la passerelle NAT Internet en fonction de l'entrée de route correspondante dans sa table de routage.
SNAT (Source Network Address Translation) : lorsque la passerelle NAT reçoit le paquet, elle traduit l'adresse IP source 192.168.1.100 en une EIP associée à la passerelle, comme défini par la règle SNAT. La passerelle enregistre également le mappage entre le quintuplet original (protocole, IP source, port source, IP de destination, port de destination) et le quintuplet traduit (protocole, EIP, port source public, IP de destination, port de destination).
Sortie vers Internet : la passerelle envoie le paquet avec l'adresse traduite vers Internet. La requête provient de l'EIP, et non de l'adresse IP privée de l'instance ECS.
Lorsque le serveur de destination sur Internet renvoie un paquet de réponse, la passerelle utilise le mappage de session pour restaurer l'adresse IP privée originale et renvoie le paquet à l'instance ECS.
Priorité des règles SNAT
L'application d'une entrée SNAT dépend des règles suivantes :
-
Le trafic Internet sortant du VPC doit être correctement acheminé vers la passerelle NAT Internet. Cela signifie que, dans la table de routage du VPC, l'entrée de route pour le bloc CIDR de destination sur Internet doit avoir la passerelle NAT Internet comme prochain saut.
Configuration automatique : si aucune route
0.0.0.0/0n'existe dans la table de routage système du VPC, le système ajoute automatiquement une telle route lors de la création de la première passerelle NAT Internet dans ce VPC.Configuration manuelle : si vous utilisez une table de routage personnalisée, ou si une route
0.0.0.0/0existe déjà dans la table de routage système, vous devez ajouter ou modifier manuellement l'entrée de route personnalisée. Nous vous recommandons de suivre le principe du moindre privilège en configurant le bloc CIDR de destination comme étant le bloc CIDR public spécifique auquel vous devez accéder.Priorité des routes : si plusieurs routes ont des blocs CIDR de destination qui se chevauchent, le trafic est transféré selon le principe de la correspondance de préfixe la plus longue.
Priorité de l'IP de sortie : une IP publique statique ou une EIP associée à une instance > mappage d'IP DNAT (Any Port) > EIP associée à une entrée SNAT. Reportez-vous à Centralized Egress IP pour ajuster votre architecture réseau.
Priorité des entrées SNAT : si plusieurs entrées SNAT ont des blocs CIDR source qui se chevauchent, la règle avec la correspondance de masque de sous-réseau la plus longue est prioritaire. Par exemple, le bloc CIDR source d'une entrée SNAT au niveau de l'ECS a un masque de sous-réseau de
/32, qui est le masque le plus long possible et possède donc la priorité la plus élevée.
1. Créer la passerelle NAT et associer une EIP
Une passerelle NAT Internet doit avoir une EIP associée pour fonctionner. Vous pouvez associer jusqu'à 20 EIP à une passerelle NAT Internet. Accédez à la page Quota Management pour demander une augmentation de quota.
À partir du 19 septembre 2022, l'association d'une EIP à une passerelle NAT Internet nouvellement créée consomme une adresse IP privée du vSwitch de la passerelle. Cette modification n'affecte pas les instances de passerelle NAT existantes. Assurez-vous que le vSwitch dispose de suffisamment d'adresses IP privées disponibles ; sinon, l'association échouera.
Console
Accédez à la page NAT Gateway - Internet NAT Gateway purchase page.
Billing Method : paiement à l'utilisation.
Region : sélectionnez la région dans laquelle vous souhaitez créer la passerelle NAT Internet.
Network and Zone : sélectionnez le VPC et le vSwitch pour la passerelle NAT Internet. Le vSwitch sélectionné est utilisé pour attribuer une adresse IP privée à la passerelle NAT. L'association d'une EIP consomme une adresse IP privée de ce vSwitch. Vous ne pouvez pas modifier ces paramètres après la création de la passerelle.
-
Disaster Recovery : sélectionnez un mode de reprise après sinistre pour la passerelle NAT.
Cross-zone disaster recovery (par défaut) : déploie la passerelle dans une zone principale et une zone secondaire. Si la zone principale tombe en panne, le trafic bascule automatiquement vers la zone secondaire.
Single-zone disaster recovery : déploie la passerelle dans la zone sélectionnée, avec une haute disponibilité assurée grâce à la redondance au niveau des appareils. Les frais d'instance s'élèvent à 50 % du mode inter-zones, et les frais d'unité de capacité (CU) à 80 %.
-
EIP : sélectionnez une option en fonction de l'existence ou non d'une EIP.
Select EIP : sélectionnez une EIP qui n'est associée à aucune instance.
-
Purchase EIP : sélectionnez cette option si vous ne disposez pas d'une EIP disponible. Par défaut, une EIP BGP (Multi-ISP) facturée au trafic est créée. Vous pouvez définir la Maximum Bandwidth en fonction de vos besoins métier.
Pour associer une EIP BGP (Multi-ISP)_Premium ou une EIP avec une autre méthode de facturation, commencez par demander une EIP , puis sélectionnez Select EIP lors de la création.
-
Configure Later : la passerelle NAT est créée sans accès à Internet.
Une fois la passerelle NAT créée, recherchez l'instance cible et cliquez sur Associate Now dans la colonne EIP. Vous pouvez ensuite sélectionner une EIP existante ou acheter et associer une nouvelle EIP.
API
Appelez CreateNatGateway pour créer une passerelle NAT Internet.
Appelez ModifyNatGatewayAttribute pour modifier la configuration d'une passerelle NAT Internet.
Appelez AssociateEipAddress pour associer une EIP.
2. Configurer une entrée SNAT
Console
Accédez à la page Internet NAT Gateway. Recherchez l'instance cible, cliquez sur Configure SNAT dans la colonne Actions, puis cliquez sur Create SNAT Entry.
-
SNAT Entry : étendue de la règle SNAT. Sélectionnez une étendue en fonction de vos besoins de gestion.
Specify VPC : toutes les instances ECS du VPC peuvent accéder à Internet via la règle SNAT configurée.
Specify vSwitch : configurez les règles SNAT au niveau du vSwitch. Toutes les instances ECS du vSwitch sélectionné peuvent accéder à Internet via cette entrée SNAT. Le vSwitch sélectionné détermine l'étendue de la règle SNAT et est indépendant du vSwitch sélectionné lors de la création de la passerelle NAT.
Specify ECS Instance/ENI : seules les instances ECS ou ENI spécifiées peuvent accéder à Internet.
Specify Custom CIDR Block : fournit un accès Internet aux ressources situées dans le bloc CIDR spécifié.
-
Select EIP : dans la liste déroulante, sélectionnez une EIP pour fournir l'accès à Internet.
Si aucune EIP n'est disponible, cliquez sur Purchase and Associate EIP dans la liste déroulante et effectuez l'achat dans la boîte de dialogue qui s'affiche.
Vous pouvez sélectionner plusieurs EIP. Un algorithme de hachage répartit les connexions entre les EIP. Étant donné que le trafic varie pour chaque connexion, il peut ne pas être réparti uniformément entre les EIP. Nous vous recommandons d'ajouter chaque EIP à la même instance de bande passante partagée Internet pour éviter les interruptions de service qui peuvent se produire lorsqu'une seule EIP atteint sa limite de bande passante.
EIP Affinity : si vous sélectionnez plusieurs EIP et que l'affinité EIP est désactivée, une adresse IP privée peut utiliser différentes EIP pour accéder à une seule adresse IP de destination. Si vous activez cette fonctionnalité, la même EIP est utilisée. Toutefois, s'il y a trop de connexions simultanées vers une seule destination, l'allocation de ports peut échouer. Vous devez surveiller la métrique ErrorPortAllocationCount.
Une fois l'entrée créée, vous pouvez cliquer sur Edit dans la colonne Actions de l'entrée pour modifier les paramètres EIP et d'affinité EIP.
API
Appelez CreateSnatEntry pour créer une entrée SNAT.
Appelez ModifySnatEntry pour modifier l'entrée SNAT spécifiée.
3. Configurer les routes
Configurez les routes pour garantir que le trafic des instances ECS vers Internet est correctement acheminé vers la passerelle NAT.
Console
Accédez à la page VPC console - Route Tables. Dans la barre de navigation supérieure, sélectionnez la région où la passerelle NAT Internet est déployée. Recherchez la table de routage associée au vSwitch de l'instance ECS et cliquez sur son ID pour accéder à la page des détails.
Configuration automatique : si vous créez la première passerelle NAT Internet dans le VPC et que le vSwitch de l'instance ECS est associé à la table de routage système, une entrée de route avec le bloc CIDR de destination
0.0.0.0/0et la passerelle NAT comme prochain saut est automatiquement ajoutée. Dans ce cas, aucune action n'est requise.Configuration manuelle : si une route
0.0.0.0/0existe déjà dans le VPC ou si le vSwitch est lié à une table de routage personnalisée, vous devez ajouter une route personnalisée à la table de routage correspondante. La destination de la route doit être le bloc CIDR public spécifique auquel vous souhaitez accéder, et le prochain saut doit être la passerelle NAT.
API
Appelez CreateRouteEntry pour ajouter une seule entrée de route.
Appelez ModifyRouteEntry pour modifier le prochain saut d'une entrée de route.
Vérifier la connectivité réseau
Connectez-vous à l'instance ECS et exécutez les commandes suivantes.
# Make sure that the security group of the ECS instance allows outbound traffic to the Internet.
# Test connectivity to the Internet.
ping www.aliyun.com
# View the current egress public IP address. It should be the EIP associated with the NAT gateway.
curl ifconfig.me
DNAT - Fournir des services publics
Si une instance ECS doit fournir des services web, l'attribution directe d'une EIP à l'instance expose tous ses ports, ce qui augmente les risques de sécurité. En utilisant la fonctionnalité DNAT d'une passerelle NAT Internet, vous pouvez transférer uniquement des ports spécifiques ou tout le trafic de l'EIP de la passerelle NAT vers l'instance ECS. Cela permet de garder l'adresse IP privée de l'instance masquée. Avant de pouvoir configurer une entrée DNAT, assurez-vous qu'aucune EIP n'est associée à l'instance ECS.
Fonctionnement
L'exemple suivant montre comment une instance ECS avec l'adresse IP privée 192.168.1.100 fournit des services à Internet.
Un client accède au service : l'adresse IP de destination du paquet de données est l'EIP associée à la passerelle NAT Internet et utilisée pour fournir le service.
DNAT (Destination Network Address Translation) : après réception du paquet, la passerelle NAT traduit l'EIP de destination en l'adresse IP privée de l'instance ECS en fonction de la règle DNAT. La passerelle enregistre également ce mappage d'adresses.
Accès au service : le paquet avec l'adresse traduite est transféré vers l'instance ECS de destination.
Lorsque l'instance ECS de destination renvoie un paquet de réponse, le paquet est transféré vers la passerelle NAT Internet selon la route. La passerelle traduit ensuite l'adresse IP source en l'EIP selon la table de mappage de session et envoie le paquet au client sur Internet.
Lorsque seules des entrées DNAT sont configurées, l'IP source des paquets reçus par l'instance ECS est l'IP publique du client. Par conséquent, lorsque vous configurez les règles entrantes pour le groupe de sécurité de l'instance ECS, vous devez utiliser l'adresse IP source réelle (l'IP publique).
Configurer une entrée DNAT
Cette section décrit uniquement la configuration d'une entrée DNAT. Pour savoir comment créer une passerelle NAT, associer une EIP et configurer les routes, consultez SNAT - Accéder à Internet .
Console
Accédez à la page Internet NAT Gateway. Dans la barre de navigation supérieure, sélectionnez la région de la passerelle NAT Internet.
-
Cliquez sur Configure DNAT dans la colonne Actions de l'instance de passerelle NAT Internet cible, puis cliquez sur Create DNAT Entry.
Select EIP : choisissez l'EIP que les clients Internet utiliseront pour accéder au service. Vous pouvez utiliser la même EIP pour les entrées DNAT et SNAT.
Select Private IP Address : sélectionnez l'adresse IP privée du serveur backend qui fournit le service. Vous pouvez la sélectionner en spécifiant une instance ECS ou une ENI, ou la saisir manuellement.
-
Port Settings : configurez le mappage DNAT.
-
Any Port : il s'agit d'un mappage d'IP. Toutes les requêtes vers cette EIP sont transférées vers l'instance ECS de destination, ce qui occupe tous les ports.
L'instance ECS de destination peut également utiliser cette EIP pour accéder à Internet. Cette EIP ne peut pas être utilisée par d'autres entrées DNAT ou SNAT.
Si une passerelle NAT Internet possède à la fois un mappage d'IP DNAT et une entrée SNAT configurés, l'instance ECS utilise en priorité l'EIP du mappage d'IP DNAT pour accéder à Internet.
-
Custom Port : il s'agit d'un mappage de ports. Les requêtes vers l'EIP avec un protocole et un port spécifiés sont transférées vers un port spécifié sur l'instance ECS de destination. Configurez le Public Port (le port externe ou la plage de ports pour le transfert), le Private Port (le port interne ou la plage de ports pour le transfert) et le Protocol (le protocole pour le port transféré).
La plage de ports doit être comprise entre 1 et 65535. Pour spécifier une plage de ports, séparez les ports de début et de fin par une barre oblique (/), par exemple 10/20. Le nombre de ports dans les plages de ports publics et privés doit être identique, et les deux doivent être soit des ports uniques, soit des plages de ports de même taille. Par exemple, si vous définissez Public Port sur 10/20, vous devez définir Private Port sur une plage de même taille, telle que 80/90.
-
La plage de ports par défaut pour le SNAT est de 1025 à 65535. Si une entrée SNAT est déjà créée pour l'EIP sélectionnée et que vous devez définir un port public pour le DNAT supérieur à
1024, vous devez cliquer sur Remove Port Limits pour éviter les conflits.ImportantL'activation du remplacement de port peut provoquer de brèves interruptions de certaines connexions SNAT existantes. Ces connexions peuvent être rétablies en se reconnectant. Procédez avec prudence.
-
Une fois l'entrée créée, vous pouvez cliquer sur Edit dans la colonne Actions de l'entrée pour modifier l'EIP, l'adresse IP privée et les paramètres de port.
API
Appelez CreateForwardEntry pour créer une entrée DNAT.
Appelez ModifyForwardEntry pour modifier l'entrée DNAT spécifiée.
Nettoyer les ressources
Des frais d'instance sont facturés pour une passerelle NAT Internet à partir du moment de sa création jusqu'à sa libération. Des frais d'unité de capacité (CU) sont également facturés pour le trafic qu'elle traite. Pour éviter des coûts inutiles, suivez ces étapes pour nettoyer les ressources dont vous n'avez plus besoin :
Console
Supprimez les entrées : dans les onglets SNAT et DNAT de la page des détails de l'instance, supprimez les entrées configurées.
-
Dissociez et libérez les EIP : dans l'onglet Associated EIP de la page des détails de l'instance, dissociez les EIP. Vous continuez à payer des frais de configuration EIP si vous ne faites que dissocier une EIP. Pour arrêter d'être facturé, vous devez accéder à la console EIP pour libérer l'EIP.
Si vous n'avez pas supprimé les entrées de configuration, vous pouvez Disassociate.
-
Supprimez la passerelle NAT Internet : dans la colonne Actions de l'instance de passerelle NAT Internet cible, cliquez sur .
Si vous n'avez pas dissocié les EIP ou supprimé les entrées de configuration, vous pouvez sélectionner Force Delete (Delete the NAT gateway and associated SNAT/DNAT entries). Le système supprimera alors l'instance et ses ressources associées.
Vous pouvez activer la protection contre la suppression pour l'instance afin d'éviter une suppression accidentelle. Avant de supprimer l'instance, vous devez désactiver la protection contre la suppression.
API
Appelez DeleteSnatEntry et DeleteForwardEntry pour supprimer respectivement les entrées SNAT et DNAT.
Appelez UnassociateEipAddress pour dissocier une EIP.
Appelez DeleteNatGateway pour supprimer la passerelle NAT Internet.
Utilisation en environnement de production
Bonnes pratiques
Planification du réseau : créez un vSwitch dédié pour la passerelle NAT Internet et réservez suffisamment d'adresses IP privées. Cela évite l'épuisement des adresses IP qui bloquerait les futures associations d'EIP.
Contrôle granulaire : utilisez des entrées SNAT au niveau du vSwitch ou de l'ECS. Suivez le principe du moindre privilège et accordez l'accès à Internet uniquement aux ressources qui en ont besoin.
Stratégies de reprise après sinistre
Une passerelle NAT Internet prend en charge les deux modes de reprise après sinistre suivants. Sélectionnez un mode en utilisant le paramètre Disaster Recovery lors de la création.
|
Récupération inter-zones (par défaut) |
Récupération mono-zone |
|
|
Mode de déploiement |
La passerelle est déployée dans une zone principale et une zone secondaire. La zone secondaire est sélectionnée par Alibaba Cloud. |
La passerelle est déployée dans une seule zone spécifiée par l'utilisateur et offre une redondance au niveau des appareils. |
|
Basculement |
Basculement automatique en cas de panne de zone. |
Aucun basculement automatique si toute la zone tombe en panne. |
|
Cas d'utilisation |
Services nécessitant une reprise après sinistre automatique inter-zones. |
Idéal pour les services qui ne nécessitent pas de capacités inter-zones, visent à réduire les coûts ou doivent limiter le rayon d'impact à une seule zone. |
|
Frais |
Prix de base |
Les frais d'instance représentent environ 50 % du mode inter-zones, et les frais d'unité de capacité (CU) environ 80 %. |
Redondance des EIP : associez plusieurs EIP à votre entrée SNAT. Si une EIP devient indisponible en raison d'une attaque ou d'autres problèmes, le trafic sortant bascule automatiquement vers d'autres EIP disponibles.
Prévention des risques
Configuration du groupe de sécurité : une passerelle NAT Internet effectue la traduction d'adresses, mais la sécurité des instances ECS backend repose toujours sur les groupes de sécurité et les listes de contrôle d'accès réseau (ACL). Vous devez configurer des règles entrantes strictes pour vos instances ECS et autoriser le trafic uniquement sur les ports nécessaires.
Surveillance et alertes : configurez des règles d'alerte pour les métriques clés de la passerelle NAT, telles que les connexions simultanées et la bande passante entrante/sortante, afin de recevoir des notifications en temps opportun et de mettre à l'échelle les ressources avant l'apparition de goulots d'étranglement.
Limites de connexion : si vos services nécessitent un grand nombre de connexions vers un seul service public (tel qu'une passerelle de paiement), tenez compte du nombre maximal de connexions simultanées (
N × 55 000, où N est le nombre d'EIP configurées dans l'entrée SNAT). Nous vous recommandons de prévoir un nombre suffisant d'EIP à l'avance et de surveiller la métrique Failed Port Allocations.-
Réponse ICMP echo : cette fonctionnalité est activée par défaut. Lorsque vous utilisez la commande ping pour la détection, vous recevez un paquet de réponse normal de la passerelle NAT, mais cela ne garantit pas que le serveur backend fonctionne correctement. Pour les scénarios qui reposent sur ping pour une surveillance fine, vous devez désactiver ICMP Retrieval sur la page des détails de l'instance.
Les paquets ICMP sont transférés vers le serveur backend uniquement lorsque le DNAT est configuré avec un mappage Any Port.
Dans les scénarios de mappage Custom Port, les sondes ping échoueront. Vous pouvez utiliser
telnet <EIP> <Public Port>pour sonder directement le port de service mappé.
FAQ
Échec de l'accès Internet via SNAT
Pour résoudre ce problème, suivez ces étapes :
Configuration des routes : sur la page des détails de la passerelle NAT Internet, vérifiez la section VPC routes that point to the NAT gateway pour confirmer qu'une entrée de route pointe vers la passerelle.
Configuration de l'entrée SNAT : dans l'onglet SNAT de la page des détails de l'instance de passerelle NAT Internet, confirmez que le statut de l'entrée SNAT est Available. Confirmez également que l'adresse source utilisée pour accéder à Internet se trouve dans le Source CIDR Block.
Contrôle d'accès : vérifiez si le point de terminaison public que vous essayez d'atteindre a une politique de contrôle d'accès configurée, ou si l'EIP associée à l'instance a été ajoutée à une liste blanche.
Configuration de la passerelle IPv4 : lors de l'utilisation avec une passerelle IPv4, assurez-vous que la passerelle NAT est en mode NAT et que le routage est correctement configuré.
Accès Internet lent ou délais d'expiration
Ce problème a généralement les causes suivantes :
Bande passante insuffisante : consultez les données de surveillance des EIP associées à la passerelle NAT et vérifiez l'utilisation de la bande passante. Si l'utilisation est proche de 100 %, augmentez la bande passante ou ajoutez davantage d'EIP et associez-les à une instance de bande passante partagée Internet.
Dépassement de la limite de connexion : lorsque le nombre de connexions simultanées vers une seule destination dépasse la limite, le système abandonne les connexions en raison d'échecs d'allocation de ports. Consultez la métrique ErrorPortAllocationCount dans la surveillance de la passerelle NAT. Si cette valeur augmente continuellement, ajoutez davantage d'EIP à la règle SNAT.
Passerelle NAT et trafic privé
La passerelle NAT elle-même ne détermine pas le chemin du trafic ; elle effectue uniquement la traduction d'adresses. La table de routage du VPC contrôle si le trafic est envoyé vers la passerelle NAT et où il est routé après la traduction.
Plus d'informations
Facturation
Les passerelles NAT Internet entraînent des frais d'instance et des frais d'unité de capacité (CU). Les EIP associées ont leurs propres règles de facturation et sont facturées séparément.
Quotas
Nom du quota | Description | Limite par défaut | Actions |
natgw_quota_nat_num_per_vpc | Nombre de passerelles NAT pouvant être créées dans un VPC. | 5 | Accédez à la page Quota Management ou au Quota Center pour demander une augmentation de quota. |
natgw_quota_eip_num_per_nat | Nombre d'EIP pouvant être associées à chaque passerelle NAT. | 20 | |
natgw_quota_snat_entry_num | Nombre d'entrées SNAT pouvant être créées pour chaque passerelle NAT. | 40 | |
natgw_quota_dnat_entry_num | Nombre d'entrées DNAT pouvant être créées pour chaque passerelle NAT. | 100 |