Terraform 0.11

azurerm_virtual_network_gateway_connection




terraform

azurerm_virtual_network_gateway_connection

किसी मौजूदा वर्चुअल नेटवर्क गेटवे में कनेक्शन का प्रबंधन करता है।

उदाहरण उपयोग

साइट-टू-साइट कनेक्शन

निम्न उदाहरण एक Azure वर्चुअल नेटवर्क और ऑन-प्रिमाइसेस VPN डिवाइस और नेटवर्क के बीच संबंध दिखाता है।

resource "azurerm_resource_group" "test" {
  name = "test"
  location = "West US"
}

resource "azurerm_virtual_network" "test" {
  name = "test"
  location = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  address_space = ["10.0.0.0/16"]
}

resource "azurerm_subnet" "test" {
  name = "GatewaySubnet"
  resource_group_name = "${azurerm_resource_group.test.name}"
  virtual_network_name = "${azurerm_virtual_network.test.name}"
  address_prefix = "10.0.1.0/24"
}

resource "azurerm_local_network_gateway" "onpremise" {
  name = "onpremise"
  location = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  gateway_address = "168.62.225.23"
  address_space = ["10.1.1.0/24"]
}

resource "azurerm_public_ip" "test" {
  name = "test"
  location = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  public_ip_address_allocation = "Dynamic"
}

resource "azurerm_virtual_network_gateway" "test" {
  name = "test"
  location = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"

  type = "Vpn"
  vpn_type = "RouteBased"

  active_active = false
  enable_bgp = false
    sku = "Basic"

  ip_configuration {
    public_ip_address_id = "${azurerm_public_ip.test.id}"
    private_ip_address_allocation = "Dynamic"
    subnet_id = "${azurerm_subnet.test.id}"
  }
}

resource "azurerm_virtual_network_gateway_connection" "onpremise" {
  name = "onpremise"
  location = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"

  type = "IPsec"
  virtual_network_gateway_id = "${azurerm_virtual_network_gateway.test.id}"
  local_network_gateway_id = "${azurerm_local_network_gateway.onpremise.id}"

  shared_key = "4-v3ry-53cr37-1p53c-5h4r3d-k3y"
}

VNet-to-VNet कनेक्शन

निम्न उदाहरण विभिन्न स्थानों / क्षेत्रों में दो एज़्योर वर्चुअल नेटवर्क के बीच एक कनेक्शन दिखाता है।

resource "azurerm_resource_group" "us" {
    name = "us"
    location = "East US"
}

resource "azurerm_virtual_network" "us" {
  name = "us"
  location = "${azurerm_resource_group.us.location}"
  resource_group_name = "${azurerm_resource_group.us.name}"
  address_space = ["10.0.0.0/16"]
}

resource "azurerm_subnet" "us_gateway" {
  name = "GatewaySubnet"
  resource_group_name = "${azurerm_resource_group.us.name}"
  virtual_network_name = "${azurerm_virtual_network.us.name}"
  address_prefix = "10.0.1.0/24"
}

resource "azurerm_public_ip" "us" {
  name = "us"
  location = "${azurerm_resource_group.us.location}"
  resource_group_name = "${azurerm_resource_group.us.name}"
  public_ip_address_allocation = "Dynamic"
}

resource "azurerm_virtual_network_gateway" "us" {
  name = "us-gateway"
  location = "${azurerm_resource_group.us.location}"
  resource_group_name = "${azurerm_resource_group.us.name}"

  type = "Vpn"
  vpn_type = "RouteBased"
    sku = "Basic"

  ip_configuration {
    public_ip_address_id = "${azurerm_public_ip.us.id}"
    private_ip_address_allocation = "Dynamic"
    subnet_id = "${azurerm_subnet.us_gateway.id}"
  }
}

resource "azurerm_resource_group" "europe" {
  name = "europe"
  location = "West Europe"
}

resource "azurerm_virtual_network" "europe" {
  name = "europe"
  location = "${azurerm_resource_group.europe.location}"
  resource_group_name = "${azurerm_resource_group.europe.name}"
  address_space = ["10.1.0.0/16"]
}

