全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::VPC::VpnConnection

更新时间:Jun 26, 2025

ALIYUN::VPC::VpnConnection digunakan untuk membuat koneksi IPsec-VPN.

Sintaksis

{
  "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
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Nama

String

Tidak

Ya

Nama dari koneksi IPsec-VPN.

Nama harus memiliki panjang 2 hingga 128 karakter. Harus dimulai dengan huruf dan tidak boleh dimulai dengan http:// atau https://. Dapat berisi huruf, angka, titik (.), garis bawah (_), dan tanda hubung (-).

IkeConfig

Map

Tidak

Ya

Konfigurasi negosiasi Fase 1.

Untuk informasi lebih lanjut, lihat properti IkeConfig.

IpsecConfig

Map

Tidak

Ya

Konfigurasi negosiasi Fase 2.

Untuk informasi lebih lanjut, lihat properti IpsecConfig.

HealthCheckConfig

Map

Tidak

Tidak

Konfigurasi pemeriksaan kesehatan.

Untuk informasi lebih lanjut, lihat properti HealthCheckConfig.

VpnGatewayId

String

Ya

Tidak

ID dari gateway VPN.

Tidak ada.

CustomerGatewayId

String

Tidak

Tidak

ID dari gateway pelanggan.

Tidak ada.

RemoteSubnet

String

Ya

Ya

Blok CIDR di sisi pusat data. Blok CIDR ini digunakan dalam negosiasi Fase 2.

Pisahkan beberapa blok CIDR dengan koma (,). Contoh: 192.168.3.0/24,192.168.4.0/24.

LocalSubnet

String

Ya

Ya

Blok CIDR di sisi virtual private cloud (VPC). Blok CIDR ini digunakan dalam negosiasi Fase 2.

Pisahkan beberapa blok CIDR dengan koma (,). Contoh: 192.168.1.0/24,192.168.2.0/24.

EffectImmediately

Boolean

Tidak

Ya

Menentukan apakah akan segera memulai negosiasi IPsec.

Nilai valid:

  • true: segera memulai negosiasi IPsec setelah konfigurasi koneksi IPsec-VPN selesai.

  • false (default): memulai negosiasi IPsec ketika lalu lintas masuk terdeteksi.

EnableTunnelsBgp

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan Border Gateway Protocol (BGP) untuk terowongan.

Nilai valid:

  • true

  • false

RemoteCaCertificate

String

Tidak

Tidak

Sertifikat otoritas sertifikat (CA) dari peer.

Tidak ada.

BgpConfig

Map

Tidak

Ya

Konfigurasi BGP dari terowongan.

Untuk informasi lebih lanjut, lihat properti BgpConfig.

AutoConfigRoute

Boolean

Tidak

Ya

Menentukan apakah akan secara otomatis mengonfigurasi rute.  

Nilai valid:

  • false  

  • true (default)  

EnableDpd

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan deteksi peer mati (DPD) untuk koneksi IPsec-VPN.

Nilai valid:

  • true: mengaktifkan DPD untuk koneksi IPsec-VPN.

    Inisiator dari koneksi IPsec-VPN mengirim paket DPD untuk memverifikasi keberadaan dan ketersediaan peer. Jika tidak ada tanggapan yang diterima dari peer dalam periode waktu tertentu, koneksi gagal. ISAKMP Security Associations (SAs) dan IPsec SAs dihapus. Terowongan IPsec-VPN juga dihapus.

  • false: menonaktifkan DPD untuk koneksi IPsec-VPN. Inisiator dari koneksi IPsec-VPN tidak mengirim paket DPD.

EnableNatTraversal

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan traversal NAT untuk terowongan.

Nilai valid:

  • false

  • true

TunnelOptionsSpecification

List

Tidak

Tidak

Konfigurasi terowongan dari koneksi IPsec-VPN.

Untuk informasi lebih lanjut, lihat properti TunnelOptionsSpecification.

Sintaksis IkeConfig

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

Properti IkeConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

RemoteId

String

Tidak

Ya

Pengenal dari gateway pelanggan.

Pengenal dapat memiliki panjang hingga 100 karakter. Nilai default adalah alamat IP publik dari gateway pelanggan.

Psk

String

Tidak

Ya

Kunci pre-shared yang digunakan untuk autentikasi antara gateway VPN dan gateway pelanggan.

Kunci dapat memiliki panjang hingga 100 karakter. Secara default, nilai acak dihasilkan. Anda juga dapat menentukan kunci pre-shared.

IkeVersion

String

Tidak

Ya

Versi protokol Internet Key Exchange (IKE).

Nilai valid:

  • ikev1 (default)

  • ikev2

IkeMode

String

Tidak

Ya

Mode negosiasi IKEv1.

Nilai valid:

  • main (default)

  • aggressive

IkeAuthAlg

String

Tidak

Ya

Algoritma autentikasi yang digunakan dalam negosiasi Fase 1.

Nilai valid:

  • md5 (default)

  • sha1

IkeEncAlg

String

Tidak

Ya

Algoritma enkripsi yang digunakan dalam negosiasi Fase 1.

Nilai valid:

  • aes (default)

  • aes192

  • aes256

  • des

  • 3des

IkePfs

String

Tidak

Ya

Algoritma pertukaran kunci Diffie-Hellman (DH) yang digunakan dalam negosiasi Fase 1.

Nilai valid:

  • group1

  • group2 (default)

  • group5

  • group14

  • group24

IkeLifetime

Integer

Tidak

Ya

Masa hidup SA yang ditentukan oleh negosiasi Fase 1.

Nilai valid: 0 hingga 86400.

Nilai default: 86400.

LocalId

String

Tidak

Ya

Pengenal dari gateway VPN.

Pengenal dapat memiliki panjang hingga 100 karakter. Nilai default adalah alamat IP publik dari gateway VPN.

Sintaksis IpsecConfig

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

Properti IpsecConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

IpsecAuthAlg

String

Tidak

Ya

Algoritma autentikasi yang digunakan dalam negosiasi Fase 2.

Nilai valid:

  • md5 (default)

  • sha1

IpsecEncAlg

String

Tidak

Ya

Algoritma enkripsi yang digunakan dalam negosiasi Fase 2.

Nilai valid:

  • aes (default)

  • aes192

  • aes256

  • des

  • 3des

IpsecLifetime

Integer

Tidak

Ya

Masa hidup SA yang ditentukan oleh negosiasi Fase 2.

Nilai valid: 0 hingga 86400.

Satuan: detik.

Nilai default: 86400.

IpsecPfs

String

Tidak

Ya

Algoritma pertukaran kunci Diffie-Hellman (DH) yang digunakan dalam negosiasi Fase 2.

Nilai valid:

  • group1

  • group2 (default)

  • group5

  • group14

  • group24

Sintaksis HealthCheckConfig

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

Properti HealthCheckConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Enable

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan fitur pemeriksaan kesehatan.

Nilai valid:

  • true

  • false

Jika Anda menetapkan properti ini ke true, Anda harus menentukan parameter lain dalam tabel ini.

Interval

Integer

Tidak

Ya

Interval antara dua percobaan ulang pemeriksaan kesehatan berturut-turut.

Satuan: detik.

Retry

Integer

Tidak

Ya

Jumlah maksimum percobaan ulang pemeriksaan kesehatan.

Tidak ada.

Dip

String

Tidak

Ya

Alamat IP dari pusat data yang dapat diakses melalui koneksi IPsec.

Tidak ada.

Sip

String

Tidak

Ya

Alamat IP yang dapat diakses dari pusat data melalui koneksi IPsec.

Tidak ada.

Policy

String

Tidak

Tidak

Menentukan apakah akan menarik rute yang diterbitkan ketika pemeriksaan kesehatan gagal.  

Tidak ada.

Sintaksis BgpConfig

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

Properti BgpConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

TunnelCidr

String

Tidak

Ya

Blok CIDR BGP dari terowongan.

Tidak ada.

LocalBgpIp

String

Tidak

Ya

Alamat BGP di sisi Alibaba Cloud.

Tidak ada.

EnableBgp

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan BGP untuk terowongan.  

Nilai valid:

  • true

  • false  

Nilai default: false.

LocalAsn

Number

Tidak

Ya

Nomor sistem otonom (ASN) dari terowongan di sisi Alibaba Cloud.

Tidak ada.

Sintaksis TunnelOptionsSpecification

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

Properti TunnelOptionsSpecification

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

RemoteCaCertificate

String

Tidak

Tidak

Sertifikat CA dari peer terowongan.

Properti ini hanya dikembalikan jika gateway VPN adalah tipe ShangMi (SM).

CustomerGatewayId

String

Tidak

Ya

ID dari gateway pelanggan yang terkait dengan terowongan.

Tidak ada.

TunnelBgpConfig

Map

Tidak

Ya

Konfigurasi BGP dari terowongan.

Untuk informasi lebih lanjut, lihat properti TunnelBgpConfig.

TunnelIpsecConfig

Map

Tidak

Tidak

Konfigurasi negosiasi Fase 2.

Untuk informasi lebih lanjut, lihat properti TunnelIpsecConfig.

EnableDpd

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan DPD untuk koneksi IPsec-VPN.

Nilai valid:

  • true: mengaktifkan DPD untuk koneksi IPsec-VPN.

    Inisiator dari koneksi IPsec-VPN mengirim paket DPD untuk memverifikasi keberadaan dan ketersediaan peer. Jika tidak ada tanggapan yang diterima dari peer dalam periode waktu tertentu, koneksi gagal. ISAKMP SAs dan IPsec SAs dihapus. Terowongan IPsec-VPN juga dihapus.

  • false: menonaktifkan DPD untuk koneksi IPsec-VPN. Inisiator dari koneksi IPsec-VPN tidak mengirim paket DPD.

TunnelIkeConfig

Map

Tidak

Ya

Konfigurasi negosiasi Fase 1.

Untuk informasi lebih lanjut, lihat properti TunnelIkeConfig.

EnableNatTraversal

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan traversal NAT untuk koneksi IPsec-VPN.

Nilai valid:

  • true: mengaktifkan traversal NAT untuk koneksi IPsec-VPN.

    Setelah Anda mengaktifkan traversal NAT, inisiator tidak memeriksa port UDP selama negosiasi IKE dan dapat secara otomatis menemukan perangkat gateway NAT di sepanjang terowongan IPsec-VPN.

  • false: menonaktifkan traversal NAT untuk koneksi IPsec-VPN.

Role

String

Tidak

Ya

Peran dari terowongan.

Nilai valid:

  • master: Terowongan adalah terowongan aktif.

  • slave: Terowongan adalah terowongan cadangan.

Sintaksis TunnelBgpConfig

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

Properti TunnelBgpConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

TunnelCidr

String

Tidak

Ya

Blok CIDR BGP dari terowongan.

Tidak ada.

LocalBgpIp

String

Tidak

Ya

Alamat BGP di sisi Alibaba Cloud.

Tidak ada.

LocalAsn

Number

Tidak

Ya

ASN dari terowongan di sisi Alibaba Cloud.

Tidak ada.

Sintaksis TunnelIpsecConfig

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

Properti TunnelIpsecConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

IpsecAuthAlg

String

Tidak

Ya

Algoritma autentikasi dalam fase IPsec.

Tidak ada.

IpsecEncAlg

String

Tidak

Ya

Algoritma enkripsi dalam fase IPsec.

Tidak ada.

IpsecPfs

String

Tidak

Ya

Masa hidup dari fase IPsec.

Satuan: detik.

IpsecLifetime

Integer

Tidak

Ya

ASN dari terowongan di sisi Alibaba Cloud.

Tidak ada.

Sintaksis TunnelIkeConfig

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

Properti TunnelIkeConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Psk

String

Tidak

Ya

Kunci pre-shared.

Tidak ada.

IkePfs

String

Tidak

Ya

Grup DH dalam fase IKE.

Tidak ada.

LocalId

String

Tidak

Ya

Pengenal dari terowongan di sisi Alibaba Cloud.

Tidak ada.

IkeVersion

String

Tidak

Ya

Versi protokol IKE.

Nilai valid:

  • ikev1

  • ikev2

Dibandingkan dengan IKEv1, IKEv2 menyederhanakan proses negosiasi SA dan lebih cocok untuk skenario di mana beberapa blok CIDR digunakan.

IkeAuthAlg

String

Tidak

Ya

Algoritma autentikasi dalam fase IKE.

Tidak ada.

IkeMode

String

Tidak

Ya

Mode negosiasi IKE.

Nilai valid:

  • main: Mode ini menawarkan keamanan yang lebih tinggi selama negosiasi.

  • aggressive: Mode ini lebih cepat dan memiliki tingkat keberhasilan yang lebih tinggi.

RemoteId

String

Tidak

Ya

Pengenal dari peer terowongan.

Tidak ada.

IkeLifetime

Integer

Tidak

Ya

Masa hidup dari fase IKE.

Satuan: detik.

IkeEncAlg

String

Tidak

Ya

Algoritma enkripsi dalam fase IKE.

Tidak ada.

Nilai Pengembalian

Fn::GetAtt

  • VpnConnectionId: ID dari koneksi IPsec-VPN.

  • Status: status dari koneksi IPsec-VPN.

  • PeerVpnConnectionConfig: konfigurasi koneksi VPC dari peer.

Contoh

Format YAML

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  LocalSubnet:
    Type: String
    Description: >-
      Segmen jaringan di sisi VPC yang perlu dihubungkan dengan pusat data lokal untuk negosiasi fase kedua.

      Beberapa segmen jaringan dipisahkan dengan koma, contohnya:
      192.168.1.0/24, 192.168.2.0/24.
  EffectImmediately:
    Type: Boolean
    Description: >-
      Apakah akan menghapus terowongan IPsec yang sedang dinegosiasikan dan memulai ulang negosiasi. Nilai:

      True: Negosiasi segera setelah konfigurasi selesai.

      False (default): Negosiasi ketika lalu lintas masuk.
    AllowedValues:
      - 'True'
      - 'true'
      - 'False'
      - 'false'
    Default: false
  RemoteSubnet:
    Type: String
    Description: >-
      Segmen jaringan dari pusat data lokal digunakan untuk negosiasi fase kedua.

      Beberapa segmen jaringan dipisahkan dengan koma, contohnya:
      192.168.3.0/24, 192.168.4.0/24.
  CustomerGatewayId:
    Type: String
    Description: ID dari gateway pengguna.
  VpnGatewayId:
    Type: String
    Description: ID dari gateway VPN.
  IpsecConfig:
    Type: Json
    Description: Informasi konfigurasi untuk negosiasi fase kedua.
  HealthCheckConfig:
    Type: Json
    Description: Apakah akan mengaktifkan konfigurasi pemeriksaan kesehatan.
  IkeConfig:
    Type: Json
    Description: Informasi konfigurasi untuk negosiasi fase pertama.
  Name:
    Type: String
    Description: >-
      Nama dari koneksi IPsec.

      Panjangnya adalah 2-128 karakter dan harus dimulai dengan huruf atau karakter Cina. Dapat berisi angka, titik (.), garis bawah (_) dan tanda hubung (-), tetapi tidak boleh dimulai dengan http:// atau https:// .
    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: Status dari koneksi IPsec.
    Value:
      'Fn::GetAtt':
        - VpnConnection
        - Status
  PeerVpnConnectionConfig:
    Description: Konfigurasi koneksi vpc peer.
    Value:
      'Fn::GetAtt':
        - VpnConnection
        - PeerVpnConnectionConfig
  VpnConnectionId:
    Description: ID dari koneksi IPsec.
    Value:
      'Fn::GetAtt':
        - VpnConnection
        - VpnConnectionId

Format JSON

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "LocalSubnet": {
      "Type": "String",
      "Description": "Segmen jaringan di sisi VPC yang perlu dihubungkan dengan pusat data lokal untuk negosiasi fase kedua.\nBeberapa segmen jaringan dipisahkan dengan koma, contohnya: 192.168.1.0/24, 192.168.2.0/24."
    },
    "EffectImmediately": {
      "Type": "Boolean",
      "Description": "Apakah akan menghapus terowongan IPsec yang sedang dinegosiasikan dan memulai ulang negosiasi. Nilai:\nTrue: Negosiasi segera setelah konfigurasi selesai.\nFalse (default): Negosiasi ketika lalu lintas masuk.",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ],
      "Default": false
    },
    "RemoteSubnet": {
      "Type": "String",
      "Description": "Segmen jaringan dari pusat data lokal digunakan untuk negosiasi fase kedua.\nBeberapa segmen jaringan dipisahkan dengan koma, contohnya: 192.168.3.0/24, 192.168.4.0/24."
    },
    "CustomerGatewayId": {
      "Type": "String",
      "Description": "ID dari gateway pengguna."
    },
    "VpnGatewayId": {
      "Type": "String",
      "Description": "ID dari gateway VPN."
    },
    "IpsecConfig": {
      "Type": "Json",
      "Description": "Informasi konfigurasi untuk negosiasi fase kedua."
    },
    "HealthCheckConfig": {
      "Type": "Json",
      "Description": "Apakah akan mengaktifkan konfigurasi pemeriksaan kesehatan."
    },
    "IkeConfig": {
      "Type": "Json",
      "Description": "Informasi konfigurasi untuk negosiasi fase pertama."
    },
    "Name": {
      "Type": "String",
      "Description": "Nama dari koneksi IPsec.\nPanjangnya adalah 2-128 karakter dan harus dimulai dengan huruf atau karakter Cina. Dapat berisi angka, titik (.), garis bawah (_) dan tanda hubung (-), tetapi tidak boleh dimulai dengan http:// atau https:// .",
      "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": "Status dari koneksi IPsec.",
      "Value": {
        "Fn::GetAtt": [
          "VpnConnection",
          "Status"
        ]
      }
    },
    "PeerVpnConnectionConfig": {
      "Description": "Konfigurasi koneksi vpc peer.",
      "Value": {
        "Fn::GetAtt": [
          "VpnConnection",
          "PeerVpnConnectionConfig"
        ]
      }
    },
    "VpnConnectionId": {
      "Description": "ID dari koneksi IPsec.",
      "Value": {
        "Fn::GetAtt": [
          "VpnConnection",
          "VpnConnectionId"
        ]
      }
    }
  }
}