Vous pouvez utiliser Gateway Load Balancer (GWLB) pour configurer, mettre à l'échelle et gérer des appliances virtuelles réseau (NVA) tierces, telles que des pare-feu et des systèmes de détection d'intrusion. Cette rubrique explique comment configurer rapidement une instance GWLB et un endpoint GWLB correspondant afin d'inspecter le trafic IPv4.
Scénario d'exemple
Pour renforcer la sécurité et la fiabilité, une entreprise achemine le trafic IPv4 entrant provenant d'Internet vers des appliances virtuelles réseau (NVA) pour inspection de sécurité avant qu'il n'atteigne les serveurs d'applications. L'entreprise peut utiliser GWLB pour gérer les NVA et s'assurer que tout le trafic subit une inspection rigoureuse avant d'être distribué aux serveurs d'applications. Cette rubrique s'appuie sur un exemple dans lequel une entreprise utilise un compte Alibaba Cloud pour créer un VPC métier et un VPC de sécurité dans la région Chine (Ulanqab).
-
Le VPC métier héberge le système d'application et contient une passerelle IPv4 pour acheminer le trafic destiné à Internet vers les NVA.
Dans le VPC métier, un vSwitch de serveur d'application et un vSwitch d'endpoint GWLB sont créés. Dans le vSwitch de serveur d'application, une instance ECS est créée pour servir de serveur d'application, et les services d'application sont déployés sur cette instance. Un endpoint GWLB est créé dans le vSwitch d'endpoint GWLB.
-
Le VPC de sécurité héberge les NVA.
Dans le VPC de sécurité, une instance GWLB est créée, et les NVA sont ajoutées à son groupe de serveurs backend. Un service d'endpoint est également créé dans le VPC de sécurité, et l'instance GWLB y est ajoutée en tant que ressource de service.
Une fois l'endpoint GWLB et le service d'endpoint connectés, le trafic provenant d'Internet peut être acheminé vers les NVA pour inspection.
|
Flux de trafic entrant (flèches noires) |
Flux de trafic sortant (flèches bleues) |
|
|
Limites
Au moins une NVA doit être en cours d'exécution.
Le groupe de sécurité des serveurs backend doit autoriser le trafic UDP sur le port 6081.
Lors de la création d'un service d'endpoint, vous devez sélectionner une région et une zone de disponibilité qui prennent en charge à la fois PrivateLink et les instances GWLB. Pour plus d'informations sur les régions qui prennent en charge PrivateLink et les instances GWLB, consultez Régions et zones de disponibilité qui prennent en charge PrivateLink et Régions et zones de disponibilité qui prennent en charge GWLB.
Les zones de disponibilité de l'endpoint GWLB doivent constituer un sous-ensemble des zones de disponibilité du service d'endpoint.
Prérequis
Un VPC métier et un VPC de sécurité ont été créés. Dans la zone de disponibilité B du VPC métier, un vSwitch de serveur d'application et un vSwitch d'endpoint GWLB ont été créés. Dans la zone de disponibilité B du VPC de sécurité, un vSwitch GWLB a été créé. Pour plus d'informations, consultez Créer un VPC et un vSwitch.
Une passerelle IPv4 a été créée, activée et associée au VPC métier. Pour plus d'informations, consultez Créer et gérer une passerelle IPv4.
Des tables de routage ont été créées pour la passerelle IPv4, le vSwitch de serveur d'application et le vSwitch d'endpoint GWLB. Pour plus d'informations, consultez Créer et gérer une table de routage.
-
Une instance ECS pour le serveur d'application a été créée dans le VPC métier, et les services d'application ont été déployés sur cette instance. Si l'instance ECS doit communiquer avec Internet, vous devez lui attribuer une adresse IP publique. Dans la zone de disponibilité B du VPC de sécurité, les instances ECS ECS01 et ECS02 ont été créées, et des images NVA ont été déployées sur chaque instance. Assurez-vous que vos instances ECS01 et ECS02 prennent en charge les trames Jumbo. L'encapsulation Geneve ajoute 68 octets au paquet d'origine, ce qui peut entraîner une taille de paquet supérieure à 1 500 octets. Pour plus d'informations, consultez Unité de transmission maximale (MTU).
Pour obtenir la liste des types d'instances qui prennent en charge les trames Jumbo, consultez Familles d'instances qui prennent en charge les trames Jumbo.
Pour plus d'informations sur la création d'une instance ECS, consultez Créer une instance à l'aide de l'assistant.
Pour plus d'informations sur le déploiement d'une image NVA, consultez Créer une image personnalisée à partir d'une instance.
Des groupes de sécurité ont été créés pour l'instance ECS du serveur d'application, ECS01 et ECS02. Vous pouvez configurer les règles de groupe de sécurité en fonction de vos besoins métier et de sécurité. Pour plus d'informations, consultez Créer un groupe de sécurité.
Procédure
Étape 1 : Créer une instance GWLB
Une instance est une entité de service d'équilibrage de charge. Vous devez d'abord créer une instance GWLB.
Connectez-vous à la console Gateway Load Balancer.
Dans la barre de navigation supérieure, sélectionnez la région dans laquelle vous souhaitez créer l'instance GWLB.
Sur la page Instances, cliquez sur Create GWLB.
-
Sur la page d'achat Gateway Load BalancerGateway Load Balancer, configurez les paramètres suivants.
Cette section décrit uniquement les paramètres pertinents. Utilisez les valeurs par défaut pour les autres paramètres. Pour plus d'informations sur les paramètres, consultez Créer et gérer des instances GWLB.
Paramètre
Description
Nom de l'instance
Saisissez un nom pour l'instance.
VPC
Sélectionnez le VPC de sécurité auquel l'instance appartient.
Région et zone
Sélectionnez la région à laquelle l'instance appartient. Dans cet exemple, Chine (Ulanqab) est sélectionné.
Zone
Sélectionnez au moins une zone de disponibilité. Dans cet exemple, Ulanqab Zone B et le vSwitch du vSwitch GWLB dans cette zone de disponibilité sont sélectionnés.
Version IP
Sélectionnez la version IP de l'instance. Dans cet exemple, IPv4 est sélectionné.
Rôle lié au service
Lors de la première création d'une instance GWLB, cliquez sur Create Service-Linked Role pour créer un rôle lié au service nommé AliyunServiceRoleForGwlb.
RemarqueCe paramètre n'apparaît que lors de la première création d'une instance GWLB.
Cliquez sur Buy Now et suivez les instructions à l'écran pour effectuer le paiement.
Revenez à la page Instances et sélectionnez la région pour afficher la nouvelle instance.
Étape 2 : Créer un groupe de serveurs backend
Vous devez créer un groupe de serveurs et ajouter des serveurs backend pour accepter les requêtes client transférées par GWLB.
Dans le volet de navigation de gauche, choisissez .
Sur la page Server Group, cliquez sur Create Server Group.
-
Dans la boîte de dialogue Create Server Group, configurez les paramètres du groupe de serveurs et cliquez sur Create.
Cette section décrit uniquement les paramètres pertinents. Pour plus d'informations, consultez Créer et gérer un groupe de serveurs.
Paramètre
Description
Server Group Type
Sélectionnez un type de groupe de serveurs. Dans cet exemple, Server est sélectionné.
Server Group Name
Saisissez un nom pour le groupe de serveurs.
VPC
Dans la liste déroulante VPC, sélectionnez le VPC de sécurité dans lequel les instances ECS sont déployées.
RemarqueAssurez-vous que le VPC sélectionné est identique à celui que vous avez choisi lors de la création de l'instance GWLB.
Scheduling Algorithm
Sélectionnez un algorithme de planification. Dans cet exemple, 5-tuple Hashing est sélectionné.
Health Check Method
Sélectionnez une méthode de contrôle d'état de santé ou désactivez les contrôles. Dans cet exemple, TCP est sélectionné.
Health Check Port
Saisissez le port de contrôle d'état de santé. Dans cet exemple, le port 80 est utilisé.
Dans la boîte de dialogue The server group is created., cliquez sur Add Backend Server.
Sur l'onglet Backend Servers, cliquez sur Add Backend Server.
-
Dans le panneau Add Backend Server, sélectionnez Server.
Dans cet exemple, le type de serveur est défini sur ECS/ENI.
-
Sélectionnez les instances ECS01 et ECS02 que vous avez créées, puis cliquez sur OK.
RemarqueDans cet exemple, le type de serveur est défini sur ECS/ENI.
Assurez-vous d'avoir déployé des images NVA sur les serveurs backend et que ces derniers peuvent traiter le trafic Geneve.
Étape 3 : Configurer un écouteur
Configurez un écouteur pour l'instance et associez-le au groupe de serveurs backend afin de transférer le trafic de tous les ports vers les serveurs backend via le protocole Geneve.
Dans le volet de navigation de gauche, choisissez , puis cliquez sur l'ID de l'instance.
Cliquez sur l'onglet Listeners puis sur Create IP Listener.
Sur la page de configuration Create IP Listener, sélectionnez un Server Group Type, puis sélectionnez le groupe de serveurs que vous avez créé.
La liste des serveurs ajoutés s'affiche sur la page. Cliquez sur OK.
Étape 4 : Configurer un service d'endpoint
Un fournisseur de services doit utiliser un service d'endpoint pour permettre à GWLB de fournir des services en externe.
Connectez-vous à la console PrivateLink.
Sur la page Endpoint Service, cliquez sur Create Endpoint Service.
-
Sur la page Create Endpoint Service, configurez le service d'endpoint avec les informations suivantes, puis cliquez sur OK.
Seules les configurations pertinentes pour cette rubrique sont répertoriées ici.
Paramètre
Description
Region
Dans cet exemple, Chine (Ulanqab) est sélectionné.
Service Resource Type
Le type de ressource de service pour le service d'endpoint. Dans cet exemple, GWLB est sélectionné.
Select Service Resource
Sélectionnez la zone de disponibilité de la ressource de service et la ressource de service au sein de cette zone de disponibilité.
Dans cet exemple, la zone de disponibilité est définie sur Ulanqab Zone B. La ressource de service pour la zone B est l'instance GWLB créée à l'étape 1.
IP Version
Dans cet exemple, IPv4 est sélectionné.
Automatically Accept Endpoint Connections
Indiquez si vous souhaitez accepter automatiquement les demandes de connexion des endpoints. Dans cet exemple, Yes est sélectionné.
RemarqueSi vous activez cette fonctionnalité, le service d'endpoint accepte automatiquement les demandes de connexion après la création d'un endpoint.
Service Payer
Dans cet exemple, Service Consumer est sélectionné.
Étape 5 : Configurer un endpoint GWLB
En tant que consommateur de services, créez un endpoint GWLB pour vous connecter au service d'endpoint.
Connectez-vous à la console PrivateLink.
Sur la page Endpoints, cliquez sur l'onglet Interface Endpoint, puis cliquez sur Create Endpoint.
-
Sur la page Create Endpoint, configurez l'endpoint avec les informations suivantes, puis cliquez sur OK.
Seules les configurations hautement pertinentes pour cette rubrique sont répertoriées ici.
Paramètre
Description
Region
Dans cet exemple, Chine (Ulanqab) est sélectionné.
Endpoint Name
Saisissez un nom personnalisé pour l'endpoint.
Endpoint Type
Sélectionnez le type d'endpoint. Dans cet exemple, GWLB Endpoint est sélectionné.
Endpoint Service
Dans cet exemple, cliquez d'abord sur Select Service, puis sélectionnez le service d'endpoint créé à l'étape 4.
VPC
Sélectionnez le VPC auquel l'endpoint appartient. Dans cet exemple, l'ID du VPC métier est sélectionné.
Zones and vSwitches
Sélectionnez la zone de disponibilité correspondant au service d'endpoint, puis sélectionnez un vSwitch au sein de cette zone. Le système crée automatiquement une interface réseau élastique (ENI) d'endpoint dans le vSwitch.
Dans cet exemple, la zone de disponibilité est définie sur Ulanqab Zone B et l'ID du vSwitch d'endpoint GWLB dans la zone B est sélectionné.
IP Version
Dans cet exemple, IPv4 est sélectionné.
RemarqueAssurez-vous que l'état de connexion de l'endpoint est Connected.
Étape 6 : Configurer les routes
En tant que consommateur de services, configurez les routes pour diriger le trafic vers l'endpoint GWLB.
Connectez-vous à la console VPC.
Dans le volet de navigation de gauche, cliquez sur Route Tables.
Dans la barre de navigation supérieure, sélectionnez la région où se trouvent les tables de routage.
-
Sur la page Route Tables, cliquez sur l'ID de la table de routage cible.
RemarqueLes tables de routage cibles incluent la table de routage de la passerelle IPv4, la table de routage du vSwitch de serveur d'application et la table de routage du vSwitch d'endpoint GWLB. Configurez-les une par une.
-
Sur la page des détails de la table de routage, cliquez sur l'onglet Route Entry List, puis sur System Route et affichez les entrées de route système.
Le système ajoute automatiquement la route système suivante à une table de routage personnalisée :
Une entrée de route dont le bloc CIDR de destination correspond au bloc CIDR d'un vSwitch dans le VPC auquel la table de routage appartient. Cette route est utilisée pour la communication entre les ressources cloud au sein du vSwitch.
-
Pour modifier une entrée de route système dans la table de routage de la passerelle IPv4, recherchez l'entrée de route système cible dans l'onglet . Dans la colonne Actions, cliquez sur Modify. Dans la boîte de dialogue Modify Route Entry, configurez les paramètres suivants, puis cliquez sur OK. L'entrée de route apparaît alors comme une entrée de route personnalisée.
Paramètre
Description
Destination CIDR Block
Le bloc CIDR de destination pour le transfert du trafic. Le champ Destination CIDR Block ne peut pas être modifié. Dans cet exemple, le bloc CIDR de destination est 192.168.2.0/24.
Name
Modifiez le nom de l'entrée de route.
Next Hop Type
Sélectionnez un type de prochain saut. Dans cet exemple, Gateway Load Balancer endpoint est sélectionné.
GWLB Endpoint
Sélectionnez l'GWLB Endpoint créé à l'étape 5.
-
Pour ajouter une entrée de route personnalisée lors de la configuration des tables de routage du vSwitch de serveur d'application et du vSwitch d'endpoint GWLB, cliquez sur Custom Route, saisissez le bloc CIDR de destination et le type de prochain saut, puis cliquez sur OK.
Lors de la configuration de la table de routage du vSwitch de serveur d'application, créez une entrée de route personnalisée avec le bloc CIDR de destination défini sur 0.0.0.0/0 et le type de prochain saut défini sur Gateway Load Balancer endpoint.
Lors de la configuration de la table de routage du vSwitch d'endpoint GWLB, créez une entrée de route personnalisée avec le bloc CIDR de destination défini sur 0.0.0.0/0 et le type de prochain saut défini sur IPv4 Gateway.
-
Configuration de la table de routage pour la passerelle IPv4
La table de routage de la passerelle IPv4 doit contenir une entrée de route qui dirige le trafic destiné au serveur d'application vers l'endpoint GWLB. Le tableau suivant présente un exemple de configuration de table de routage pour la passerelle IPv4.
Bloc CIDR de destination
Type de prochain saut
Type d'entrée de route
192.168.5.0/24
Local
Système
192.168.2.0/24
Endpoint Gateway Load Balancer
Personnalisé
-
Configuration de la table de routage pour le vSwitch de serveur d'application
La table de routage du vSwitch de serveur d'application doit contenir une entrée de route qui dirige tout le trafic du serveur d'application vers l'endpoint GWLB. Le tableau suivant présente un exemple de configuration de table de routage pour le vSwitch de serveur d'application.
Bloc CIDR de destination
Type de prochain saut
Type d'entrée de route
192.168.2.0/24
Local
Système
192.168.5.0/24
Local
Système
0.0.0.0/0
Endpoint Gateway Load Balancer
Personnalisé
-
Configuration de la table de routage pour le vSwitch d'endpoint GWLB
La table de routage du vSwitch d'endpoint GWLB doit acheminer le trafic retournant de l'inspection vers sa destination finale. Pour le trafic provenant d'Internet, les routes locales garantissent que le trafic atteint le serveur d'application. Pour le trafic provenant du serveur d'application, vous devez ajouter une entrée de route qui dirige tout le trafic vers la passerelle IPv4. Le tableau suivant présente un exemple de configuration de table de routage pour le vSwitch d'endpoint GWLB.
Bloc CIDR de destination
Type de prochain saut
Type d'entrée de route
192.168.2.0/24
Local
Système
192.168.5.0/24
Local
Système
0.0.0.0/0
Passerelle IPv4
Personnalisé
Étape 7 : Vérifier la configuration
Tester la connectivité
Connectez-vous à l'instance ECS du serveur d'application et exécutez la commande suivante pour tester sa connectivité à Internet :
ping www.aliyun.com
Un flux continu de réponses indique que le test de connectivité a réussi.
Le code suivant fournit un exemple de sortie :
[xxx@xxx ~]# ping www.aliyun.com
PING www.aliyun.com.w.cdngslb.com (180.213.xxx.xxx) 56(84) bytes of data.
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=1 ttl=53 time=15.4 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=2 ttl=53 time=13.5 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=3 ttl=53 time=13.5 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=4 ttl=53 time=13.5 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=5 ttl=53 time=13.7 ms
64 bytes from 180.213.xxx.xxx (180.213.xxx.xxx): icmp_seq=6 ttl=53 time=13.5 ms
Tester l'inspection de sécurité
Connectez-vous à ECS01 ou ECS02 et exécutez la commande suivante pour capturer tous les paquets sur le port 6081 :
tcpdump -i any port 6081
Si la sortie de la commande affiche les données de requête et de réponse de l'instance ECS du serveur d'application, cela confirme que GWLB a correctement acheminé le trafic vers la NVA pour l'inspection de sécurité.
Le code suivant fournit un exemple de sortie :
[root@xxx ~]# tcpdump -i any port 6081
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
15:15:49.578469 IP 10.0.10.16.57480 > xxx.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123.ssh > wan.adventz.com.43200: Flags [S.], seq 980244545, ack 540151794, win 29200, options [mss 1460], length 0
15:15:49.578482 IP xxx.57480 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123.ssh > wan.adventz.com.43200: Flags [S.], seq 980244545, ack 540151794, win 29200, options [mss 1460], length 0
15:15:49.610110 IP 10.0.10.16.55139 > xxx.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123 > 180.213.xxx.xxx: ICMP echo request, id 16612, seq 17, length 64
15:15:49.610116 IP xxx.55139 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 192.168.2.123 > 180.213.xxx.xxx: ICMP echo request, id 16612, seq 17, length 64
15:15:49.625531 IP 10.0.10.16.55139 > iz0jl8dnd7ratzjksyin3z.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 180.213.xxx.xxx > 192.168.2.123: ICMP echo reply, id 16612, seq 17, length 64
15:15:49.625535 IP xxx.55139 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP 180.213.xxx > 192.168.2.123: ICMP echo reply, id 16612, seq 17, length 64
15:15:49.797614 IP 10.0.10.16.60600 > iz0jl8dnd7ratzjksyin3z.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP ptr.default.58593 > 192.168.2.123.tproxy: Flags [S], seq 1189139317, win 65535, length 0
15:15:49.797625 IP xxx.60600 > 10.0.10.16.6081: Geneve, Flags [C], vni 0x0, options [32 bytes]: IP ptr.default.58593 > 192.168.2.123.tproxy: Flags [S], seq 1189139317, win 65535, length 0
Références
-
Présentation :
-
Opérations dans la console :