resource "azurerm_subnet" "europe_gateway" {
  name = "GatewaySubnet"
  resource_group_name = "${azurerm_resource_group.europe.name}"
  virtual_network_name = "${azurerm_virtual_network.europe.name}"
  address_prefix = "10.1.1.0/24"
}

resource "azurerm_public_ip" "europe" {
  name = "europe"
  location = "${azurerm_resource_group.europe.location}"
  resource_group_name = "${azurerm_resource_group.europe.name}"
  public_ip_address_allocation = "Dynamic"
}

resource "azurerm_virtual_network_gateway" "europe" {
  name = "europe-gateway"
  location = "${azurerm_resource_group.europe.location}"
  resource_group_name = "${azurerm_resource_group.europe.name}"

  type = "Vpn"
  vpn_type = "RouteBased"
    sku = "Basic"

  ip_configuration {
    public_ip_address_id = "${azurerm_public_ip.europe.id}"
    private_ip_address_allocation = "Dynamic"
    subnet_id = "${azurerm_subnet.europe_gateway.id}"
  }
}

resource "azurerm_virtual_network_gateway_connection" "us_to_europe" {
  name = "us-to-europe"
  location = "${azurerm_resource_group.us.location}"
  resource_group_name = "${azurerm_resource_group.us.name}"

  type = "Vnet2Vnet"
  virtual_network_gateway_id = "${azurerm_virtual_network_gateway.us.id}"
  peer_virtual_network_gateway_id = "${azurerm_virtual_network_gateway.europe.id}"

  shared_key = "4-v3ry-53cr37-1p53c-5h4r3d-k3y"
}

