Todos os produtos
Search
Central de documentação

Resource Orchestration Service:ALIYUN::VPC::VpnConnection

Última atualização: Aug 20, 2026

Use o tipo de recurso ALIYUN::VPC::VpnConnection para criar uma conexão IPsec-VPN.

Sintaxe

{
  "Type": "ALIYUN::VPC::VpnConnection",
  "Properties": {
    "IpsecConfig": Map,
    "Name": String,
    "IkeConfig": Map,
    "HealthCheckConfig": Map,
    "VpnGatewayId": String,
    "CustomerGatewayId": String,
    "RemoteSubnet": String,
    "LocalSubnet": String,
    "EffectImmediately": Boolean,
    "EnableTunnelsBgp": Boolean,
    "RemoteCaCertificate": String,
    "BgpConfig": Map,
    "AutoConfigRoute": Boolean,
    "EnableDpd": Boolean,
    "EnableNatTraversal": Boolean,
    "TunnelOptionsSpecification": List
  }
}

Propriedades

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

Name

String

Não

Sim

Nome da conexão IPsec-VPN.

O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra ou caractere chinês e não pode iniciar com http:// ou https://. Pode conter letras, caracteres chineses, dígitos, pontos (.), sublinhados (_) e hifens (-).

IkeConfig

Map

Não

Sim

Configuração da negociação da Fase 1.

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

IpsecConfig

Map

Não

Sim

Configuração da negociação da Fase 2.

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

HealthCheckConfig

Map

Não

Não

Configuração do health check.

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

VpnGatewayId

String

Sim

Não

ID do VPN Gateway.

Nenhuma

CustomerGatewayId

String

Não

Não

ID do customer gateway.

Nenhuma

RemoteSubnet

String

Sim

Sim

Bloco CIDR do data center on-premises. Este bloco CIDR é usado na negociação da Fase 2.

Separe vários blocos CIDR com vírgulas (,). Exemplo: 192.168.3.0/24,192.168.4.0/24.

LocalSubnet

String

Sim

Sim

Bloco CIDR da VPC interconectada ao data center on-premises. Este bloco CIDR é usado na negociação da Fase 2.

Separe vários blocos CIDR com vírgulas (,). Exemplo: 192.168.1.0/24,192.168.2.0/24.

EffectImmediately

Boolean

Não

Sim

Define se o túnel IPsec atual deve ser excluído e renegociado.

Valores válidos:

  • true: Renegocia a conexão imediatamente após a conclusão da configuração.

  • false (padrão): Renegocia a conexão quando tráfego é detectado.

EnableTunnelsBgp

Boolean

Não

Não

Status de ativação do Border Gateway Protocol (BGP) para o túnel.

Valores válidos:

  • true: Ativado.

  • false: Desativado.

RemoteCaCertificate

String

Não

Não

Certificado CA do par.

Nenhuma

BgpConfig

Map

Não

Sim

Configuração BGP do túnel.

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

AutoConfigRoute

Boolean

Não

Sim

Define se as rotas devem ser configuradas automaticamente.

Valores válidos:

  • false: Configurar rotas manualmente.

  • true (padrão): Configurar rotas automaticamente.

EnableDpd

Boolean

Não

Sim

Define se o recurso Dead Peer Detection (DPD) deve ser ativado para a conexão IPsec-VPN.

Valores válidos:

  • true: Ativa o recurso DPD.

    O iniciador da conexão IPsec-VPN envia pacotes DPD para verificar a existência e disponibilidade do par. Se o par não responder dentro de um período específico, a conexão é considerada desconectada. A ISAKMP Security Association (SA), a IPsec SA e o túnel IPsec correspondente são excluídos.

  • false: Desativa o recurso DPD. O iniciador da conexão IPsec-VPN não envia pacotes DPD.

EnableNatTraversal

Boolean

Não

Sim

Define se o recurso de NAT traversal deve ser ativado para o túnel.

Valores válidos:

  • false: Desativado.

  • true: Ativado.

TunnelOptionsSpecification

List

Não

Não

Configuração do túnel da conexão IPsec-VPN.

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

