Skip to content

Commit a21ca36

Browse files
micheleRPFeediver1
andauthored
DOC-486 Azure VPC peering (#129)
* DOC-486 Azure VPC peering * minor edit * Update modules/get-started/pages/whats-new-cloud.adoc Co-authored-by: Joyce Fee <[email protected]> * Update modules/networking/pages/dedicated/azure/vnet-peering.adoc Co-authored-by: Joyce Fee <[email protected]> * Update modules/networking/pages/dedicated/gcp/vpc-peering-gcp.adoc Co-authored-by: Joyce Fee <[email protected]> * Update modules/networking/pages/dedicated/azure/vnet-peering.adoc Co-authored-by: Joyce Fee <[email protected]> * Update modules/networking/pages/dedicated/azure/vnet-peering.adoc Co-authored-by: Joyce Fee <[email protected]> * minor edits * use env variables for examples * change VNet to VPC in title * minor edit * edit TOC --------- Co-authored-by: Joyce Fee <[email protected]>
1 parent 9e164c0 commit a21ca36

File tree

8 files changed

+166
-11
lines changed

8 files changed

+166
-11
lines changed

modules/ROOT/nav.adoc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,15 @@
3838
**** xref:networking:configure-private-service-connect-in-cloud-ui.adoc[Configure Private Service Connect in the Cloud UI]
3939
**** xref:networking:gcp-private-service-connect.adoc[Configure Private Service Connect with the Cloud API]
4040
** xref:networking:dedicated/index.adoc[Dedicated]
41-
*** xref:networking:dedicated/vpc-peering.adoc[Add a Peering Connection]
4241
*** xref:networking:dedicated/aws/index.adoc[AWS]
42+
**** xref:networking:dedicated/aws/vpc-peering.adoc[Add a Peering Connection]
4343
**** xref:networking:configure-privatelink-in-cloud-ui.adoc[Configure PrivateLink in the Cloud UI]
4444
**** xref:networking:aws-privatelink.adoc[]
45-
*** xref:networking:azure-private-link.adoc[Azure (Private Link)]
45+
*** xref:networking:dedicated/azure/index.adoc[Azure]
46+
**** xref:networking:dedicated/azure/vnet-peering.adoc[Add a Peering Connection]
47+
**** xref:networking:azure-private-link.adoc[]
4648
*** xref:networking:dedicated/gcp/index.adoc[GCP]
49+
**** xref:networking:dedicated/gcp/vpc-peering-gcp.adoc[Add a Peering Connection]
4750
**** xref:networking:configure-private-service-connect-in-cloud-ui.adoc[Configure Private Service Connect in the Cloud UI]
4851
**** xref:networking:gcp-private-service-connect.adoc[Configure Private Service Connect with the Cloud API]
4952

modules/get-started/pages/whats-new-cloud.adoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ This page lists new features added in Redpanda Cloud.
99

1010
== December 2024
1111

12+
=== VPC peering for Dedicated clusters on Azure
13+
14+
Redpanda now supports xref:networking:dedicated/azure/vnet-peering.adoc[virtual network (VNet) peering] for Dedicated clusters on Azure.
15+
1216
=== Support for additional regions
1317

1418
For xref:reference:tiers/byoc-tiers.adoc#byoc-supported-regions[BYOC clusters], Redpanda added support for the following regions:
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
= AWS
2-
:description: Learn how to configure networking for Dedicated clusters on AWS.
2+
:description: Learn how to configure private networking for Dedicated clusters on AWS.
33
:page-layout: index
44
:page-categories: Networking

modules/networking/pages/dedicated/vpc-peering.adoc renamed to modules/networking/pages/dedicated/aws/vpc-peering.adoc

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
= Add a Dedicated VPC Peering Connection
22
:description: Use the Redpanda Cloud UI to set up VPC peering.
3-
:page-aliases: cloud:vpc-peering.adoc, deploy:deployment-option/cloud/vpc-peering.adoc
3+
:page-aliases: cloud:vpc-peering.adoc, deploy:deployment-option/cloud/vpc-peering.adoc, networking:dedicated/vpc-peering.adoc
44

55
A VPC peering connection is a networking connection between two VPCs. This connection allows the VPCs to communicate with each other as if they were within the same network. A route table routes traffic between the two VPCs using private IPv4 addresses.
66

@@ -10,7 +10,7 @@ When you select a network for deploying your Redpanda Dedicated cluster, you hav
1010

1111
== Prerequisites
1212

13-
* *VPC network*: VPC peering is supported in AWS and GCP. This page describes the steps for AWS. Before you set up a peering connection in the Redpanda Cloud UI, you must have a VPC in your own account for Redpanda's VPC to connect to. If you do not already have a VPC, log in to the AWS VPC Console and create one.
13+
* *VPC network*: Before you set up a peering connection in the Redpanda Cloud UI, you must have a VPC in your own account for Redpanda's VPC to connect to. If you do not already have a VPC, log in to the AWS VPC Console and create one.
1414
* *Matching region*: VPC peering connections can only be established between networks created in the *same region*. Redpanda Cloud does not support inter-region VPC peering connections.
1515
* *Non-overlapping CIDR blocks*: The CIDR block for your VPC network cannot match or overlap with the CIDR block for the Redpanda Cloud VPC.
1616

@@ -22,11 +22,8 @@ To create a peering connection between your VPC and Redpanda's VPC:
2222

2323
. In the Redpanda Cloud UI, go to the *Overview* page for your cluster.
2424
. In the Details section, click the name of the Redpanda network.
25-
. On the *Network* page, click *+Add peering connection*.
26-
. In *Connection name*, enter a name for the connection.
27-
+
28-
For example, the name might refer to the VPC ID of the VPC you created in AWS.
29-
25+
. On the *Network* page, click *+ Add peering connection*.
26+
. In *Connection name*, enter a name. For example, the name might refer to the VPC ID of the VPC you created in AWS.
3027
. In *AWS account number*, enter the account number associated with the VPC you want to connect to.
3128
. In *AWS VPC ID*, enter the VPC ID by copying it from the AWS VPC Console.
3229
. Click *Create peering connection*.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
= Azure
2+
:description: Learn how to configure private networking for Dedicated clusters on Azure.
3+
:page-layout: index
4+
:page-categories: Networking
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
= Add a Dedicated VPC Peering Connection
2+
:description: Use the Redpanda Cloud UI to set up VNet peering.
3+
4+
When you deploy a Dedicated cluster, you have the option to select private networking. Virtual network (VNet) peering connects your Azure VNet to the Redpanda Cloud VPC, allowing them to communicate with each other as if they were within the same network.
5+
6+
NOTE: With VNet peering, traffic is _not_ routed over the public internet.
7+
8+
Because Azure does not allow you to initiate a peering against another tenant without having delegated access to that tenant, Redpanda must first create a multi-tenant Entra ID Enterprise application with a service principal attached to that application in Redpanda's tenant. The Redpanda Cloud UI provides this application ID. You must create a service principal on your tenant with that application ID, and attach a role to that service principal. Redpanda can then initiate the peering.
9+
10+
Creating a VNet peering involves the following steps:
11+
12+
. Create a peering connection in the Redpanda Cloud UI.
13+
. Create a service principal with the provided application ID in Azure Cloud Shell.
14+
. Assign a set of roles to the service principal in Azure Cloud Shell.
15+
16+
== Prerequisites
17+
18+
* *Azure VNet*: Before setting up a peering connection in the Redpanda Cloud UI, you must have an Azure VNet in your own account for Redpanda's VPC to connect to.
19+
* *Matching region*: Peering connections can only be established between networks created in the *same region*. Redpanda Cloud does not support inter-region peering connections.
20+
* *Non-overlapping CIDR blocks*: The CIDR block (address space) for your VNet cannot match or overlap with the CIDR block for the Redpanda Cloud VPC.
21+
+
22+
TIP: Consider adding `rp` at the beginning of the VNet name to indicate that this VNet is for deploying a Redpanda cluster.
23+
24+
== Create a peering connection in Redpanda Cloud
25+
26+
To create a peering connection between your Azure VNet and Redpanda VPC:
27+
28+
. In the Redpanda Cloud UI, go to the *Overview* page for your cluster.
29+
. In the Details section, click the name of the *Redpanda network*.
30+
. On the *Network* page for your cluster, click *+ Add peering connection*.
31+
. For *Connection name*, enter a name. For example, the name could refer to your Azure VNet ID.
32+
. For *Azure account number*, enter the account number associated with the VNet you want to connect to.
33+
. For *Azure VNet ID*, enter the VNet ID.
34+
. Click *Create peering connection*.
35+
36+
NOTE: In the Redpanda Cloud UI, Redpanda provides the *application ID* for the multi-tenant application it created with a service principal attached to it in Redpanda's tenant.
37+
38+
== Create a service principal in Azure Cloud Shell
39+
40+
Create a service principal on your tenant tied to the *application ID*. This is public across tenants.
41+
42+
In the Azure Cloud Shell:
43+
44+
. Create a service principal with the provided application ID.
45+
. Assign a set of roles to the service principal.
46+
+
47+
Redpanda creates the service principal with a role assignment that allows it Network Contributor access to the Redpanda tenant and subscription scoped to the cluster's network, but you may choose a custom role that is less broad, and scoped to your network.
48+
+
49+
Example for Network Contributor role:
50+
+
51+
```bash
52+
# Set environment variables.
53+
export RP_RESOURCE_GROUP_ID=<Retrieve resource group ID from Redpanda Cloud URL>
54+
export AZURE_VNET_ID=<Retrieve Azure VNET ID from Azure VNET UI>
55+
56+
# Create service principal and get its ID.
57+
> spid=$(az ad sp create –id <application-id> --query "id" -o tsv
58+
59+
# Assign the role to the service principal using the environment variables.
60+
# The assignee is the ID created above.
61+
> az role assignment create \
62+
–-assignee $spid \
63+
--role "Network Contributor"
64+
--scope /subscriptions/<subscription-id>/resourceGroups/$RP_RESOURCE_GROUP_ID/providers/Microsoft.Network/virtualNetworks/$AZURE_VNET_ID
65+
```
66+
+
67+
Example for custom role with scoped permissions for peering:
68+
+
69+
```bash
70+
# Set environment variables.
71+
export RP_RESOURCE_GROUP_ID=<Retrieve resource group ID from Redpanda Cloud URL>
72+
export AZURE_VNET_ID=<Retrieve Azure VNET ID from Azure VNET UI>
73+
74+
# Create service principal and get its ID.
75+
> spid=$(az ad sp create –id <application-id> --query "id" -o tsv)
76+
77+
# Create custom role definition for Redpanda peering role and get its ID.
78+
> rdid=$(az role definition create --role-definition '{
79+
"Name": "Redpanda Peering Role",
80+
"Description": "Peers networks to Redpanda networks.",
81+
"Actions": [
82+
"Microsoft.Network/virtualNetworks/peer/action",
83+
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read",
84+
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write",
85+
"Microsoft.ClassicNetwork/virtualNetworks/peer/action”,
86+
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/delete"
87+
],
88+
"AssignableScopes": ["/subscriptions/<subscription-id>/..."]
89+
}' --query "name" -o tsv)
90+
91+
# Assign the role to the service principal using the environment variables.
92+
# The assignee is the ID created above.
93+
> az role assignment create \
94+
--assignee $spid \
95+
--role $rdid \
96+
--scope /subscriptions/<subscription-id>/resourceGroups/$RP_RESOURCE_GROUP_ID/providers/Microsoft.Network/virtualNetworks/$AZURE_VNET_ID
97+
```
98+
99+
Redpanda polls with the application to try to access the customer tenant. When access is available, it initiates the peering API calls. After you create the service principal, the API calls use the application to create the peering on the Redpanda network and then the peering on the Azure network.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
= GCP
2-
:description: Learn how to configure networking for Dedicated clusters on GCP.
2+
:description: Learn how to configure private networking for Dedicated clusters on GCP.
33
:page-layout: index
44
:page-categories: Networking
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
= Add a Dedicated VPC Peering Connection
2+
:description: Use the Redpanda Cloud UI to set up VPC peering.
3+
4+
*Update for GCP*
5+
6+
A VPC peering connection is a networking connection between two VPCs. This connection allows the VPCs to communicate with each other as if they were within the same network. A route table routes traffic between the two VPCs using private IPv4 addresses.
7+
8+
NOTE: Traffic is _not_ routed over the public internet.
9+
10+
When you select a network for deploying your Redpanda Dedicated cluster, you have the option to select a private connection with VPC peering. The VPC peering connection connects your VPC to the Redpanda Cloud VPC.
11+
12+
== Prerequisites
13+
14+
* *VPC network*:Before setting up a peering connection in the Redpanda Cloud UI, you must have a VPC in your own account for Redpanda's VPC to connect to.
15+
* *Matching region*: VPC peering connections can only be established between networks created in the *same region*. Redpanda Cloud does not support inter-region VPC peering connections.
16+
* *Non-overlapping CIDR blocks*: The CIDR block for your VPC network cannot match or overlap with the CIDR block for the Redpanda Cloud VPC.
17+
18+
TIP: Consider adding `rp` at the beginning of the VPC name to indicate that this VPC is for deploying a Redpanda cluster.
19+
20+
== Create a peering connection
21+
22+
To create a peering connection between your VPC and Redpanda's VPC:
23+
24+
. In the Redpanda Cloud UI, go to the *Overview* page for your cluster.
25+
. In the Details section, click the name of the Redpanda network.
26+
. On the *Network* page, click *+ Add peering connection*.
27+
. In *Connection name*, enter a name for the connection.
28+
+
29+
For example, the name might refer to the VPC ID of the VPC you created in GCP.
30+
31+
. In *GCP account number*, enter the account number associated with the VPC you want to connect to.
32+
. In *GCP VPC ID*, enter the VPC ID.
33+
. Click *Create peering connection*.
34+
35+
== Accept the peering connection request
36+
37+
Redpanda sends a peering request to the GCP. You must accept the request from the Redpanda VPC to set up the peering connection.
38+
39+
. Log in to GCP.
40+
. Select the region where the VPC was created.
41+
. From the navigation menu, select *Peering Connections*.
42+
. Under *Requester VPC*, select the VPC you created for use with Redpanda.
43+
+
44+
The status should say "Pending acceptance".
45+
46+
. Open the *Actions* menu and select *Accept Request*.
47+
. In the confirmation dialog box, verify that the requester owner ID corresponds to the Redpanda account, and select *Yes, Accept*.
48+
. In the next confirmation dialog box, select *Modify my route tables now*.

0 commit comments

Comments
 (0)