Tous les produits
Search
Centre de documentation

Microservices Engine:Configurer une passerelle cloud native MSE en tant que passerelle de sortie

Dernière mise à jour :Aug 11, 2026

Une passerelle de sortie est une passerelle périphérique qui relie un réseau interne à un réseau externe. Elle contrôle le trafic réseau et permet l'accès et la communication à distance. Utilisez une passerelle cloud native MSE comme passerelle de sortie pour offrir un service de sortie réseau stable, efficace et sécurisé à votre cluster Container Service for Kubernetes (ACK). Vous pourrez ainsi gérer le trafic sortant et appliquer des contrôles de sécurité.

Avantages d'une passerelle cloud native MSE

  • La passerelle cloud native MSE est déployée et gérée de manière indépendante. Cette isolation par rapport au cluster ACK garantit une stabilité accrue.

  • La passerelle cloud native MSE offre des fonctionnalités de gouvernance HTTP de niveau 7, telles que les listes d'autorisation et de blocage d'adresses IP, la limitation du débit, l'équilibrage de charge, le déchargement TLS, la mise en miroir du trafic et le contrôle des en-têtes.

  • Vous n'avez pas besoin d'activer l'accès au réseau public pour chaque pod du cluster ACK. Activez uniquement l'accès public pour la passerelle cloud native MSE en configurant la SNAT sur son vSwitch. Cette approche réduit la surface d'attaque et renforce la sécurité.

Architecture de déploiement

image.png

Procédure

Étape 1 : Installer le contrôleur d'entrée MSE

Installez le contrôleur d'entrée MSE dans un cluster Container Service for Kubernetes (ACK) ou ACK Serverless cluster existant, ou lors de la création d'un nouveau cluster. Pour plus d'informations, consultez la rubrique Gérer le composant MSE Ingress Controller.

Étape 2 : Créer une ressource MseIngressConfig

MseIngressConfig est une définition de ressource personnalisée (CRD) fournie par le contrôleur d'entrée MSE. Créez une ressource MseIngressConfig pour créer ou associer une instance de passerelle gérée par MSE. Pour plus d'informations, consultez la rubrique Créer une instance de passerelle cloud native MSE.

Lors de la création de la passerelle, créez uniquement un Classic Load Balancer (CLB) interne. Voici un exemple de configuration :

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: egress-gateway
spec:
  name: egress-gateway
  common:
    instance:
      spec: 2c4g
      replicas: 3
    network:
      vSwitches:
        - "vsw-xxxx" # The ID of the vSwitch to which the gateway is bound.
      privateSLBSpec: slb.s2.small
Remarque

Si vous n'avez pas sélectionné Configure SNAT for VPC lors de la création du cluster ACK ou ACK Serverless cluster, le cluster ne peut pas accéder à Internet. Configurez la SNAT pour la passerelle séparément afin d'activer l'accès public.

L'accès au réseau public nécessite une entrée SNAT dans une passerelle NAT. Pour créer une passerelle NAT, consultez la rubrique Utiliser la fonctionnalité SNAT d'une passerelle NAT publique pour accéder à Internet. Dans la documentation liée, suivez les instructions de l'étape Étape 3 : Créer une entrée SNAT. Pour l'entrée SNAT, sélectionnez vSwitch et spécifiez l'ID du vSwitch issu de votre MseIngressConfig.

Étape 3 : Créer un service ExternalName

Un service Kubernetes ExternalName mappe un service interne à un nom DNS. Par exemple, pour accéder à la page produit Alibaba Cloud MSE depuis votre cluster Kubernetes, utilisez la configuration suivante :

apiVersion: v1
kind: Service
metadata:
  name: aliyun-svc-external
  namespace: default
spec:
  externalName: www.aliyun.com
  ports:
    - name: port1
      port: 80
      protocol: TCP
      targetPort: 80
    - name: port2
      port: 443
      protocol: TCP
      targetPort: 443
  type: ExternalName

Étape 4 : Configurer le routage pour le service ExternalName

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: mse-ingress
  namespace: default
spec:
  ingressClassName: mse
  rules:
    - host: www.aliyun.com  # The target domain name.
      http:
        paths:
          - backend:
              service:
                name: aliyun-svc-external  # The backend ExternalName service.
                port:
                  number: 80
            path: /product/aliware/mse  # The access path for the backend service.
            pathType: Prefix

Enregistrez la configuration précédente sous le nom mse-ingress.yaml et exécutez kubectl apply -f mse-ingress.yaml. Ensuite, exécutez kubectl get ingress mse-ingress -o yaml pour afficher la ressource Ingress et obtenir l'adresse CLB de la passerelle cloud native MSE. Voici un exemple de sortie :

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: HTTPS  # Required because Alibaba Cloud services enforce HTTPS. The gateway must use HTTPS to route to the backend service.
  name: mse-ingress
  namespace: default
spec:
  ingressClassName: mse
  rules:
    - host: www.aliyun.com
      http:
        paths:
          - backend:
              service:
                name: aliyun-svc-external
                port:
                  number: 443
            path: /product/aliware/mse  
            pathType: Prefix
status:
  loadBalancer:
    ingress:
      - ip: xx.xx.xx.xx  # Replace this with the CLB address of the MSE cloud-native gateway.

Étape 5 : Vérifier l'accès au service externe

curl http://www.aliyun.com/product/aliware/mse --resolve  www.aliyun.com:80:xx.xx.xx.xx
Remarque

Remplacez xx.xx.xx.xx par l'adresse IP CLB de la passerelle obtenue à l'étape Étape 4.

Documentation connexe

Pour apprendre à utiliser d'autres fonctionnalités avancées de la passerelle avec Ingress, consultez la rubrique Utilisation avancée de MSE Ingress.