Sintaxe de IkeConfig

"IkeConfig": {
  "RemoteId": String,
  "Psk": String,
  "IkeVersion": String,
  "IkeMode": String,
  "IkeAuthAlg": String,
  "IkeEncAlg": String,
  "IkePfs": String,
  "IkeLifetime": Integer,
  "LocalId": String
}

Propriedades de IkeConfig

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

RemoteId

String

Não

Sim

Identidade do customer gateway.

O valor pode ter até 100 caracteres. O valor padrão é o endereço ip público do customer gateway.

Psk

String

Não

Sim

Autenticação entre o IPsec VPN Gateway e o customer gateway.

O valor pode ter até 100 caracteres. Por padrão, o sistema gera uma chave aleatoriamente. Você também pode especificar a chave.

IkeVersion

String

Não

Sim

Versão do protocolo IKE.

Valores válidos:

  • ikev1 (padrão)

  • ikev2

IkeMode

String

Não

Sim

Modo de negociação do IKEv1.

Valores válidos:

  • main (padrão)

  • aggressive

IkeAuthAlg

String

Não

Sim

Algoritmo de autenticação para a negociação da Fase 1.

Valores válidos:

  • md5 (padrão)

  • sha1

IkeEncAlg

String

Não

Sim

Algoritmo de criptografia para a negociação da Fase 1.

Valores válidos:

  • aes (padrão)

  • aes192

  • aes256

  • des

  • 3des

IkePfs

String

Não

Sim

Algoritmo de troca de chaves Diffie-Hellman usado na negociação da Fase 1.

Valores válidos:

  • group1

  • group2 (padrão)

  • group5

  • group14

  • group24

IkeLifetime

Integer

Não

Sim

Tempo de vida da SA negociada na Fase 1.

O valor deve estar entre 0 e 86.400.

O valor padrão é 86.400.

LocalId

String

Não

Sim

Identidade do VPN Gateway.

O valor pode ter até 100 caracteres. O valor padrão é o endereço ip do VPN Gateway.

Sintaxe de IpsecConfig

"IpsecConfig": {
  "IpsecAuthAlg": String,
  "IpsecEncAlg": String,
  "IpsecLifetime": Integer,
  "IpsecPfs": String
}

Propriedades de IpsecConfig

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

IpsecAuthAlg

String

Não

Sim

Algoritmo de autenticação para a negociação da Fase 2.

Valores válidos:

  • md5 (padrão)

  • sha1

IpsecEncAlg

String

Não

Sim

Algoritmo de criptografia para a negociação da Fase 2.

Valores válidos:

  • aes (padrão)

  • aes192

  • aes256

  • des

  • 3des

IpsecLifetime

Integer

Não

Sim

Tempo de vida da SA negociada na Fase 2.

O valor deve estar entre 0 e 86.400.

Unidade: segundos.

O valor padrão é 86.400.

IpsecPfs

String

Não

Sim

Algoritmo de troca de chaves Diffie-Hellman usado na negociação da Fase 2.

Valores válidos:

  • group1

  • group2 (padrão)

  • group5

  • group14

  • group24

Sintaxe de HealthCheckConfig

"HealthCheckConfig": {
  "Enable": Boolean,
  "Dip": Boolean,
  "Retry": Integer,
  "Sip": String,
  "Interval": Integer,
  "Policy": String 
}   

Propriedades de HealthCheckConfig

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

Enable

Boolean

Não

Sim

Define se os health checks devem ser ativados.

Valores válidos:

  • true

  • false

Se você definir o valor como true, deverá configurar os outros parâmetros.

Interval

Integer

Não

Sim

Intervalo entre as tentativas de health check.

Unidade: segundos.

Retry

Integer

Não

Sim

Número de vezes para enviar pacotes de health check.

Nenhuma

Dip

String

Não

Sim

Endereço ip de destino. Este é o endereço ip do data center on-premises acessível através da conexão IPsec-VPN.

Nenhuma

Sip

String

Não

Sim

Endereço ip de origem. Este é o endereço ip que o data center on-premises pode acessar através da conexão IPsec-VPN.

Nenhuma

Policy

String

