Todos os produtos
Search
Central de documentação

:ALIYUN::GWLB::ServerGroup

Última atualização: Jun 27, 2026

O tipo ALIYUN::GWLB::ServerGroup cria um grupo de servidores.

Sintaxe

{
  "Type": "ALIYUN::GWLB::ServerGroup",
  "Properties": {
    "VpcId": String,
    "ConnectionDrainConfig": Map,
    "HealthCheckConfig": Map,
    "Protocol": String,
    "ResourceGroupId": String,
    "Scheduler": String,
    "Servers": List,
    "ServerGroupType": String,
    "ServerGroupName": String,
    "Tags": List
  }
}

Propriedades

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

VpcId

String

Sim

Não

ID da instância VPC.

Nota

Se ServerGroupType estiver definido como Instance, apenas servidores nesta VPC poderão ser adicionados ao grupo de servidores.

ConnectionDrainConfig

Map

Não

Sim

Configuração de drenagem de conexões.

Para mais informações, consulte Propriedades de ConnectionDrainConfig.

HealthCheckConfig

Map

Não

Sim

Configuração de verificação de integridade.

Para mais informações, consulte Propriedades de HealthCheckConfig.

Protocol

String

Não

Não

Protocolo de encaminhamento de backend.

Valor válido:

  • GENEVE (padrão)

ResourceGroupId

String

Não

Não

ID do grupo de recursos.

Nenhuma

Scheduler

String

Não

Sim

Algoritmo de agendamento.

Valores válidos:

  • 5TCH (padrão): hash de 5 tuplas. Hashing consistente baseado em uma 5-tupla (endereço IP de origem, endereço IP de destino, porta de origem, porta de destino e protocolo). O mesmo fluxo é agendado para o mesmo servidor de backend.

  • 3TCH: hash de 3 tuplas. Hashing consistente baseado em uma tripla (endereço IP de origem, endereço IP de destino e protocolo). O mesmo fluxo é direcionado ao mesmo servidor de backend.

  • 2TCH: hash de 2 tuplas. Hashing consistente baseado em uma dupla (endereço IP de origem e endereço IP de destino). O mesmo fluxo é enviado ao mesmo servidor de backend.

Servers

List

Não

Sim

Lista de servidores de backend.

Para mais informações, consulte Propriedades de Servers.

ServerGroupType

String

Não

Não

Tipo do grupo de servidores.

Valores válidos:

  • Instance (padrão): o grupo de servidores contém instâncias. É possível adicionar instâncias ECS, ENIs e instâncias ECI a este tipo de grupo.

  • Ip: o grupo contém endereços IP. Adicione servidores de backend diretamente especificando seus endereços IP.

ServerGroupName

String

Não

Sim

Nome do grupo de servidores.

O nome deve ter entre 2 e 128 caracteres. Deve começar com uma letra ou caractere chinês e pode conter dígitos, pontos (.), sublinhados (_) e hifens (-).

Tags

List

Não

Sim

Tags personalizadas.

Para mais informações, consulte Propriedades de Tags.

Sintaxe de ConnectionDrainConfig

"ConnectionDrainConfig": {
  "ConnectionDrainEnabled": Boolean,
  "ConnectionDrainTimeout": Integer
}

Propriedades de ConnectionDrainConfig

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

ConnectionDrainEnabled

Boolean

Não

Sim

Defina se a drenagem de conexões está ativada.

Valores válidos:

  • true: ative.

  • false (padrão): desativa.

ConnectionDrainTimeout

Integer

Não

Sim

Tempo limite para drenagem de conexões.

Unidade: segundos.

Valores válidos: 1 a 3600.

Valor padrão: 300.

Sintaxe de HealthCheckConfig

"HealthCheckConfig": {
  "HealthCheckInterval": Integer,
  "HealthCheckConnectPort": Integer,
  "UnhealthyThreshold": Integer,
  "HealthyThreshold": Integer,
  "HealthCheckPath": String,
  "HealthCheckProtocol": String,
  "HealthCheckConnectTimeout": Integer,
  "HealthCheckDomain": String,
  "HealthCheckEnabled": Boolean,
  "HealthCheckHttpCode": List
}

