Tous les produits
Search
Centre de documentation

Resource Orchestration Service:ALIYUN::SLB::Rule

Dernière mise à jour :Aug 20, 2026

La ressource ALIYUN::SLB::Rule ajoute des règles de transfert à un écouteur HTTP ou HTTPS spécifié.

Syntaxe

{
  "Type": "ALIYUN::SLB::Rule",
  "Properties": {
    "ListenerPort": Integer,
    "RuleList": List,
    "LoadBalancerId": String,
    "ListenerProtocol": String
  }
}

Propriétés

Nom de la propriété

Type

Obligatoire

Mise à jour autorisée

Description

Contraintes

ListenerPort

Integer

Oui

Non

Port d'écoute frontal de l'instance Server Load Balancer.

Valeur comprise entre 1 et 65535.

RuleList

List

Oui

Non

Règles de transfert à ajouter.

Une seule requête peut ajouter jusqu'à 10 règles de transfert.

Chaque règle de transfert contient les paramètres suivants :

  • RuleName

  • Domain

  • Url

  • VServerGroupId

Spécifiez Domain, Url, ou les deux.

Remarque

La combinaison de Domain et Url doit être unique au sein du même écouteur.

LoadBalancerId

String

Oui

Non

ID de l'instance Server Load Balancer.

Aucune

ListenerProtocol

String

Non

Non

Protocole frontal utilisé par l'instance.

Aucune

Syntaxe de RuleList

"RuleList": [
  {
    "Url": String,
    "Domain": String,
    "VServerGroupId": String,
    "RuleName": String,
    "AdvancedSettings": Map
  }
]

Propriétés de RuleList

Nom de la propriété

Type

Obligatoire

Mise à jour autorisée

Description

Contraintes

Url

String

Non

Non

Chemin d'accès.

  • Longueur comprise entre 2 et 80 caractères.

  • Doit commencer par une barre oblique (/) et peut contenir des lettres, des chiffres et les caractères spéciaux suivants :

    -/.%?#&.

Domain

String

Non

Non

Nom de domaine de la requête associé à la règle de transfert.

Aucune

VServerGroupId

String

Oui

Non

ID du groupe de serveurs virtuels cible pour cette règle de transfert.

Aucune

RuleName

String

Oui

Non

Nom de la règle de transfert.

Le nom doit comporter entre 1 et 40 caractères et peut contenir des lettres, des chiffres et les caractères spéciaux suivants :

-/._.

Les noms des différentes règles au sein du même écouteur doivent être uniques.

AdvancedSettings

Map

Non

Non

Configuration avancée du serveur.

Aucune

Syntaxe de AdvancedSettings

"AdvancedSettings": [{ 
  "Cookie": String,
  "StickySession": String,
  "HealthCheckConnectPort": Integer,
  "StickySessionType": String,
  "HealthCheckTimeout": Integer,
  "HealthCheck": String,
  "HealthCheckURI": String,
  "CookieTimeout": Integer,
  "HealthCheckHttpCode": String,
  "HealthyThreshold": Integer,
  "UnhealthyThreshold": Integer,
  "Scheduler": String,
  "HealthCheckDomain": String,
  "ListenerSync": String,
  "HealthCheckInterval": Integer 
}]

Propriétés de AdvancedSettings

Nom de la propriété

Type

Obligatoire

Mise à jour autorisée

Description

Contraintes

Cookie

String

Non

Non

Cookie configuré sur le serveur.

Le cookie doit comporter entre 1 et 200 caractères. Il ne peut contenir que des lettres et des chiffres ASCII. Il ne peut pas contenir de virgules, de points-virgules ou d'espaces. Il ne peut pas commencer par $.

Ce paramètre est obligatoire et prend effet uniquement lorsque StickySession est défini sur on et que StickySessionType est défini sur server.

StickySession

String

Non

Non

Active ou désactive la persistance de session.

Valeurs valides :

  • on : Active la persistance de session.

  • off : Désactive la persistance de session.

Remarque

Ce paramètre est obligatoire et prend effet lorsque ListenerSync est défini sur off. Si ListenerSync est défini sur on, la configuration est identique à celle de l'écouteur.

HealthCheckConnectPort

Integer

Non

Non

Port du serveur backend utilisé pour les vérifications d'état.

Valeur comprise entre 1 et 65535.

Remarque

Ce paramètre prend effet lorsque HealthCheck est défini sur on. Si ce paramètre est vide et que HealthCheck est défini sur on, le port backend de l'écouteur est utilisé par défaut.

HealthCheck

String

Non

Non

Active ou désactive les vérifications d'état.

Valeurs valides :

  • on : Active les vérifications d'état.

  • off : Désactive les vérifications d'état.

Remarque

Ce paramètre prend effet lorsque ListenerSync est défini sur off. Si ListenerSync est défini sur on, la configuration est identique à celle de l'écouteur.

HealthCheckURI

String

Non

Non

URI utilisé pour les vérifications d'état.

Ce paramètre prend effet lorsque HealthCheck est défini sur on.

CookieTimeout

Integer

Non

Non

Durée d'expiration du cookie.

Valeur : de 1 à 86400 secondes.

Remarque

Ce paramètre est obligatoire et prend effet uniquement lorsque StickySession est défini sur on et que StickySessionType est défini sur insert.

HealthCheckHttpCode

String

Non

Non

Codes d'état HTTP indiquant un état de vérification d'état normal.

Séparez plusieurs codes d'état par des virgules.