Não

Sim

Define se a rota publicada deve ser revogada quando o health check falhar.

Nenhuma

Sintaxe de BgpConfig

"BgpConfig": {
  "TunnelCidr": String,
  "LocalBgpIp": String,
  "EnableBgp": Boolean,
  "LocalAsn": Number
}   

Propriedades de BgpConfig

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

TunnelCidr

String

Não

Sim

Bloco CIDR BGP do túnel.

Nenhuma

LocalBgpIp

String

Não

Sim

Endereço ip BGP no lado da Alibaba Cloud do túnel.

Nenhuma

EnableBgp

Boolean

Não

Não

Define se o recurso BGP deve ser ativado para o túnel.

Valores válidos:

  • true.

  • false.

O valor padrão é false.

LocalAsn

Number

Não

Sim

Número do sistema autônomo (ASN) no lado da Alibaba Cloud do túnel.

Nenhuma

Sintaxe de TunnelOptionsSpecification

"TunnelOptionsSpecification": [
  {
    "RemoteCaCertificate": String,
    "CustomerGatewayId": String,
    "TunnelBgpConfig": Map,
    "TunnelIpsecConfig": Map,
    "EnableDpd": Boolean,
    "TunnelIkeConfig": Map,
    "EnableNatTraversal": Boolean,
    "Role": String
  }
]

Propriedades de TunnelOptionsSpecification

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

RemoteCaCertificate

String

Não

Não

Certificado CA do par do túnel.

Este parâmetro é retornado apenas quando a instância do VPN Gateway é uma instância ShangMi (SM).

CustomerGatewayId

String

Não

Sim

ID do customer gateway associado ao túnel.

Nenhuma

TunnelBgpConfig

Map

Não

Sim

Configuração BGP do túnel.

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

TunnelIpsecConfig

Map

Não

Não

Configuração da negociação da Fase 2.

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

EnableDpd

Boolean

Não

Sim

Define se o recurso DPD deve ser ativado para a conexão IPsec-VPN.

Valores válidos:

  • true: Ativa o recurso DPD.

    O iniciador da conexão IPsec-VPN envia pacotes DPD para verificar a existência e disponibilidade do par. Se o par não responder dentro de um período específico, a conexão é considerada desconectada. A ISAKMP SA, a IPsec SA e o túnel IPsec correspondente são excluídos.

  • false: Desativa o recurso DPD. O iniciador da conexão IPsec-VPN não envia pacotes DPD.

TunnelIkeConfig

Map

Não

Sim

Configuração da negociação da Fase 1.

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

EnableNatTraversal

Boolean

Não

Sim

Define se o recurso de NAT traversal deve ser ativado para a conexão IPsec-VPN.

Valores válidos:

  • true: Ativa o recurso de NAT traversal.

    Após ativar o NAT traversal, o processo de negociação IKE não verifica portas UDP. O sistema também pode descobrir dispositivos NAT Gateway no túnel VPN.

  • false: Desativa o recurso de NAT traversal.

Role

String

Não

Sim

Função do túnel.

Valores válidos:

  • master: O túnel é um túnel primário.

  • slave: O túnel é um túnel standby.

Sintaxe de TunnelBgpConfig

"TunnelBgpConfig": {
  "TunnelCidr": String,
  "LocalAsn": Number,
  "LocalBgpIp": String
}   

Propriedades de TunnelBgpConfig

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

TunnelCidr

String

Não

Sim

Bloco CIDR BGP do túnel.

Nenhuma

LocalBgpIp

String

Não

Sim

Endereço ip BGP no lado da Alibaba Cloud do túnel.

Nenhuma

LocalAsn

Number

Não

Sim

ASN no lado da Alibaba Cloud do túnel.

Nenhuma

Sintaxe de TunnelIpsecConfig

"TunnelIpsecConfig": {
  "IpsecAuthAlg": String,
  "IpsecEncAlg": String,
  "IpsecPfs": String,
  "IpsecLifetime": Integer
}   

Propriedades de TunnelIpsecConfig

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

IpsecAuthAlg

String

Não

Sim

Algoritmo de autenticação para a fase IPsec.

