Skip to content

Commit e342037

Browse files
kbatuigascoderabbitai[bot]micheleRP
authored
Enable GCP global access (#385)
* Initial draft * Apply suggestion from automated review * DOC-1307 Cloud API: ensure that Create Network request examples conform to new schema * Update modules/networking/pages/byoc/gcp/enable-global-access.adoc Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Apply suggestions from automated review * Apply suggestions from review * Apply suggestions from automated review * Add new doc to nav tree * Use collapsible code blocks to make doc more scannable * Apply suggestions from code review Co-authored-by: Michele Cyran <michele@redpanda.com> * Suggestions from review * Doc intro already includes link to BYOC architecture * Apply suggestions from automated review * Minor edit * Fix note for private service connect * Missed from review * Apply suggestions from code review Co-authored-by: Michele Cyran <michele@redpanda.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Michele Cyran <michele@redpanda.com>
1 parent 8be2d3e commit e342037

11 files changed

Lines changed: 456 additions & 155 deletions

File tree

modules/ROOT/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
**** xref:networking:byoc/gcp/vpc-peering-gcp.adoc[Add a Peering Connection]
4040
**** xref:networking:configure-private-service-connect-in-cloud-ui.adoc[Configure Private Service Connect in the Cloud UI]
4141
**** xref:networking:gcp-private-service-connect.adoc[Configure Private Service Connect with the Cloud API]
42+
**** xref:networking:byoc/gcp/enable-global-access.adoc[Enable Global Access]
4243
** xref:networking:dedicated/index.adoc[Dedicated]
4344
*** xref:networking:dedicated/aws/index.adoc[AWS]
4445
**** xref:networking:dedicated/aws/vpc-peering.adoc[Add a Peering Connection]

modules/get-started/pages/cluster-types/byoc/gcp/create-byoc-cluster-gcp.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ To create a Redpanda cluster in your virtual private cloud (VPC), follow the ins
66

77
NOTE: With standard BYOC clusters, Redpanda manages security policies and resources for your VPC, including subnetworks, service accounts, IAM roles, firewall rules, and storage buckets. For the highest level of security, you can manage these resources yourself with a xref:get-started:cluster-types/byoc/gcp/vpc-byo-gcp.adoc[BYOVPC cluster on GCP].
88

9-
See also: xref:get-started:cloud-overview.adoc#redpanda-cloud-architecture[Redpanda Cloud architecture].
9+
If your clients need to connect from different GCP regions than where your cluster will be deployed, you must enable global access during cluster creation using the Cloud API. To create a BYOC cluster with global access enabled, see xref:networking:byoc/gcp/enable-global-access.adoc[Enable Global Access].
1010

1111
== Create a BYOC cluster
1212

modules/get-started/pages/cluster-types/byoc/gcp/vpc-byo-gcp.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ When you create a BYOVPC cluster, you specify your VPC and service account. The
1212
* You maintain more control of your Google Cloud account, because Redpanda requires fewer permissions than standard BYOC clusters.
1313
* You control your security resources and policies, including subnets, service accounts, IAM roles, firewall rules, and storage buckets.
1414
15+
If your clients need to connect from different GCP regions than where your cluster will be deployed, you must enable global access during cluster creation. To create a BYOVPC cluster with global access enabled, see xref:networking:byoc/gcp/enable-global-access.adoc[Enable Global Access].
16+
1517
== Prerequisites
1618

1719
* A standalone GCP project is recommended. If your host project (where your VPC project is created) and your service project (where your Redpanda cluster is created) are in different projects, you must first provision a shared VPC in Google Cloud. For more information, see the https://cloud.google.com/vpc/docs/provisioning-shared-vpc[Google shared VPC documentation^].

modules/manage/partials/controlplane-api.adoc

Lines changed: 64 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,9 @@ Create a resource group by making a POST request to the xref:api:ROOT:cloud-cont
9090
curl -H 'Content-Type: application/json' \
9191
-H "Authorization: Bearer <token>" \
9292
-d '{
93-
"name": "<resource-group-name>"
93+
"resource_group": {
94+
"name": "<resource-group-name>"
95+
}
9496
}' -X POST https://api.redpanda.com/v1/resource-groups
9597
----
9698

