All Products
Search
Document Center

Virtual Private Cloud:CreateVpnAttachment

Last Updated:Apr 02, 2024

Creates an IPsec-VPN connection. After you create the IPsec-VPN connection, you can associate the IPsec-VPN connection with a transit router.

Operation description

By default, an IPsec-VPN connection created by calling the CreateVpnAttachment operation is not associated with a resource. You can associate an IPsec-VPN connection with a transit router by calling the CreateTransitRouterVpnAttachment operation.

Prerequisites

Before you create an IPsec-VPN connection, make sure that you created a customer gateway in the region where you want to create the IPsec-VPN connection. For more information, see CreateCustomerGateway .

If you want to add BGP configurations to an IPsec-VPN connection, make sure that an autonomous system number (ASN) is assigned to the customer gateway.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
vpc:CreateVpnAttachmentWrite
  • CustomerGateway
    acs:vpc:{#regionId}:{#accountId}:customergateway/{#CustomerGatewayId}
  • VpnGateway
    acs:vpc:{#regionId}:{#accountId}:vpngateway/*
  • VpnAttachment
    acs:vpc:{#Region}:{#AccountId}:vpnattachment/{#VpnConnectionId}
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
RegionIdstringYes

The ID of the region where the IPsec-VPN connection is established.

You can call the DescribeRegions operation to query the most recent list of regions.

cn-hangzhou
NamestringNo

The name of the IPsec-VPN connection.

The name must be 1 to 100 characters in length and cannot start with http:// or https://.

nametest
CustomerGatewayIdstringYes

The ID of the customer gateway.

cgw-p0w2jemrcj5u61un8****
NetworkTypestringNo

The network type of the IPsec-VPN connection. Valid values:

  • public (default)
  • private
public
LocalSubnetstringYes

The CIDR block on the VPC side. The CIDR block is used in Phase 2 negotiations.

Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24.

The following routing modes are supported:

  • If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
  • If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
10.1.1.0/24,10.1.2.0/24
RemoteSubnetstringYes

The CIDR block on the data center side. This CIDR block is used in Phase 2 negotiations.

Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24.

The following routing modes are supported:

  • If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
  • If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
10.1.3.0/24,10.1.4.0/24
EffectImmediatelybooleanNo

Specifies whether to immediately start IPsec negotiations after the configuration takes effect. Valid values:

  • true: immediately starts IPsec negotiations after the configuration is complete.
  • false (default): starts IPsec negotiations when inbound traffic is received.
false
IkeConfigstringNo

The configurations of Phase 1 negotiations:

  • IkeConfig.Psk: The pre-shared key that is used for authentication between the VPN gateway and the data center.

    • It must be 1 to 100 characters in length, and can contain letters, digits, and the following characters: ~!`@#$%^&*()_-+={}[]|;:',.<>/?

    • If you do not specify a pre-shared key, the system generates a random 16-character string as the pre-shared key. You can call the DescribeVpnConnection operation to query the pre-shared key that is generated by the system.

    Note The pre-shared key of the IPsec-VPN connection must be the same as the authentication key of the data center. Otherwise, a connection cannot be established between the data center and the VPN gateway.
  • IkeConfig.IkeVersion: the IKE version. Valid values: ikev1 and ikev2. Default value: ikev1.

  • IkeConfig.IkeMode: the negotiation mode. Valid values: main and aggressive. Default value: main.

  • IkeConfig.IkeEncAlg: the encryption algorithm that is used in Phase 1 negotiations. Valid values: aes, aes192, aes256, des, and 3des. Default value: aes.

  • IkeConfig.IkeAuthAlg: the authentication algorithm that is used in Phase 1 negotiations. Valid values: md5, sha1, sha256, sha384, and sha512. Default value: md5.

  • IkeConfig.IkePfs: the Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Valid values: group1, group2, group5, and group14. Default value: group2.

  • IkeConfig.IkeLifetime: the SA lifetime determined by Phase 1 negotiations. Unit: seconds. Valid values: 0 to 86400. Default value: 86400.

  • IkeConfig.LocalId: the identifier on the Alibaba Cloud side. The identifier cannot exceed 100 characters in length. This parameter is empty by default.

  • IkeConfig.RemoteId: the identifier on the data center side. The identifier cannot exceed 100 characters in length. The default value is the IP address of the customer gateway.

{"Psk":"1234****","IkeVersion":"ikev1","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400,"LocalId":"47.XX.XX.1","RemoteId":"47.XX.XX.2"}
IpsecConfigstringNo

The configurations of Phase 2 negotiations:

  • IpsecConfig.IpsecEncAlg: the encryption algorithm that is used in Phase 2 negotiations. Valid values: aes, aes192, aes256, des, and 3des. Default value: aes.
  • IpsecConfig. IpsecAuthAlg: the authentication algorithm that is used in Phase 2 negotiations. Valid values: md5, sha1, sha256, sha384, and sha512. Default value: md5.
  • IpsecConfig. IpsecPfs: the Diffie-Hellman key exchange algorithm that is used in Phase 2 negotiations. Valid values: disabled, group1, group2, group5, and group14. Default value: group2.
  • IpsecConfig. IpsecLifetime: the SA lifetime that is determined by Phase 2 negotiations. Unit: seconds. Valid values: 0 to 86400. Default value: 86400.
{"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400}
BgpConfigstringNo

The Border Gateway Protocol (BGP) configurations:

  • BgpConfig.EnableBgp: specifies whether to enable BGP. Valid values: true and false. Default value: false.

  • BgpConfig.LocalAsn: the ASN on the Alibaba Cloud side. Valid values: 1 to 4294967295. Default value: 45104.

    You can enter the ASN in two segments. Separate the first 16 bits of the ASN from the remaining 16 bits with a period (.). Enter the number in each segment in decimal format.

    For example, if you enter 123.456, the ASN is: 123 × 65536 + 456 = 8061384.

  • BgpConfig.TunnelCidr: the CIDR block of the IPsec tunnel. The CIDR block falls within 169.254.0.0/16. The subnet mask of the CIDR block must be 30 bits in length.

  • LocalBgpIp: the BGP IP address on the Alibaba Cloud side. This IP address must fall within the CIDR block range of the IPsec tunnel.

Note
  • Before you configure BGP, we recommend that you learn about how BGP works and the limits. For more information, see BGP dynamic routing .
  • We recommend that you use a private ASN to establish a connection with Alibaba Cloud over BGP. Refer to the relevant documentation for the private ASN range.
  • {"EnableBgp":"true","LocalAsn":"45104","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"}
    HealthCheckConfigstringNo

    The health check configuration:

    • HealthCheckConfig.enable: specifies whether to enable health checks. Valid values: true and false. Default value: false.

    • HealthCheckConfig.dip: the destination IP address configured for health checks. Enter the IP address on the data center side that the VPC can communicate with through the IPsec-VPN connection.

    • HealthCheckConfig.sip: the source IP address configured for health checks. Enter the IP address on the VPC side that the data center can communicate with through the IPsec-VPN connection.

    • HealthCheckConfig.interval: the time interval of health check retries. Unit: seconds. Default value: 3.

    • HealthCheckConfig.retry: the maximum number of health check retries. Default value: 3.

    • HealthCheckConfig.Policy: specifies whether to withdraw published routes when health checks fail. Valid values:

      • revoke_route (default): withdraws published routes.
      • reserve_route: does not withdraw published routes.
    {"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3","Policy": "revoke_route"}
    AutoConfigRoutebooleanNo

    Specifies whether to automatically configure routes. Valid values:

    • true (default)
    • false
    true
    EnableDpdbooleanNo

    Specifies whether to enable the dead peer detection (DPD) feature. Valid values:

    • true (default) The initiator of the IPsec-VPN connection sends DPD packets to verify the existence and availability of the peer. If no response is received from the peer within a specified period of time, the connection fails. ISAKMP SAs and IPsec SAs are deleted. The IPsec tunnel is also deleted.
    • false
    true
    EnableNatTraversalbooleanNo

    Specifies whether to enable NAT traversal. Valid values:

    • true (default) After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the VPN tunnel.
    • false
    true
    RemoteCaCertstringNo

    The peer CA certificate when a ShangMi (SM) VPN gateway is used to create the IPsec-VPN connection.

    -----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE-----
    ClientTokenstringNo

    The client token that is used to ensure the idempotence of the request.

    You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.

    Note If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.
    123e4567-e89b-12d3-a456-4266****
    Tagsobject []No

    The tag value.

    The tag value can be an empty string and cannot exceed 128 characters in length. It cannot start with aliyun or acs:, and cannot contain http:// or https://.

    Each tag key corresponds to one tag value. You can specify up to 20 tag values in each call.

    KeystringNo

    The tag key. The tag key cannot be an empty string.

    It can be at most 64 characters in length, and cannot contain http:// or https://. It cannot start with aliyun or acs:.

    You can specify at most 20 tag keys in each call.

    TagKey
    ValuestringNo

    The tag value.

    The tag value can be an empty string and cannot exceed 128 characters in length. It cannot start with aliyun or acs:, and cannot contain http:// or https://.

    Each tag key corresponds to one tag value. You can specify at most 20 tag values in each call.

    TagValue
    ResourceGroupIdstringNo

    The ID of the resource group to which the IPsec-VPN connection belongs.

    • You can call the ListResourceGroups operation to query resource group IDs.
    • If you do not specify a resource group ID, the IPsec-VPN connection belongs to the default resource group.
    rg-acfmzs372yg****

    Response parameters

    ParameterTypeDescriptionExample
    object

    The returned data.

    RequestIdstring

    The request ID.

    88187252-0E26-3C4D-9D1D-32A04454EBBA
    VpnConnectionIdstring

    The ID of the IPsec-VPN connection.

    vco-p0wb09rama8qwwgfn****
    Namestring

    The name of the IPsec-VPN connection.

    nametest
    CreateTimelong

    The timestamp generated when the IPsec-VPN connection was established. Unit: milliseconds.

    This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.

    1658201810000
    Codestring

    The status code returned by the current operation. 200 indicates that the operation is successful.

    200
    Successboolean

    Indicates whether the current operation is successful.

    • true
    • false
    true
    Messagestring

    The information returned by the current operation.

    successful

    Examples

    Sample success responses

    JSONformat

    {
      "RequestId": "88187252-0E26-3C4D-9D1D-32A04454EBBA",
      "VpnConnectionId": "vco-p0wb09rama8qwwgfn****",
      "Name": "nametest",
      "CreateTime": 1658201810000,
      "Code": "200",
      "Success": true,
      "Message": "successful"
    }

    Error codes

    HTTP status codeError codeError messageDescription
    400VpnRouteEntry.AlreadyExistsThe specified route entry is already exist.The route already exists.
    400VpnRouteEntry.ConflictThe specified route entry has conflict.Route conflicts exist.
    400NotSupportVpnConnectionParameter.IpsecPfsThe specified vpn connection ipsec Ipsec Pfs is not support.The PFS parameter set for the IPsec-VPN connection is not supported.
    400NotSupportVpnConnectionParameter.IpsecAuthAlgThe specified vpn connection ipsec Auth Alg is not support.The authentication algorithm specified for the IPsec-VPN connection is not supported.
    400VpnRouteEntry.BackupRouteValidate backup route entry failed.Active/standby routes failed authentication.
    400VpnRouteEntry.InvalidWeightInvalid route entry weight value.The weight specified for the route is invalid.
    400InvalidParameter.VpnConnectionNameThe specified vpn connection name is invalid.The VPN connection name does not meet the requirements.
    400QuotaExceeded.PolicyBasedRouteThe 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.
    400MissingParameter.TunnelCidrThe parameter TunnelCidr is mandatory when BGP is enabled.You must specify the tunnel CIDR block when you enable BGP.
    400MissingParam.CustomerGatewayAsnAsn of customer gateway is mandatory when BGP is enabled.The ASN of the customer gateway cannot be empty when you enable BGP.
    400IllegalParam.LocalAsnThe specified LocalAsn is invalid.The local ASN is invalid.
    400InvalidParameter.BgpConfigThe specified BgpConfig is invalid.The error message returned because the BGP configuration is invalid.
    400IllegalParam.TunnelCidrThe specified TunnelCidr is invalid.The TunnelCidr parameter is set to an invalid value.
    400InvalidLocalBgpIp.MalformedThe specified LocalBgpIp is malformed.The local BGP IP address is in an abnormal state.
    400IllegalParam.LocalSubnetThe specified "LocalSubnet" (%s) is invalid.The specified "LocalSubnet" (%s) is invalid.
    400IllegalParam.RemoteSubnetThe specified "RemoteSubnet" (%s) is invalid.The specified "RemoteSubnet" (%s) is invalid.
    400IllegalParam.LocalBgpIpThe specified LocalBgpIp is invalid.The local BGP IP address is invalid.
    400OperationFailed.MissCertificateThe VPN connecton has not associated any certificates.The error message returned because the VPN gateway is not associated with a certificate.
    400MissingParam.RemoteIdThe 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.
    400IllegalParam.EnableBgpVPN 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.
    400Forbidden.TagKey.DuplicatedThe specified tag key already exists.The tag resources are duplicate.
    400SizeLimitExceeded.TagNumThe maximum number of tags is exceeded.The number of tags has reached the upper limit.
    400InvalidParameter.TagValueThe specified parameter TagValue is invalid.The error message returned because the specified tag value is invalid.
    400InvalidParameter.TagKeyThe specified parameter TagKey is invalid.The error message returned because the specified tag key is invalid.
    400Duplicated.TagKeyThe specified parameter TagKey is duplicated.The error message returned because the specified tag key already exists.
    400InternalErrorThe request processing has failed due to some unknown error, exception or failure.An internal error occurred.
    400InvalidTunnelCidr.MalformedThe specified TunnelCidr is malformed.The specified tunnel CIDR block is invalid.
    400OperationFailed.NoAvailableAmountThe 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.
    403Forbbiden.SubUserUser not authorized to operate on the specified resource as your account is created by another user.You are unauthorized to perform this operation on the specified resource. Acquire the required permissions and try again.
    403ForbiddenUser 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.
    404InvalidCustomerGatewayInstanceId.NotFoundThe 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.

    For a list of error codes, visit the Service error codes.

    Change history

    Change timeSummary of changesOperation
    2023-10-19API Description Update. The Error code has changed. The request parameters of the API has changedsee changesets
    Change itemChange content
    API DescriptionAPI Description Update.
    Error CodesThe Error code has changed.
      Error Codes 400 change
      delete Error Codes: 403
      delete Error Codes: 404
    Input ParametersThe request parameters of the API has changed.
      Added Input Parameters: ResourceGroupId
    2023-08-09API Description Update. The Error code has changedsee changesets
    Change itemChange content
    API DescriptionAPI Description Update.
    Error CodesThe Error code has changed.
      delete Error Codes: 400
      delete Error Codes: 403
      delete Error Codes: 404