Nenhuma

IpsecEncAlg

String

Não

Sim

Algoritmo de criptografia para a fase IPsec.

Nenhuma

IpsecPfs

String

Não

Sim

Tempo de vida de uma fase IPsec.

Unidade: segundos.

IpsecLifetime

Integer

Não

Sim

Número do sistema autônomo (ASN) para o lado da Alibaba Cloud do túnel.

Nenhuma

Sintaxe de TunnelIkeConfig

"TunnelIkeConfig": {
  "Psk": String,
  "IkePfs": String,
  "LocalId": String,
  "IkeVersion": String,
  "IkeAuthAlg": String,
  "IkeMode": String,
  "RemoteId": String,
  "IkeLifetime": Integer,
  "IkeEncAlg": String
}   

Propriedades de TunnelIkeConfig

Nome da propriedade

Tipo

Obrigatório

Atualização permitida

Descrição

Restrições

Psk

String

Não

Sim

Chave pré-compartilhada.

Nenhuma

IkePfs

String

Não

Sim

Grupo DH para a fase IKE.

Nenhuma

LocalId

String

Não

Sim

Identidade no lado da Alibaba Cloud do túnel.

Nenhuma

IkeVersion

String

Não

Sim

Versão do protocolo IKE.

Valores válidos:

  • ikev1

  • ikev2

Em comparação com o IKEv1, o IKEv2 simplifica o processo de negociação de SA e oferece melhor suporte para cenários com múltiplos blocos CIDR.

IkeAuthAlg

String

Não

Sim

Algoritmo de autenticação para a fase IKE.

IkeMode

String

Não

Sim

Modo de negociação IKE.

Valores válidos:

  • main: modo principal. Este modo oferece maior segurança durante a negociação.

  • aggressive: modo agressivo. Este modo é mais rápido e tem uma taxa de sucesso de negociação maior.

RemoteId

String

Não

Sim

Identidade do par do túnel.

Nenhuma

IkeLifetime

Integer

Não

Sim

Tempo de vida da fase IKE.

Unidade: segundos.

IkeEncAlg

String

Não

Sim

Algoritmo de criptografia para a fase IKE.

Nenhuma

Valores de retorno

Fn::GetAtt

  • VpnConnectionId: ID da conexão IPsec-VPN.

  • Status: Status da conexão IPsec-VPN.

  • PeerVpnConnectionConfig: Configuração de conexão para a VPC par.

Exemplos

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  LocalSubnet:
    Type: String
    Description: >-
      The CIDR block of the VPC to be interconnected with the on-premises data center.
      This CIDR block is used for Phase 2 negotiation.
      Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.
  EffectImmediately:
    Type: Boolean
    Description: >-
      Specifies whether to delete the current IPsec tunnel and renegotiate.
      Valid values:
      True: Renegotiates immediately after the configuration is complete.
      False (default): Renegotiates when traffic is detected.
    AllowedValues:
      - 'True'
      - 'true'
      - 'False'
      - 'false'
    Default: false
  RemoteSubnet:
    Type: String
    Description: >-
      The CIDR block of the on-premises data center. This CIDR block is used for Phase 2 negotiation.
      Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.
  CustomerGatewayId:
    Type: String
    Description: The ID of the customer gateway.
  VpnGatewayId:
    Type: String
    Description: The ID of the VPN Gateway.
  IpsecConfig:
    Type: Json
    Description: The configuration of Phase 2 negotiation.
  HealthCheckConfig:
    Type: Json
    Description: The configuration of the health check.
  IkeConfig:
    Type: Json
    Description: The configuration of Phase 1 negotiation.
  Name:
    Type: String
    Description: >-
      The name of the IPsec-VPN connection.
      The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character and cannot start with http:// or https://. The name can contain digits, periods (.), underscores (_), and hyphens (-).
    MinLength: 2
    MaxLength: 128