Propriedades de HealthCheckConfig

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

HealthCheckInterval

Integer

Não

Sim

Intervalo entre duas verificações de integridade consecutivas.

Unidade: segundos.

Valores válidos: 1 a 50.

Valor padrão: 10.

HealthCheckConnectPort

Integer

Não

Sim

Porta no servidor de backend usada para verificações de integridade.

Valores válidos: 1 a 65535.

Valor padrão: 80.

HealthyThreshold

Integer

Não

Sim

Número de verificações de integridade bem-sucedidas consecutivas necessárias para alterar o status de um servidor de backend de falho para íntegro.

Valores válidos: 2 a 10.

Valor padrão: 2.

HealthCheckPath

String

Não

Sim

Caminho para as verificações de integridade.

O caminho deve ter entre 1 e 80 caracteres. Pode conter letras, dígitos, hifens (-), barras (/), pontos (.), sinais de porcentagem (%), pontos de interrogação (?), cerquilhas (#), e comerciais (&) e os seguintes caracteres estendidos: _;~!()*[]@$^:',+=

O caminho deve começar com uma barra (/).

Nota

Este parâmetro é válido apenas quando HealthCheckProtocol está definido como HTTP.

HealthCheckProtocol

String

Não

Sim

Protocolo de verificação de integridade.

Valores válidos:

  • TCP (padrão): envia mensagens de handshake SYN para verificar se a porta do servidor está ativa.

  • HTTP: envia requisições GET para simular o acesso de um navegador e verificar se a aplicação no servidor está íntegra.

HealthCheckConnectTimeout

Integer

Não

Sim

Tempo limite máximo para resposta de uma verificação de integridade.

Unidade: segundos.

Valores válidos: 1 a 300.

Valor padrão: 5.

HealthCheckDomain

String

Não

Sim

Nome de domínio para verificações de integridade.

Valores válidos:

  • $SERVER_IP (padrão): usa o endereço IP privado do servidor de backend.

  • domain: um nome de domínio específico. O domínio deve ter entre 1 e 80 caracteres e pode conter letras, dígitos, hifens (-) e pontos (.).

Nota

Este parâmetro é válido apenas quando HealthCheckProtocol está definido como HTTP.

HealthCheckEnabled

Boolean

Não

Sim

Defina se as verificações de integridade estão ativadas.

Valores válidos:

  • true (padrão): ativado.

  • false: desativado.

HealthCheckHttpCode

List

Não

Sim

Lista de códigos de status HTTP que indicam um estado íntegro.

Códigos de status HTTP que indicam integridade. Valores válidos:

  • http_2xx

  • http_3xx

  • http_4xx

  • http_5xx

Nota

Este parâmetro é válido apenas quando HealthCheckProtocol está definido como HTTP.

UnhealthyThreshold

Integer

Não

Sim

Número de verificações de integridade falhas consecutivas necessárias para alterar o status de um servidor de backend de íntegro para falho.

Valores válidos: 2 a 10.

Valor padrão: 2.

Sintaxe de Servers

"Servers": [
  {
    "ServerType": String,
    "ServerId": String,
    "Port": Integer,
    "ServerIp": String
  }
]

Propriedades de Servers

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

ServerType

String

Sim

Sim

Tipo do servidor de backend.

Valores válidos:

  • Ecs: uma instância ECS.

  • Eni: uma ENI.

  • Eci: uma instância ECI.

  • Ip: um endereço IP.

ServerId

String

Sim

Sim

ID do servidor de backend.

Nenhuma

Port

Integer

Não

Não

Porta utilizada pelo servidor de backend.

Valor válido:

  • 6081

ServerIp

String

Não

Sim

Endereço IP do servidor de backend.

Nenhuma

Sintaxe de Tags

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

Propriedades de Tags

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

Key

String

Sim

Não

Chave da tag.

Nenhuma

Value

String

Não

Não

Valor da tag.

Nenhuma

Valores de retorno

Fn::GetAtt

  • ConnectionDrainConfig: configuração para drenagem de conexões.

  • VpcId: ID da VPC.

  • ResourceGroupId: ID do grupo de recursos.

  • Scheduler: algoritmo de agendamento.

  • CreateTime: momento em que o recurso foi criado.

  • ServerGroupId: ID do grupo de servidores.

  • HealthCheckConfig: configuração de verificação de integridade.

  • Protocol: protocolo de encaminhamento de backend.

  • Servers: lista de servidores de backend.

  • ServerGroupType: tipo do grupo de servidores.

  • Tags: lista de tags personalizadas.

  • ServerGroupName: nome do grupo de servidores.

Exemplos

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VpcId:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
    Description:
      en: |-
        The VPC instance ID.
        > If the value of ServerGroupType is Instance, only servers in the VPC can be added to the server group.
    Required: true
Resources:
  ExtensionResource:
    Type: ALIYUN::GWLB::ServerGroup
    Properties:
      VpcId:
        Ref: VpcId
Outputs:
  ConnectionDrainConfig:
    Description: The configuration for connection draining.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ConnectionDrainConfig
  VpcId:
    Description: The ID of the VPC instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - VpcId
  ResourceGroupId:
    Description: The ID of the resource group.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ResourceGroupId
  Scheduler:
    Description: The scheduling algorithm.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Scheduler
  CreateTime:
    Description: The time when the server group was created.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - CreateTime
  ServerGroupId:
    Description: The ID of the server group.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ServerGroupId
  HealthCheckConfig:
    Description: The health check configuration.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - HealthCheckConfig
  Protocol:
    Description: The backend protocol.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Protocol
  Servers:
    Description: The list of servers.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Servers
  ServerGroupType:
    Description: The server group type.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ServerGroupType
  Tags:
    Description: The list of resource tags.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Tags
  ServerGroupName:
    Description: The server group name.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ServerGroupName
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "VpcId": {
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Type": "String",
      "Description": {
        "en": "The VPC instance ID.\n> If the value of ServerGroupType is Instance, only servers in the VPC can be added to the server group."
      },
      "Required": true
    }
  },
  "Resources": {
    "ExtensionResource": {
      "Type": "ALIYUN::GWLB::ServerGroup",
      "Properties": {
        "VpcId": {
          "Ref": "VpcId"
        }
      }
    }
  },
  "Outputs": {
    "ConnectionDrainConfig": {
      "Description": "The configuration for connection draining.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ConnectionDrainConfig"
        ]
      }
    },
    "VpcId": {
      "Description": "The ID of the VPC instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "VpcId"
        ]
      }
    },
    "ResourceGroupId": {
      "Description": "The ID of the resource group.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ResourceGroupId"
        ]
      }
    },
    "Scheduler": {
      "Description": "The scheduling algorithm.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Scheduler"
        ]
      }
    },
    "CreateTime": {
      "Description": "The time when the server group was created.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "CreateTime"
        ]
      }
    },
    "ServerGroupId": {
      "Description": "The ID of the server group.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ServerGroupId"
        ]
      }
    },
    "HealthCheckConfig": {
      "Description": "The health check configuration.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "HealthCheckConfig"
        ]
      }
    },
    "Protocol": {
      "Description": "The backend protocol.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Protocol"
        ]
      }
    },
    "Servers": {
      "Description": "The list of servers.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Servers"
        ]
      }
    },
    "ServerGroupType": {
      "Description": "The server group type.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ServerGroupType"
        ]
      }
    },
    "Tags": {
      "Description": "The list of resource tags.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Tags"
        ]
      }
    },
    "ServerGroupName": {
      "Description": "The server group name.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ServerGroupName"
        ]
      }
    }
  }
}