Valeurs valides : http_2xx, http_3xx, http_4xx et http_5xx.

Remarque

Ce paramètre prend effet lorsque HealthCheck est défini sur on.

HealthyThreshold

Integer

Non

Non

Seuil de vérification d'état.

Nombre de vérifications d'état réussies consécutives nécessaires pour faire passer l'état de vérification d'un serveur backend de failed à Normal. Valeur : de 2 à 10.

Remarque

Ce paramètre prend effet lorsque HealthCheck est défini sur on.

UnhealthyThreshold

Integer

Non

Non

Seuil de vérification d'état défaillant.

Nombre de vérifications d'état échouées consécutives nécessaires pour faire passer l'état de vérification d'un serveur backend de Normal à failed. Valeur : de 2 à 10.

Remarque

Ce paramètre prend effet lorsque HealthCheck est défini sur on.

Scheduler

String

Non

Non

Algorithme de planification.

Valeurs valides :

  • wrr (par défaut) : Les serveurs backend ayant des poids plus élevés sont interrogés plus fréquemment.

  • rr : Distribue les requêtes externes aux serveurs backend séquentiellement en fonction de l'ordre d'accès.

Remarque

Ce paramètre prend effet lorsque ListenerSync est défini sur off. Si ListenerSync est défini sur on, la configuration est identique à celle de l'écouteur.

HealthCheckDomain

String

Non

Non

Nom de domaine utilisé pour les vérifications d'état.

Valeurs valides :

  • $_ip : Adresse IP privée du serveur backend. Si vous spécifiez une adresse IP ou laissez ce paramètre vide, Server Load Balancer utilise l'adresse IP privée de chaque serveur backend comme nom de domaine pour les vérifications d'état.

  • domain : Le nom de domaine doit comporter entre 1 et 80 caractères et ne peut contenir que des lettres, des chiffres, des points (.) et des traits d'union (-).

Remarque

Ce paramètre prend effet lorsque HealthCheck est défini sur on.

ListenerSync

String

Non

Non

Indique si la règle de transfert hérite des configurations de vérification d'état, de persistance de session et d'algorithme de planification de l'écouteur.

Valeurs valides :

  • off : N'hérite pas des configurations de l'écouteur. La règle de transfert utilise des configurations personnalisées de vérification d'état et de persistance de session.

  • on : Hérite des configurations de l'écouteur.

HealthCheckInterval

Integer

Non

Non

Intervalle de vérification d'état.

Valeur : de 1 à 50 secondes.

Remarque

Ce paramètre prend effet lorsque HealthCheck est défini sur on.

HealthCheckTimeout

Integer

Non

Non

Délai d'attente pour une réponse de vérification d'état.

Si un serveur backend, tel qu'une instance ECS, ne renvoie pas de réponse de vérification d'état dans le délai d'attente spécifié, la vérification d'état échoue. Unité : secondes. Valeur comprise entre 1 et 300.

StickySessionType

String

Non

Non

Méthode utilisée pour gérer les cookies.

Valeurs valides :

  • insert : Insère un cookie.

  • server : Réécrit un cookie.

Valeur de retour

Fn::GetAtt

Rules : Liste de règles de transfert.

Exemples

Exemple YAML

ROSTemplateFormatVersion: '2015-09-01'
Resources:
  Rule:
    Type: ALIYUN::SLB::Rule
    Properties:
      ListenerPort:
        Ref: ListenerPort
      RuleList:
        Fn::Split:
          - ','
          - Ref: RuleList
          - Ref: RuleList
      LoadBalancerId:
        Ref: LoadBalancerId
Parameters:
  ListenerPort:
    Type: Number
    Description: |-
      The front-end HTTPS listener port of the Server Load Balancer instance. Valid value:
      1-65535
    MaxValue: 65535
    MinValue: 1
  RuleList:
    MinLength: 1
    Type: CommaDelimitedList
    Description: The forwarding rules to add.
    MaxLength: 10
  LoadBalancerId:
    Type: String
    Description: The ID of Server Load Balancer instance.
Outputs:
  Rules:
    Description: A list of forwarding rules. Each element of rules contains "RuleId".
    Value:
      Fn::GetAtt:
        - Rule
        - Rules

Exemple JSON

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "Rule": {
      "Type": "ALIYUN::SLB::Rule",
      "Properties": {
        "ListenerPort": {
          "Ref": "ListenerPort"
        },
        "RuleList": {
          "Fn::Split": [",", {
            "Ref": "RuleList"
          }, {
            "Ref": "RuleList"
          }]
        },
        "LoadBalancerId": {
          "Ref": "LoadBalancerId"
        }
      }
    }
  },
  "Parameters": {
    "ListenerPort": {
      "Type": "Number",
      "Description": "The front-end HTTPS listener port of the Server Load Balancer instance. Valid value:\n1-65535",
      "MaxValue": 65535,
      "MinValue": 1
    },
    "RuleList": {
      "MinLength": 1,
      "Type": "CommaDelimitedList",
      "Description": "The forwarding rules to add.",
      "MaxLength": 10
    },
    "LoadBalancerId": {
      "Type": "String",
      "Description": "The ID of Server Load Balancer instance."
    }
  },
  "Outputs": {
    "Rules": {
      "Description": "A list of forwarding rules. Each element of rules contains \"RuleId\".",
      "Value": {
        "Fn::GetAtt": ["Rule", "Rules"]
      }
    }
  }
}