Resources:
  VpnConnection:
    Type: 'ALIYUN::VPC::VpnConnection'
    Properties:
      LocalSubnet:
        Ref: LocalSubnet
      EffectImmediately:
        Ref: EffectImmediately
      RemoteSubnet:
        Ref: RemoteSubnet
      CustomerGatewayId:
        Ref: CustomerGatewayId
      VpnGatewayId:
        Ref: VpnGatewayId
      IpsecConfig:
        Ref: IpsecConfig
      HealthCheckConfig:
        Ref: HealthCheckConfig
      IkeConfig:
        Ref: IkeConfig
      Name:
        Ref: Name
Outputs:
  Status:
    Description: The status of the IPsec-VPN connection.
    Value:
      'Fn::GetAtt':
        - VpnConnection
        - Status
  PeerVpnConnectionConfig:
    Description: The configuration of the peer VPC connection.
    Value:
      'Fn::GetAtt':
        - VpnConnection
        - PeerVpnConnectionConfig
  VpnConnectionId:
    Description: The ID of the IPsec-VPN connection.
    Value:
      'Fn::GetAtt':
        - VpnConnection
        - VpnConnectionId

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "LocalSubnet": {
      "Type": "String",
      "Description": "The CIDR block of the VPC to be interconnected with the on-premises data center. This CIDR block is used for Phase 2 negotiation.\nSeparate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24."
    },
    "EffectImmediately": {
      "Type": "Boolean",
      "Description": "Specifies whether to delete the current IPsec tunnel and renegotiate. Valid values:\nTrue: Renegotiates immediately after the configuration is complete.\nFalse (default): Renegotiates when traffic is detected.",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ],
      "Default": false
    },
    "RemoteSubnet": {
      "Type": "String",
      "Description": "The CIDR block of the on-premises data center. This CIDR block is used for Phase 2 negotiation.\nSeparate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24."
    },
    "CustomerGatewayId": {
      "Type": "String",
      "Description": "The ID of the customer gateway."
    },
    "VpnGatewayId": {
      "Type": "String",
      "Description": "The ID of the VPN Gateway."
    },
    "IpsecConfig": {
      "Type": "Json",
      "Description": "The configuration of Phase 2 negotiation."
    },
    "HealthCheckConfig": {
      "Type": "Json",
      "Description": "The configuration of the health check."
    },
    "IkeConfig": {
      "Type": "Json",
      "Description": "The configuration of Phase 1 negotiation."
    },
    "Name": {
      "Type": "String",
      "Description": "The name of the IPsec-VPN connection.\nThe name must be 2 to 128 characters in length. It must start with a letter or a Chinese character and cannot start with http:// or https://. The name can contain digits, periods (.), underscores (_), and hyphens (-).",
      "MinLength": 2,
      "MaxLength": 128
    }
  },
  "Resources": {
    "VpnConnection": {
      "Type": "ALIYUN::VPC::VpnConnection",
      "Properties": {
        "LocalSubnet": {
          "Ref": "LocalSubnet"
        },
        "EffectImmediately": {
          "Ref": "EffectImmediately"
        },
        "RemoteSubnet": {
          "Ref": "RemoteSubnet"
        },
        "CustomerGatewayId": {
          "Ref": "CustomerGatewayId"
        },
        "VpnGatewayId": {
          "Ref": "VpnGatewayId"
        },
        "IpsecConfig": {
          "Ref": "IpsecConfig"
        },
        "HealthCheckConfig": {
          "Ref": "HealthCheckConfig"
        },
        "IkeConfig": {
          "Ref": "IkeConfig"
        },
        "Name": {
          "Ref": "Name"
        }
      }
    }
  },
  "Outputs": {
    "Status": {
      "Description": "The status of the IPsec-VPN connection.",
      "Value": {
        "Fn::GetAtt": [
          "VpnConnection",
          "Status"
        ]
      }
    },
    "PeerVpnConnectionConfig": {
      "Description": "The configuration of the peer VPC connection.",
      "Value": {
        "Fn::GetAtt": [
          "VpnConnection",
          "PeerVpnConnectionConfig"
        ]
      }
    },
    "VpnConnectionId": {
      "Description": "The ID of the IPsec-VPN connection.",
      "Value": {
        "Fn::GetAtt": [
          "VpnConnection",
          "VpnConnectionId"
        ]
      }
    }
  }
}