@@ -107,27 +109,33 @@ ifdef::env-dedicated[]
107109
----
108110
curl -d \
109111
'{
110-
"cidr_block": "10.0.0.0/20",
111-
"cloud_provider": "CLOUD_PROVIDER_GCP",
112-
"cluster_type": "TYPE_DEDICATED",
113-
"name": "<network-name>",
114-
"resource_group_id": "<resource-group-id>",
115-
"region": "us-west1"
116-
}' -H "Authorization: Bearer <token>" -X POST https://api.redpanda.com/v1/networks
112+
"network": {
113+
"cidr_block": "10.0.0.0/20",
114+
"cloud_provider": "CLOUD_PROVIDER_GCP",
115+
"cluster_type": "TYPE_DEDICATED",
116+
"name": "<network-name>",
117+
"resource_group_id": "<resource-group-id>",
118+
"region": "us-west1"
119+
}
120+
}' -H "Content-Type: application/json" \
121+
-H "Authorization: Bearer <token>" -X POST https://api.redpanda.com/v1/networks
117122
----
118123
endif::[]
119124
ifdef::env-byoc[]
120125
[,bash]
121126
----
122127
curl -d \
123128
'{
124-
"cidr_block": "10.0.0.0/20",
125-
"cloud_provider": "CLOUD_PROVIDER_GCP",
126-
"cluster_type": "TYPE_BYOC",
127-
"name": "<network-name>",
128-
"resource_group_id": "<resource-group-id>",
129-
"region": "us-west1"
130-
}' -H "Authorization: Bearer <token>" -X POST https://api.redpanda.com/v1/networks
129+
"network": {
130+
"cidr_block": "10.0.0.0/20",
131+
"cloud_provider": "CLOUD_PROVIDER_GCP",
132+
"cluster_type": "TYPE_BYOC",
133+
"name": "<network-name>",
134+
"resource_group_id": "<resource-group-id>",
135+
"region": "us-west1"
136+
}
137+
}' -H "Content-Type: application/json" \
138+
-H "Authorization: Bearer <token>" -X POST https://api.redpanda.com/v1/networks
131139
----
132140
endif::[]
133141

@@ -142,51 +150,57 @@ ifdef::env-dedicated[]
142150
----
143151
curl -d \
144152
'{
145-
"cloud_provider": "CLOUD_PROVIDER_GCP",
146-
"connection_type": "CONNECTION_TYPE_PUBLIC",
147-
"name": "my-new-cluster",
148-
"resource_group_id": "<resource-group-id>",
149-
"network_id": "<network-id>",
150-
"region": "us-west1",
151-
"throughput_tier": "tier-1-gcp-um4g",
152-
"type": "TYPE_DEDICATED",
153-
"zones": [
154-
"us-west1-a",
155-
"us-west1-b",
156-
"us-west1-c"
157-
],
158-
"cluster_configuration": {
159-
"custom_properties": {
160-
"audit_enabled":true
161-
}
153+
"cluster": {
154+
"cloud_provider": "CLOUD_PROVIDER_GCP",
155+
"connection_type": "CONNECTION_TYPE_PUBLIC",
156+
"name": "my-new-cluster",
157+
"resource_group_id": "<resource-group-id>",
158+
"network_id": "<network-id>",
159+
"region": "us-west1",
160+
"throughput_tier": "tier-1-gcp-um4g",
161+
"type": "TYPE_DEDICATED",
162+
"zones": [
163+
"us-west1-a",
164+
"us-west1-b",
165+
"us-west1-c"
166+
],
167+
"cluster_configuration": {
168+
"custom_properties": {
169+
"audit_enabled":true
170+
}
171+
}
162172
}
163-
}' -H "Authorization: Bearer <token>" -X POST https://api.redpanda.com/v1/clusters
173+
}' -H "Content-Type: application/json" \
174+
-H "Authorization: Bearer <token>" -X POST https://api.redpanda.com/v1/clusters
164175
----
165176
endif::[]
166177
ifdef::env-byoc[]
167178
[,bash]
168179
----
169180
curl -d \
170181
'{
171-
"cloud_provider": "CLOUD_PROVIDER_GCP",
172-
"connection_type": "CONNECTION_TYPE_PUBLIC",
173-
"name": "my-new-cluster",
174-
"resource_group_id": "<resource-group-id>",
175-
"network_id": "<network-id>",
176-
"region": "us-west1",
177-
"throughput_tier": "tier-1-gcp-um4g",
178-
"type": "TYPE_BYOC",
179-
"zones": [
180-
"us-west1-a",
181-
"us-west1-b",
182-
"us-west1-c"
183-
],
184-
"cluster_configuration": {
185-
"custom_properties": {
186-
"audit_enabled":true
182+
"cluster": {
183+
"cloud_provider": "CLOUD_PROVIDER_GCP",
184+
"connection_type": "CONNECTION_TYPE_PUBLIC",
185+
"name": "my-new-cluster",
186+
"resource_group_id": "<resource-group-id>",
187+
"network_id": "<network-id>",
188+
"region": "us-west1",
189+
"throughput_tier": "tier-1-gcp-um4g",
190+
"type": "TYPE_BYOC",
191+
"zones": [
192+
"us-west1-a",
193+
"us-west1-b",
194+
"us-west1-c"
195+
],
196+
"cluster_configuration": {
197+
"custom_properties": {
198+
"audit_enabled":true
199+
}
187200
}
188201
}
189-
}' -H "Authorization: Bearer <token>" -X POST https://api.redpanda.com/v1/clusters
202+
}' -H "Content-Type: application/json" \
203+
-H "Authorization: Bearer <token>" -X POST https://api.redpanda.com/v1/clusters
190204
----
191205
endif::[]
192206

