Invoca a API CreateVpnAttachment para criar uma conexão IPsec-VPN para anexar a uma instância de transit router.
Descrição da operação
-
No cenário de anexação a um transit router, as conexões IPsec-VPN foram atualizadas para o modo de túnel duplo. Ao criar uma conexão IPsec-VPN, além dos parâmetros obrigatórios, você pode configurar apenas os seguintes parâmetros de solicitação relacionados ao modo de túnel duplo: ClientToken, Name, NetworkType, EffectImmediately, array Tags, ResourceGroupId, array TunnelOptionsSpecification e EnableTunnelsBgp. Para mais informações, consulte Descrição da conexão IPsec-VPN de túnel duplo para cenário de anexação ao Transit Router.
-
Por padrão, uma conexão IPsec-VPN criada invocando a API
CreateVpnAttachmentnão está anexada a nenhum recurso. Você pode posteriormente anexá-la a uma instância de transit router invocando a API CreateTransitRouterVpnAttachment. Após a anexação, o sistema atribui um endereço IP de gateway à conexão IPsec-VPN. Você pode chamar a API DescribeVpnConnection para visualizar essas informações.
Pré-requisitos
Antes de criar uma conexão IPsec-VPN, certifique-se de que você já criou um customer gateway na mesma região onde a conexão IPsec-VPN será criada. Para mais informações, consulte CreateCustomerGateway.
Se você precisar adicionar configuração do Border Gateway Protocol (BGP) à conexão IPsec-VPN, certifique-se de que um número de sistema autônomo foi adicionado ao customer gateway.
Experimente agora
Testar
Autorização RAM
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| RegionId |
string |
Sim |
O ID da região da conexão IPsec-VPN. Você pode chamar a operação DescribeRegions para consultar a lista de regiões mais recente. |
cn-hangzhou |
| Name |
string |
Não |
O nome da conexão IPsec-VPN. O nome deve ter de 1 a 100 caracteres e não pode começar com |
nametest |
| CustomerGatewayId |
string |
Não |
O ID do customer gateway. Nota
Este parâmetro é obrigatório apenas quando você cria uma conexão IPsec-VPN de túnel único. |
cgw-p0w2jemrcj5u61un8**** |
| NetworkType |
string |
Não |
O tipo de rede da conexão IPsec-VPN. Valores válidos:
|
public |
| LocalSubnet |
string |
Sim |
O bloco CIDR do lado da VPC. O bloco CIDR é usado nas negociações da Fase 2. Separe múltiplos blocos CIDR com vírgulas (,). Exemplo: 192.168.1.0/24,192.168.2.0/24. Os seguintes modos de roteamento são suportados:
|
10.1.1.0/24,10.1.2.0/24 |
| RemoteSubnet |
string |
Sim |
O bloco CIDR do lado do data center. Este bloco CIDR é usado nas negociações da Fase 2. Separe múltiplos blocos CIDR com vírgulas (,). Exemplo: 192.168.3.0/24,192.168.4.0/24. Os seguintes modos de roteamento são suportados:
|
10.1.3.0/24,10.1.4.0/24 |
| EffectImmediately |
boolean |
Não |
Especifica se as negociações IPsec devem ser iniciadas imediatamente após a configuração entrar em vigor. Valores válidos:
|
false |
| IkeConfig |
string |
Não |
Este parâmetro é suportado se você criar uma conexão IPsec-VPN no modo de túnel único. As configurações das negociações da Fase 1:
|
{"Psk":"1234****","IkeVersion":"ikev1","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400,"LocalId":"47.XX.XX.1","RemoteId":"47.XX.XX.2"} |
| IpsecConfig |
string |
Não |
Este parâmetro é suportado se você criar uma conexão IPsec-VPN no modo de túnel único. As configurações das negociações da Fase 2:
|
{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400} |
| BgpConfig |
string |
Não |
Este parâmetro é suportado quando você cria uma conexão IPsec-VPN no modo de túnel único. Configuração BGP:
Nota
|
{"EnableBgp":"true","LocalAsn":"45104","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"} |
| HealthCheckConfig |
string |
Não |
Este parâmetro é suportado se você criar uma conexão IPsec-VPN no modo de túnel único. As configurações de verificação de integridade:
|
{"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3","Policy": "revoke_route"} |
| AutoConfigRoute |
boolean |
Não |
Especifica se as rotas devem ser configuradas automaticamente. Valores válidos:
|
true |
| EnableDpd |
boolean |
Não |
Este parâmetro é suportado se você criar uma conexão IPsec-VPN no modo de túnel único. Especifica se o DPD deve ser ativado. Valores válidos:
|
true |
| EnableNatTraversal |
boolean |
Não |
Este parâmetro é suportado se você criar uma conexão IPsec-VPN no modo de túnel único. Especifica se o NAT traversal deve ser ativado. Valores válidos:
|
true |
| RemoteCaCert |
string |
Não |
O certificado CA do par quando um gateway VPN ShangMi (SM) é usado para criar a conexão IPsec-VPN. |
-----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE----- |
| ClientToken |
string |
Não |
O token do cliente usado para garantir a idempotência da solicitação. Você pode usar o cliente para gerar o token, mas deve garantir que o token seja único entre diferentes solicitações. O token pode conter apenas caracteres ASCII. Nota
Se você não especificar este parâmetro, o sistema usa automaticamente o ID da solicitação como o token do cliente. O ID da solicitação pode ser diferente para cada solicitação. |
123e4567-e89b-12d3-a456-4266**** |
| Tags |
array<object> |
Não |
O valor da tag. O valor da tag pode ser uma string vazia e não pode exceder 128 caracteres. Não pode começar com Cada chave de tag corresponde a um valor de tag. Você pode especificar até 20 valores de tag em cada chamada. |
|
|
object |
Não |
Informações da tag. |
||
| Key |
string |
Não |
A chave da tag. A chave da tag não pode ser uma string vazia. Pode ter no máximo 64 caracteres e não pode conter Você pode especificar no máximo 20 chaves de tag em cada chamada. |
TagKey |
| Value |
string |
Não |
O valor da tag. O valor da tag pode ser uma string vazia e não pode exceder 128 caracteres. Não pode começar com Cada chave de tag corresponde a um valor de tag. Você pode especificar no máximo 20 valores de tag em cada chamada. |
TagValue |
| ResourceGroupId |
string |
Não |
O ID do grupo de recursos ao qual a conexão IPsec-VPN pertence.
|
rg-acfmzs372yg**** |
| TunnelOptionsSpecification |
array<object> |
Não |
As configurações de túnel.
|
|
|
array<object> |
Não |
A configuração do túnel. |
||
| CustomerGatewayId |
string |
Não |
O ID do customer gateway associado ao túnel. Nota
Este parâmetro é obrigatório quando você cria uma conexão IPsec-VPN de túnel duplo. |
cgw-p0w2jemrcj5u61un8**** |
| EnableDpd |
boolean |
Não |
Especifica se o recurso DPD deve ser ativado para o túnel. Valores válidos:
|
true |
| EnableNatTraversal |
boolean |
Não |
Especifica se o NAT traversal deve ser ativado para o túnel. Valores válidos:
|
true |
| TunnelIndex |
integer |
Não |
A ordem na qual o túnel foi criado.
|
1 |
| TunnelBgpConfig |
object |
Não |
As configurações BGP do túnel. Nota
Se você ativar o BGP para uma conexão IPsec-VPN, deve definir o parâmetro EnableTunnelsBgp como true. |
|
| LocalAsn |
integer |
Não |
O ASN do túnel do lado da Alibaba Cloud. Valores válidos: 1 a 4294967295. Valor padrão: 45104. Nota
Recomendamos que você use um ASN privado para estabelecer conexões BGP com a Alibaba Cloud. Consulte a documentação relevante para o intervalo de ASN privado. |
65530 |
| LocalBgpIp |
string |
Não |
O endereço IP BGP do túnel do lado da Alibaba Cloud. O endereço é um endereço IP que está dentro do bloco CIDR BGP. |
169.254.10.1 |
| TunnelCidr |
string |
Não |
O bloco CIDR BGP do túnel. O bloco CIDR deve estar dentro de 169.254.0.0/16 e a máscara do bloco CIDR deve ter 30 bits de comprimento. O bloco CIDR não pode ser 169.254.0.0/30, 169.254.1.0/30, 169.254.2.0/30, 169.254.3.0/30, 169.254.4.0/30, 169.254.5.0/30, 169.254.6.0/30 ou 169.254.169.252/30. Nota
Os dois túneis de uma conexão IPsec-VPN devem usar blocos CIDR diferentes. |
169.254.10.0/30 |
| TunnelIkeConfig |
object |
Não |
As configurações das negociações da Fase 1. |
|
| IkeAuthAlg |
string |
Não |
O algoritmo de autenticação usado nas negociações da Fase 1. Valores válidos: md5, sha1, sha256, sha384 e sha512. Valor padrão: sha1. |
sha1 |
| IkeEncAlg |
string |
Não |
O algoritmo de criptografia usado nas negociações da Fase 1. Valores válidos: aes, aes192, aes256, des e 3des. Valor padrão: aes. |
aes |
| IkeLifetime |
integer |
Não |
O tempo de vida da SA resultante das negociações da Fase 1. Unidade: segundos. Valores válidos: 0 a 86400. Valor padrão: 86400. |
86400 |
| IkeMode |
string |
Não |
O modo de negociação do IKE. Valores válidos: main e aggressive. Valor padrão: main.
|
main |
| IkePfs |
string |
Não |
O algoritmo de troca de chaves Diffie-Hellman usado nas negociações da Fase 1. Valor padrão: group2. |
group2 |
| IkeVersion |
string |
Não |
A versão do protocolo IKE. Valores válidos: ikev1 e ikev2. Valor padrão: ikev2. Comparado com o IKEv1, o IKEv2 simplifica o processo de negociação SA e oferece melhor suporte para cenários com múltiplos blocos CIDR. |
ikev2 |
| LocalId |
string |
Não |
O identificador do túnel do lado da Alibaba Cloud, usado nas negociações da Fase 1. O identificador não pode exceder 100 caracteres e não pode conter espaços. O valor padrão é o endereço IP do túnel. LocalId suporta nomes de domínio totalmente qualificados (FQDNs). Se você usar um FQDN, recomendamos que defina o modo de negociação como aggressive. |
47.XX.XX.1 |
| Psk |
string |
Não |
A chave pré-compartilhada usada para autenticação de identidade entre o túnel e o par do túnel.
Nota
O túnel e o par do túnel devem usar a mesma chave pré-compartilhada. Caso contrário, o túnel não poderá ser estabelecido. |
123456**** |
| RemoteId |
string |
Não |
O identificador do par do túnel, usado nas negociações da Fase 1. O identificador não pode exceder 100 caracteres e não pode conter espaços. O valor padrão é o endereço IP do customer gateway associado ao túnel. RemoteId suporta FQDNs. Se você usar um FQDN, recomendamos que defina o modo de negociação como aggressive. |
47.XX.XX.2 |
| TunnelIpsecConfig |
object |
Não |
As configurações das negociações da Fase 2. |
|
| IpsecAuthAlg |
string |
Não |
O algoritmo de autenticação usado nas negociações da Fase 2. Valores válidos: md5, sha1, sha256, sha384 e sha512. Valor padrão: sha1. |
sha1 |
| IpsecEncAlg |
string |
Não |
O algoritmo de criptografia usado nas negociações da Fase 2. Valores válidos: aes, aes192, aes256, des e 3des. Valor padrão: aes. |
aes |
| IpsecLifetime |
integer |
Não |
O tempo de vida da SA resultante das negociações da Fase 2. Unidade: segundos. Valores válidos: 0 a 86400. Valor padrão: 86400. |
86400 |
| IpsecPfs |
string |
Não |
O algoritmo de troca de chaves Diffie-Hellman usado nas negociações da Fase 2. Valor padrão: group2. Valores válidos: disabled, group1, group2, group5 e group14. |
group2 |
| EnableTunnelsBgp |
boolean |
Não |
Este parâmetro está disponível se você criar uma conexão IPsec-VPN no modo de túnel duplo. Especifica se o recurso BGP deve ser ativado para o túnel. Valores válidos: true e false. Valor padrão: false. Nota
Antes de adicionar configurações BGP, recomendamos que você aprenda como o BGP funciona e suas limitações. Para mais informações, consulte Configurar roteamento dinâmico BGP |
false |
| DryRun |
boolean |
Não |
Especifica se deve ser realizado um dry run da solicitação. Valores válidos:
|
false |
| TunnelBandwidth |
string |
Não |
Especifica a especificação de largura de banda para um único túnel VPN. Valores válidos: Standard (valor padrão): medium, com largura de banda padrão de 1 Gbps Large: large, com largura de banda padrão de 3 Gbps |
Standard |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
Os dados retornados. |
||
| RequestId |
string |
O ID da solicitação. |
88187252-0E26-3C4D-9D1D-32A04454EBBA |
| VpnConnectionId |
string |
O ID da conexão IPsec-VPN. |
vco-p0wb09rama8qwwgfn**** |
| Name |
string |
O nome da conexão IPsec-VPN. |
nametest |
| CreateTime |
integer |
O timestamp gerado quando a conexão IPsec-VPN foi estabelecida. Unidade: milissegundos. Este valor é um timestamp UNIX que representa o número de milissegundos decorridos desde a época em 1 de janeiro de 1970, 00:00:00 UTC. |
1658201810000 |
| Code |
string |
O código de status retornado pela operação atual. 200 indica que a operação foi bem-sucedida. |
200 |
| Message |
string |
As informações retornadas pela operação atual. |
successful |
| Success |
boolean |
Indica se a operação atual foi bem-sucedida.
|
true |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "88187252-0E26-3C4D-9D1D-32A04454EBBA",
"VpnConnectionId": "vco-p0wb09rama8qwwgfn****",
"Name": "nametest",
"CreateTime": 1658201810000,
"Code": "200",
"Message": "successful",
"Success": true
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | Resource.QuotaFull | The quota of resource is full | |
| 400 | InvalidVpnConnection.AlreadyExists | Vpn connection already exists. | |
| 400 | VpnRouteEntry.AlreadyExists | The specified route entry is already exist. | The route already exists. |
| 400 | VpnRouteEntry.Conflict | The specified route entry has conflict. | Route conflicts exist. |
| 400 | NotSupportVpnConnectionParameter.IpsecPfs | The specified vpn connection ipsec Ipsec Pfs is not support. | The PFS parameter set for the IPsec-VPN connection is not supported. |
| 400 | NotSupportVpnConnectionParameter.IpsecAuthAlg | The specified vpn connection ipsec Auth Alg is not support. | The authentication algorithm specified for the IPsec-VPN connection is not supported. |
| 400 | VpnRouteEntry.BackupRoute | Validate backup route entry failed. | Active/standby routes failed authentication. |
| 400 | VpnRouteEntry.InvalidWeight | Invalid route entry weight value. | The weight specified for the route is invalid. |
| 400 | InvalidParameter.VpnConnectionName | The specified vpn connection name is invalid. | The VPN connection name does not meet the requirements. |
| 400 | QuotaExceeded.PolicyBasedRoute | The maximum number of policy-based routes is exceeded. Existing routes: %s. Routes to be created: %s. Maximum routes: %s. | The quota of policy-based routes is reached. Existing routes: %s. Routes to be created: %s. Quota: %s. |
| 400 | MissingParameter.TunnelCidr | The parameter TunnelCidr is mandatory when BGP is enabled. | You must specify the tunnel CIDR block when you enable BGP. |
| 400 | OperationUnsupported.EnableBgp | Current region does not support enable BGP. | The error message returned because the current region does not support BGP. |
| 400 | MissingParam.CustomerGatewayAsn | Asn of customer gateway is mandatory when BGP is enabled. | The ASN of the customer gateway cannot be empty when you enable BGP. |
| 400 | IllegalParam.LocalAsn | The specified LocalAsn is invalid. | The local ASN is invalid. |
| 400 | InvalidParameter.BgpConfig | The specified BgpConfig is invalid. | The error message returned because the BGP configuration is invalid. |
| 400 | IllegalParam.EnableBgp | VPN connection must enable BGP when VPN gateway has enabled BGP. | The error message returned because the VPN connection must use BGP if BGP is enabled for the VPN gateway. |
| 400 | IllegalParam.TunnelCidr | The specified TunnelCidr is invalid. | The TunnelCidr parameter is set to an invalid value. |
| 400 | InvalidLocalBgpIp.Malformed | The specified LocalBgpIp is malformed. | The local BGP IP address is in an abnormal state. |
| 400 | IllegalParam.LocalBgpIp | The specified LocalBgpIp is invalid. | The local BGP IP address is invalid. |
| 400 | IllegalParam.LocalSubnet | The specified "LocalSubnet" (%s) is invalid. | The specified "LocalSubnet" (%s) is invalid. |
| 400 | IllegalParam.RemoteSubnet | The specified "RemoteSubnet" (%s) is invalid. | The specified "RemoteSubnet" (%s) is invalid. |
| 400 | OperationFailed.MissCertificate | The VPN connecton has not associated any certificates. | The error message returned because the VPN gateway is not associated with a certificate. |
| 400 | MissingParam.RemoteId | The remote ID is mandatory when creating national standard VPN connection. | The error message returned because the peer ID is not specified. You must specify the peer ID when you create a VPN connection encrypted by SM. |
| 400 | CustomerGateway.ConflictRouteEntry | The specified customer gateway has conflict with route entry. | The customer gateway conflicts with the current routes. |
| 400 | VpnTask.CONFLICT | Vpn task has conflict. | The VPN operation conflicts. Try again later. |
| 400 | Forbidden.TagKey.Duplicated | The specified tag key already exists. | The tag resources are duplicate. |
| 400 | OperationFailed.NoAvailableAmount | The available amount of your account is less than 0, please recharge before attempting to purchase. | Your account balance is negative. Top up your account before you can make a purchase. |
| 400 | SizeLimitExceeded.TagNum | The maximum number of tags is exceeded. | The number of tags has reached the upper limit. |
| 400 | InvalidParameter.TagValue | The specified parameter TagValue is invalid. | The error message returned because the specified tag value is invalid. |
| 400 | InvalidParameter.TagKey | The specified parameter TagKey is invalid. | The error message returned because the specified tag key is invalid. |
| 400 | Duplicated.TagKey | The specified parameter TagKey is duplicated. | The error message returned because the specified tag key already exists. |
| 400 | InternalError | The request processing has failed due to some unknown error, exception or failure. | |
| 400 | InvalidTunnelCidr.Malformed | The specified TunnelCidr is malformed. | The specified tunnel CIDR block is invalid. |
| 400 | CustomerGateway.ConflictVpnIp | The customer gateway associated with the IPSec connection should not have the same IP address as the VPN gateway. | The customer gateway and VPN gateway of an IPsec-VPN connection cannot use the same IP address. |
| 400 | MissingParameter.TunnelOptionsSpecification | The required parameters are missing when creating a tunnel for dual-tunnel VPN. | The required parameters are missing when creating a tunnel for dual-tunnel VPN. |
| 400 | CreateDbrRoutesQuotaFull.QuotaFull | The number of created destination routes exceeds the quota limit. | The number of created destination routes exceeds the quota limit. |
| 400 | DryRunOperation | Request validation has been passed with DryRun flag set. | The request passed the dry run. |
| 400 | VpnConnection.InvalidCreateTunnelOptions | The master and slave tunnels must be created at the same time. | The primary and secondary tunnels must be created at the same time. |
| 400 | OperationUnsupported.LargeTunnelBandwidth | Large tunnelBandwidth VpnAttachment is unsupported. | Large tunnelBandwidth VpnAttachment is unsupported. |
| 400 | IllegalParam.TunnelBandwidth | TunnelBandwidth is illegal. | TunnelBandwidth is illegal. |
| 400 | EncAlgInvalid.DesIncompatible | Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm. | Des/3des in IkeEncAlg and IpsecEncAlg does not support multi algorithm. |
| 400 | OperationFailed.OpenCdtServiceFirst | The operation is failed because of %s. | The billing method requires CDT billing enabled. Enable CDT billing and try again. |
| 400 | IkeVersionInvalid.GcmIncompatible | Ikev1 does not support IkeEncAlg of gcm16. | Ikev1 does not support IkeEncAlg of gcm16. |
| 403 | Forbbiden.SubUser | User not authorized to operate on the specified resource as your account is created by another user. | |
| 403 | Forbidden | User not authorized to operate on the specified resource. | You do not have the permissions to manage the specified resource. Apply for the permissions and try again. |
| 404 | InvalidCustomerGatewayInstanceId.NotFound | The specified customer gateway instance id does not exist. | The specified customer gateway does not exist. Check whether the ID of the customer gateway is correct. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.