Skip to content

Commit 4b4f8d8

Browse files
authored
fix: make partner interconnect comply with guide (#915)
1 parent 638115d commit 4b4f8d8

File tree

14 files changed

+83
-150
lines changed

14 files changed

+83
-150
lines changed

3-networks-dual-svpc/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,11 @@ If you provisioned the prerequisites listed in the [Dedicated Interconnect READM
105105

106106
If you provisioned the prerequisites listed in the [Partner Interconnect README](./modules/partner_interconnect/README.md) follow this steps to enable Partner Interconnect to access on-premises resources.
107107

108+
1. Rename `partner_interconnect.tf.example` to `partner_interconnect.tf` in the shared envs folder in `3-networks-dual-svpc/envs/shared`
109+
1. Rename `partner_interconnect.auto.tfvars.example` to `partner_interconnect.auto.tfvars` in the shared envs folder in `3-networks-dual-svpc/envs/shared`
110+
1. Update the file `interconnect.tf` with values that are valid for your environment for the interconnects, locations, candidate subnetworks, vlan_tag8021q and peer info.
108111
1. Rename `partner_interconnect.tf.example` to `partner_interconnect.tf` in the base-env folder in `3-networks-dual-svpc/modules/base_env` .
112+
1. Update the `enable_partner_interconnect` to `true` in each `main.tf` file in the environment folder in `3-networks-dual-svpc/envs/<environment>` .
109113
1. Update the file `partner_interconnect.tf` with values that are valid for your environment for the VLAN attachments, locations, and candidate subnetworks.
110114
1. The candidate subnetworks variable can be set to `null` to allow the interconnect module to auto generate this value.
111115

3-networks-dual-svpc/envs/shared/interconnect.auto.tfvars.example

Lines changed: 0 additions & 4 deletions
This file was deleted.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* Copyright 2022 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
enable_partner_interconnect = true
18+
preactivate_partner_interconnect = true

3-networks-dual-svpc/envs/shared/partner_interconnect.tf.example

Lines changed: 7 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -14,57 +14,26 @@
1414
* limitations under the License.
1515
*/
1616

17-
module "shared_restricted_interconnect" {
17+
module "dns_hub_interconnect" {
1818
source = "../../modules/partner_interconnect"
1919

20-
attachment_project_id = local.restricted_net_hub_project_id
21-
vpc_name = "${local.environment_code}-shared-restricted"
20+
vpc_name = "c-dns-hub"
21+
attachment_project_id = local.dns_hub_project_id
2222
preactivate = var.preactivate_partner_interconnect
2323

2424
region1 = local.default_region1
25-
region1_router1_name = module.restricted_shared_vpc[0].region1_router1.router.name
25+
region1_router1_name = module.dns_hub_region1_router1.router.name
2626
region1_interconnect1_location = "las-zone1-770"
2727
region1_interconnect1_onprem_dc = "onprem-dc1"
28-
region1_router2_name = module.restricted_shared_vpc[0].region1_router2.router.name
28+
region1_router2_name = module.dns_hub_region1_router2.router.name
2929
region1_interconnect2_location = "las-zone1-770"
3030
region1_interconnect2_onprem_dc = "onprem-dc2"
3131

3232
region2 = local.default_region2
33-
region2_router1_name = module.restricted_shared_vpc[0].region2_router1.router.name
33+
region2_router1_name = module.dns_hub_region2_router1.router.name
3434
region2_interconnect1_location = "lax-zone2-19"
3535
region2_interconnect1_onprem_dc = "onprem-dc3"
36-
region2_router2_name = module.restricted_shared_vpc[0].region2_router2.router.name
37-
region2_interconnect2_location = "lax-zone1-403"
38-
region2_interconnect2_onprem_dc = "onprem-dc4"
39-
40-
cloud_router_labels = {
41-
vlan_1 = "cr5",
42-
vlan_2 = "cr6",
43-
vlan_3 = "cr7",
44-
vlan_4 = "cr8"
45-
}
46-
}
47-
48-
module "shared_base_interconnect" {
49-
source = "../../modules/partner_interconnect"
50-
51-
attachment_project_id = local.base_net_hub_project_id
52-
vpc_name = "${local.environment_code}-shared-base"
53-
preactivate = var.preactivate_partner_interconnect
54-
55-
region1 = local.default_region1
56-
region1_router1_name = module.base_shared_vpc[0].region1_router1.router.name
57-
region1_interconnect1_location = "las-zone1-770"
58-
region1_interconnect1_onprem_dc = "onprem-dc1"
59-
region1_router2_name = module.base_shared_vpc[0].region1_router2.router.name
60-
region1_interconnect2_location = "las-zone1-770"
61-
region1_interconnect2_onprem_dc = "onprem-dc2"
62-
63-
region2 = local.default_region2
64-
region2_router1_name = module.base_shared_vpc[0].region2_router1.router.name
65-
region2_interconnect1_location = "lax-zone2-19"
66-
region2_interconnect1_onprem_dc = "onprem-dc3"
67-
region2_router2_name = module.base_shared_vpc[0].region2_router2.router.name
36+
region2_router2_name = module.dns_hub_region2_router2.router.name
6837
region2_interconnect2_location = "lax-zone1-403"
6938
region2_interconnect2_onprem_dc = "onprem-dc4"
7039

3-networks-dual-svpc/modules/partner_interconnect/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ This module implements the recommendation proposed in [Establishing 99.99% Avail
44

55
## Prerequisites
66

7-
1. Provisioning of four [VLAN attachments](https://cloud.google.com/network-connectivity/docs/interconnect/concepts/partner-overview) in the Hub project in the specified environment. That would be the `prj-c-{base|restricted}-net-hub` under the folder `fldr-common` in case of Hub and Spoke architecture.
8-
9-
Without Hub and Spoke enabled VLAN attachments will be created in `prj-{p|n|d}-shared-{base|restricted}` under corresponding environment's folder.
7+
1. Provisioning of four [VLAN attachments](https://cloud.google.com/network-connectivity/docs/interconnect/concepts/partner-overview) in the Hub project in the specified environment. That would be the `prj-{p|n|d}-shared-{base|restricted}` under corresponding environment's folder and `prj-c-dns-hub` under the folder `fldr-common`.
108

119
## Usage
1210

13-
1. Rename `partner_interconnect.tf.example` to `partner_interconnect.tf` in the environment folder in `3-networks-dual-svpc/modules/base_env` .
11+
1. Rename `partner_interconnect.tf.example` to `partner_interconnect.tf` in the shared envs folder in `3-networks-dual-svpc/envs/shared`
12+
1. Rename `partner_interconnect.auto.tfvars.example` to `partner_interconnect.auto.tfvars` in the shared envs folder in `3-networks-dual-svpc/envs/shared`
13+
1. Update the file `interconnect.tf` with values that are valid for your environment for the interconnects, locations, candidate subnetworks, vlan_tag8021q and peer info.
14+
1. Rename `partner_interconnect.tf.example` to `partner_interconnect.tf` in the base-env folder in `3-networks-dual-svpc/modules/base_env` .
1415
1. Update the `enable_partner_interconnect` to `true` in each `main.tf` file in the environment folder in `3-networks-dual-svpc/envs/<environment>` .
1516
1. Update the file `partner_interconnect.tf` with values that are valid for your environment for the VLAN attachments, locations.
1617

3-networks-dual-svpc/modules/partner_interconnect/main.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ resource "google_compute_interconnect_attachment" "interconnect_attachment2_regi
4444
}
4545

4646
resource "google_compute_interconnect_attachment" "interconnect_attachment1_region2" {
47-
name = "vl-${var.region2_interconnect1_onprem_dc}-${var.region2_interconnect1_location}-${var.vpc_name}-${var.region2}-${local.suffix1}"
47+
name = "vl-${var.region2_interconnect1_onprem_dc}-${var.region2_interconnect1_location}-${var.vpc_name}-${var.region2}-${local.suffix3}"
4848
project = var.attachment_project_id
4949
region = var.region2
5050
router = var.region2_router1_name
@@ -55,7 +55,7 @@ resource "google_compute_interconnect_attachment" "interconnect_attachment1_regi
5555
}
5656

5757
resource "google_compute_interconnect_attachment" "interconnect_attachment2_region2" {
58-
name = "vl-${var.region2_interconnect2_onprem_dc}-${var.region2_interconnect2_location}-${var.vpc_name}-${var.region2}-${local.suffix2}"
58+
name = "vl-${var.region2_interconnect2_onprem_dc}-${var.region2_interconnect2_location}-${var.vpc_name}-${var.region2}-${local.suffix4}"
5959
project = var.attachment_project_id
6060
region = var.region2
6161
router = var.region2_router2_name

3-networks-hub-and-spoke/README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,17 @@ To see the version that makes use of the **Dual Shared VPC** architecture mode c
103103

104104
If you provisioned the prerequisites listed in the [Dedicated Interconnect README](./modules/dedicated_interconnect/README.md), follow these steps to enable Dedicated Interconnect to access on-premises resources.
105105

106-
1. Rename `interconnect.tf.example` to `interconnect.tf` in the shared envs folder in `3-networks-hub-and-spoke/envs/shared`
107-
1. Rename `interconnect.auto.tfvars.example` to `interconnect.auto.tfvars` in the shared envs folder in `3-networks-hub-and-spoke/envs/shared`
106+
1. Rename `interconnect.tf.example` to `interconnect.tf` in the shared envs folder in `3-networks-hub-and-spoke/envs/shared`.
107+
1. Rename `interconnect.auto.tfvars.example` to `interconnect.auto.tfvars` in the shared envs folder in `3-networks-hub-and-spoke/envs/shared`.
108108
1. Update the file `interconnect.tf` with values that are valid for your environment for the interconnects, locations, candidate subnetworks, vlan_tag8021q and peer info.
109109
1. The candidate subnetworks and vlan_tag8021q variables can be set to `null` to allow the interconnect module to auto generate these values.
110110

111111
### Using Partner Interconnect
112112

113113
If you provisioned the prerequisites listed in the [Partner Interconnect README](./modules/partner_interconnect/README.md) follow this steps to enable Partner Interconnect to access on-premises resources.
114114

115-
1. Rename `partner_interconnect.tf.example` to `partner_interconnect.tf` in the base-env folder in `3-networks-hub-and-spoke/modules/base_env` .
115+
1. Rename `partner_interconnect.tf.example` to `partner_interconnect.tf`in the shared envs folder in `3-networks-hub-and-spoke/envs/shared`.
116+
1. Rename `partner_interconnect.auto.tfvars.example` to `partner_interconnect.auto.tfvars` in the shared envs folder in `3-networks-hub-and-spoke/envs/shared`.
116117
1. Update the file `partner_interconnect.tf` with values that are valid for your environment for the VLAN attachments, locations, and candidate subnetworks.
117118
1. The candidate subnetworks variable can be set to `null` to allow the interconnect module to auto generate this value.
118119

3-networks-hub-and-spoke/envs/shared/dns-hub.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ module "dns_hub_region1_router1" {
9696
network = module.dns_hub_vpc.network_name
9797
region = local.default_region1
9898
bgp = {
99-
asn = var.bgp_asn_dns
99+
asn = local.dns_bgp_asn_number
100100
advertised_ip_ranges = [{ range = "35.199.192.0/19" }]
101101
}
102102
}
@@ -109,7 +109,7 @@ module "dns_hub_region1_router2" {
109109
network = module.dns_hub_vpc.network_name
110110
region = local.default_region1
111111
bgp = {
112-
asn = var.bgp_asn_dns
112+
asn = local.dns_bgp_asn_number
113113
advertised_ip_ranges = [{ range = "35.199.192.0/19" }]
114114
}
115115
}
@@ -122,7 +122,7 @@ module "dns_hub_region2_router1" {
122122
network = module.dns_hub_vpc.network_name
123123
region = local.default_region2
124124
bgp = {
125-
asn = var.bgp_asn_dns
125+
asn = local.dns_bgp_asn_number
126126
advertised_ip_ranges = [{ range = "35.199.192.0/19" }]
127127
}
128128
}
@@ -135,7 +135,7 @@ module "dns_hub_region2_router2" {
135135
network = module.dns_hub_vpc.network_name
136136
region = local.default_region2
137137
bgp = {
138-
asn = var.bgp_asn_dns
138+
asn = local.dns_bgp_asn_number
139139
advertised_ip_ranges = [{ range = "35.199.192.0/19" }]
140140
}
141141
}

3-networks-hub-and-spoke/envs/shared/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ locals {
1818
env = "common"
1919
environment_code = "c"
2020
bgp_asn_number = var.enable_partner_interconnect ? "16550" : "64514"
21+
dns_bgp_asn_number = var.enable_partner_interconnect ? "16550" : var.bgp_asn_dns
2122
default_region1 = "us-west1"
2223
default_region2 = "us-central1"
2324
dns_hub_project_id = data.terraform_remote_state.org.outputs.dns_hub_project_id

3-networks-hub-and-spoke/envs/shared/partner_interconnect.auto.tfvars.example

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,5 @@
1414
* limitations under the License.
1515
*/
1616

17-
enable_partner_interconnect = true
17+
enable_partner_interconnect = true
1818
preactivate_partner_interconnect = true
19-

0 commit comments

Comments
 (0)