resource "azurerm_virtual_network_gateway_connection" "europe_to_us" {
  name = "europe-to-us"
  location = "${azurerm_resource_group.europe.location}"
  resource_group_name = "${azurerm_resource_group.europe.name}"

  type = "Vnet2Vnet"
  virtual_network_gateway_id = "${azurerm_virtual_network_gateway.europe.id}"
  peer_virtual_network_gateway_id = "${azurerm_virtual_network_gateway.us.id}"

  shared_key = "4-v3ry-53cr37-1p53c-5h4r3d-k3y"
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • name - (आवश्यक) कनेक्शन का नाम। नाम बदलने से एक नया संसाधन बनने के लिए बाध्य होता है।

  • resource_group_name - (आवश्यक) संसाधन समूह का नाम जिसमें कनेक्शन बनाने के लिए नाम बदलने से एक नया संसाधन बनने के लिए बाध्य होता है।

  • location - (आवश्यक) वह स्थान / क्षेत्र जहाँ कनेक्शन स्थित है। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।

  • type - (आवश्यक) कनेक्शन का प्रकार। वैध विकल्प IPsec (साइट-से-साइट), ExpressRoute (एक्सप्रेसरूट), और Vnet2Vnet (VNet-to-VNet) हैं। प्रत्येक कनेक्शन प्रकार के लिए विभिन्न अनिवार्य तर्कों की आवश्यकता होती है (ऊपर के उदाहरण देखें)। कनेक्शन प्रकार बदलने से एक नया कनेक्शन बनने के लिए बाध्य होगा।

  • virtual_network_gateway_id - (आवश्यक) वर्चुअल नेटवर्क गेटवे की आईडी जिसमें कनेक्शन बनाया जाएगा। गेटवे बदलने से एक नया संसाधन बनने के लिए बाध्य होता है।

  • authorization_key - (वैकल्पिक) एक्सप्रेस रूट सर्किट से संबद्ध प्राधिकरण कुंजी। यह फ़ील्ड केवल तभी आवश्यक है जब प्रकार एक ExpressRoute कनेक्शन हो।

  • express_route_circuit_id - (वैकल्पिक) express_route_circuit_id कनेक्शन बनाते समय एक्सप्रेस रूट सर्किट की आईडी (यानी जब type ExpressRoute )। एक्सप्रेस रूट सर्किट एक ही या एक अलग सदस्यता में हो सकता है।

  • peer_virtual_network_gateway_id - (वैकल्पिक) एक VNet-to-VNet कनेक्शन बनाते समय सहकर्मी वर्चुअल नेटवर्क गेटवे की ID (यानी जब type Vnet2Vnet )। सहकर्मी वर्चुअल नेटवर्क गेटवे एक ही या एक अलग सदस्यता में हो सकता है।

  • local_network_gateway_id - (वैकल्पिक) साइट-से-साइट कनेक्शन बनाते समय स्थानीय नेटवर्क गेटवे की ID (यानी जब type IPsec )।

  • routing_weight - (वैकल्पिक) रूटिंग वेट। 10 चूक।

  • shared_key - (वैकल्पिक) साझा IPSec कुंजी। यदि साइट-टू-साइट या VNet-to-VNet कनेक्शन बनाया जाता है तो एक कुंजी प्रदान की जानी चाहिए, जबकि ExpressRoute कनेक्शन को साझा कुंजी की आवश्यकता नहीं है।

  • enable_bgp - (वैकल्पिक) यदि true , तो बीजीपी (बॉर्डर गेटवे प्रोटोकॉल) इस कनेक्शन के लिए सक्षम है। false अवहेलना करता false

  • use_policy_based_traffic_selectors - (वैकल्पिक) यदि true , नीति-आधारित ट्रैफ़िक चयनकर्ता इस कनेक्शन के लिए सक्षम हैं। नीति-आधारित ट्रैफ़िक चयनकर्ताओं को सक्षम करने के लिए एक ipsec_policy ब्लॉक की आवश्यकता होती है। false अवहेलना करता false

  • ipsec_policy (वैकल्पिक) एक ipsec_policy ब्लॉक जो नीचे प्रलेखित है। कनेक्शन के लिए केवल एक ही नीति को परिभाषित किया जा सकता है। कस्टम नीतियों के विवरण के लिए Azure प्रलेखन में संबंधित अनुभाग देखें।

  • tags - (वैकल्पिक) संसाधन को असाइन करने के लिए टैग की मैपिंग।

ipsec_policy ब्लॉक का समर्थन करता है:

  • dh_group - (आवश्यक) प्रारंभिक एसए के लिए IKE चरण 1 में प्रयुक्त डीएच समूह। वैध विकल्प हैं DHGroup1 , DHGroup14 , DHGroup2 , DHGroup2048 , DHGroup24 , ECP256 , ECP384 , या None

  • ike_encryption एन्क्रिप्शन - (आवश्यक) IKE एन्क्रिप्शन एल्गोरिथ्म। मान्य विकल्प DES3 , DES3 , AES256 , DES , या DES3

  • ike_integrity - (आवश्यक) IKE अखंडता एल्गोरिथ्म। वैध विकल्प MD5 , SHA1 , SHA256 या SHA384

  • ipsec_encryption एन्क्रिप्शन - (आवश्यक) IPSec एन्क्रिप्शन एल्गोरिथ्म। वैध विकल्प DES3 , GCMAES128 , AES256 , DES , DES3 , GCMAES128 , GCMAES192 , GCMAES256 , या None

  • ipsec_integrity - (आवश्यक) IPSec अखंडता एल्गोरिथ्म। मान्य विकल्प GCMAES128 , GCMAES192 , GCMAES256 , MD5 , SHA1 या SHA256

  • pfs_group - (आवश्यक) नए बच्चे SA के लिए IKE चरण 2 में प्रयुक्त डीएच समूह। वैध विकल्प ECP256 , ECP384 , PFS1 , PFS2 , PFS2048 , PFS24 या None

  • sa_datasize - (वैकल्पिक) KB में IPSec SA पेलोड का आकार। कम से कम 1024 KB होना चाहिए। 102400000 KB तक की 102400000

  • sa_lifetime - (वैकल्पिक) IPSec SA जीवनकाल सेकंड में। कम से कम 300 सेकंड का होना चाहिए। 27000 सेकंड के लिए चूक।

संदर्भ संदर्भित करता है

निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • id - कनेक्शन आईडी।

आयात

वर्चुअल नेटवर्क गेटवे कनेक्शन को उनके resource id , जैसे का उपयोग करके आयात किया जा सकता है

terraform import azurerm_virtual_network_gateway_connection.testConnection /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.Network/connections/myConnection1