modules/networking/pages/aws-privatelink.adoc

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,14 @@ REGION=<aws_region>
5959
6060
NETWORK_POST_BODY=`cat << EOF
6161
{
62-
"cloud_provider": "CLOUD_PROVIDER_AWS",
63-
"cluster_type": "TYPE_BYOC",
64-
"name": "<my-private-link-network>",
65-
"cidr_block": "<10.0.0.0/20>",
66-
"resource_group_id": "$RESOURCE_GROUP_ID",
67-
"region": "$REGION"
62+
"network": {
63+
"cloud_provider": "CLOUD_PROVIDER_AWS",
64+
"cluster_type": "TYPE_BYOC",
65+
"name": "<my-private-link-network>",
66+
"cidr_block": "<10.0.0.0/20>",
67+
"resource_group_id": "$RESOURCE_GROUP_ID",
68+
"region": "$REGION"
69+
}
6870
}
6971
EOF`
7072
@@ -95,19 +97,21 @@ In the example below, make sure to set your own values for the following fields:
9597
----
9698
CLUSTER_POST_BODY=`cat << EOF
9799
{
98-
"cloud_provider": "CLOUD_PROVIDER_AWS",
99-
"connection_type": "CONNECTION_TYPE_PRIVATE",
100-
"name": "<my-private-link-cluster>",
101-
"resource_group_id": "$RESOURCE_GROUP_ID",
102-
"network_id": "$NETWORK_ID",
103-
"region": "$REGION",
104-
"zones": [ <zones> ],
105-
"throughput_tier": "<tier>",
106-
"type": "<type>",
107-
"aws_private_link": {
108-
"enabled": true,
109-
"connect_console": true,
110-
"allowed_principals": ["<principal_1>","<principal_2>"]
100+
"cluster": {
101+
"cloud_provider": "CLOUD_PROVIDER_AWS",
102+
"connection_type": "CONNECTION_TYPE_PRIVATE",
103+
"name": "<my-private-link-cluster>",
104+
"resource_group_id": "$RESOURCE_GROUP_ID",
105+
"network_id": "$NETWORK_ID",
106+
"region": "$REGION",
107+
"zones": [ <zones> ],
108+
"throughput_tier": "<tier>",
109+
"type": "<type>",
110+
"aws_private_link": {
111+
"enabled": true,
112+
"connect_console": true,
113+
"allowed_principals": ["<principal_1>","<principal_2>"]
114+
}
111115
}
112116
}
113117
EOF`

modules/networking/pages/azure-private-link.adoc

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,14 @@ REGION=<azure-region>
8080
8181
NETWORK_POST_BODY=`cat << EOF
8282
{
83-
"cloud_provider": "CLOUD_PROVIDER_AZURE",
84-
"cluster_type": "<cluster-type>",
85-
"name": "<network-name>",
86-
"cidr_block": "<10.0.0.0/20>",
87-
"resource_group_id": "$RESOURCE_GROUP_ID",
88-
"region": "$REGION"
83+
"network": {
84+
"cloud_provider": "CLOUD_PROVIDER_AZURE",
85+
"cluster_type": "<cluster-type>",
86+
"name": "<network-name>",
87+
"cidr_block": "<10.0.0.0/20>",
88+
"resource_group_id": "$RESOURCE_GROUP_ID",
89+
"region": "$REGION"
90+
}
8991
}
9092
EOF`
9193
@@ -114,19 +116,21 @@ In the following example, make sure to set your own values for the following fie
114116
----
115117
CLUSTER_POST_BODY=`cat << EOF
116118
{
117-
"cloud_provider": "CLOUD_PROVIDER_AZURE",
118-
"connection_type": "CONNECTION_TYPE_PRIVATE",
119-
"name": "<name>",
120-
"resource_group_id": "$RESOURCE_GROUP_ID",
121-
"network_id": "$NETWORK_ID",
122-
"region": "$REGION",
123-
"throughput_tier": "<tier>",
124-
"type": "<type>",
125-
"zones": [ <zones> ],
126-
"azure_private_link": {
127-
"allowed_subscriptions": ["$SOURCE_CONNECTION_SUBSCRIPTION_ID"],
128-
"enabled": true,
129-
"connect_console": true
119+
"cluster": {
120+
"cloud_provider": "CLOUD_PROVIDER_AZURE",
121+
"connection_type": "CONNECTION_TYPE_PRIVATE",
122+
"name": "<name>",
123+
"resource_group_id": "$RESOURCE_GROUP_ID",
124+
"network_id": "$NETWORK_ID",
125+
"region": "$REGION",
126+
"throughput_tier": "<tier>",
127+
"type": "<type>",
128+
"zones": [ <zones> ],
129+
"azure_private_link": {
130+
"allowed_subscriptions": ["$SOURCE_CONNECTION_SUBSCRIPTION_ID"],
131+
"enabled": true,
132+
"connect_console": true
133+
}
130134
}
131135
}
132136
EOF`

0 commit comments

Comments
 (0)