Skip to content

DOC-1613: Document BYOC AWS centralized egress with Transit Gateway#587

Open
micheleRP wants to merge 20 commits into
mainfrom
DOC-1613-byoc-aws-nat-free-egress
Open

DOC-1613: Document BYOC AWS centralized egress with Transit Gateway#587
micheleRP wants to merge 20 commits into
mainfrom
DOC-1613-byoc-aws-nat-free-egress

Conversation

@micheleRP
Copy link
Copy Markdown
Contributor

@micheleRP micheleRP commented May 14, 2026

Summary

  • Adds two new pages under networking/byoc/aws/ documenting the beta NAT Gateway-Free Egress feature for BYOC AWS clusters: a concept + how-to page for configuring centralized egress at network creation, and a how-to for provisioning the customer-side hub VPC, Transit Gateway, and AWS RAM share.
  • Updates nav and adds callouts on the existing BYOC create page (create-byoc-cluster-aws.adoc) and BYOVPC page (vpc-byo-aws.adoc) so customers can discover the new option.
  • Cloud API path is currently hidden behind ifdef::show-preview-api[] while the network.egress_spec.aws.transit_gateway_id field is in PREVIEW. A preview-gated section is added on nat-free-egress.adoc, and a matching AWS BYOC network example is added to the controlplane-api.adoc partial (rendered on cloud-byoc-controlplane-api.adoc). Setting :show-preview-api: re-enables both in a future PR.

Context

Open items before publishing

These don't block review of the content, but PM/Eng sign-off is needed before the PR moves out of draft:

  1. Beta entitlement model — SE-requested vs self-service for 26.2 GA.
  2. Should the Cloud API egress_spec section be enabled at publish, or stay hidden until the field graduates from PREVIEW? Currently hidden.
  3. Architecture diagram source — the page uses an ASCII diagram. The PRD has Image swap ROOT xrefs with include directive #3 ("AWS Transit Gateway — Redpanda BYOC ↔ Customer Connectivity"); confirm rights to reuse or commission a redrawn version.
  4. UI screenshot of the Network wizard's Transit Gateway ID field (needs to be captured in a test org with the flag enabled).
  5. Migration runbook — the PRD lists "migrate existing cluster without recreation" as acceptance criteria, but it's not yet supported. Migration content is deferred to a follow-up DOC ticket when the runbook is approved.

Preview pages

Test plan

  • Wait for Netlify preview to build.
  • Verify both new pages render under BYOC → AWS in the left nav.
  • Verify the Cloud API section does not render on nat-free-egress (it's gated behind ifdef::show-preview-api[]).
  • Verify the new preview-gated AWS network example on cloud-byoc-controlplane-api.adoc does not render by default (also gated behind ifdef::show-preview-api[]).
  • Verify cross-links between nat-free-egress and aws-hub-egress resolve in both directions.
  • Verify the NOTE next to the Transit Gateway ID UI step on nat-free-egress renders, and its xref to aws-hub-egress resolves.
  • Verify the troubleshooting table link in nat-free-egress jumps to the "Internet endpoints" section.
  • Verify the callout on create-byoc-cluster-aws (TIP on the Network wizard step) renders correctly.
  • Verify the updated outbound-internet bullet on vpc-byo-aws links to nat-free-egress.
  • Verify the Beta badge displays on both new pages.
  • Verify learning objective checkbox lists render on both new pages.

🤖 Generated with Claude Code

Add two new pages under networking/byoc/aws for the beta NAT
Gateway-free egress feature: a concept + how-to page for
configuring centralized egress on a BYOC cluster, and a hub-side
setup guide for the customer's Transit Gateway, NAT Gateway, and
AWS RAM share. Update nav and link from the existing BYOC create
and BYOVPC pages. The Cloud API path is gated behind
ifdef::show-preview-api[] while egress_spec is in PREVIEW.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented May 14, 2026

Deploy Preview for rp-cloud ready!

Name Link
🔨 Latest commit 8c6b2e4
🔍 Latest deploy log https://app.netlify.com/projects/rp-cloud/deploys/6a0b9700844ace0007c9de9c
😎 Deploy Preview https://deploy-preview-587--rp-cloud.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 14, 2026

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9e094e18-cc82-417c-99e2-32afef4c0b7e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This pull request adds comprehensive documentation for a new beta feature: centralized egress for BYOC clusters on AWS. The change introduces two new how-to guides—one for provisioning a customer-managed Transit Gateway hub and one for configuring BYOC clusters to route traffic through it—alongside updates to the product's what's-new page, navigation tree, and existing cluster setup documentation. The feature enables customers to consolidate egress from multiple Redpanda clusters through a single hub VPC and NAT gateway instead of deploying per-cluster NAT resources.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • paulzhang97
  • david-yu
  • kbatuigas
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the primary objective of the PR: documenting the new BYOC AWS centralized egress feature using AWS Transit Gateway.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description comprehensively covers objectives, context, preview links, test plan, and open items requiring sign-off.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch DOC-1613-byoc-aws-nat-free-egress

Comment @coderabbitai help to get the list of available commands and usage tips.

@micheleRP micheleRP marked this pull request as ready for review May 15, 2026 03:47
@micheleRP micheleRP requested a review from a team as a code owner May 15, 2026 03:47
@ppanagiotis
Copy link
Copy Markdown
Contributor

Hello. I updated this document with everything related to Transit Gateway for AWS BYOC clusters:
https://docs.google.com/document/d/1_kU7Ux_LzuYjqNASb97cx8bJ_b23rggMCMScV9W_0-g

Feel free to use it.

Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc
Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc
Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/aws-hub-egress.adoc Outdated
micheleRP and others added 6 commits May 15, 2026 09:49
… API

Document `egress_spec.aws.transit_gateway_id` on AWS BYOC networks in the
Control Plane API partial behind `:show-preview-api:`, and cross-link the
full API workflow from the centralized-egress page.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Centralized egress is only available on AWS BYOC clusters with a private
connection type. Add the constraint to the Prerequisites list on the
centralized-egress page and to the Transit Gateway TIP callout on the
create-cluster page.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Trim the IMPORTANT callout to keep only the actionable instruction
(create new network + cluster, then migrate data), since the
"immutable" point is already covered in the Limitations section.
Reassign the RAM share invitation acceptance to the Customer owner.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Redpanda does not accept the Transit Gateway RAM share -- the customer
accepts the invitation in the BYOC AWS account before creating the
cluster (auto-accepted within an AWS Organization). Correct the
Prerequisites bullet, the Console procedure step, and both
troubleshooting rows that previously implied Redpanda accepts the share.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add a NOTE next to the Transit Gateway ID UI step clarifying that the
CIDR block customers enter on the Network page is the Redpanda spoke
CIDR, and that a matching static route must exist on the hub public
route table for reply traffic to reach the cluster. The Transit
Gateway's own route table picks up the spoke CIDR via propagation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous six-row table mixed customer-observable symptoms with
internal framings (agent logs, packets in the Redpanda VPC) that
customers cannot inspect. Replace it with two rows whose symptoms
are visible in the Cloud UI or the customer's own AWS account, and
fold the four hub misconfiguration causes into a single
"cluster creation does not complete" checklist.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ppanagiotis
Copy link
Copy Markdown
Contributor

@micheleRP I updated my document based on @david-yu’s comments. Please take a look if you think anything else should be added. Other than that, it looks good to me.

Copy link
Copy Markdown
Contributor

@Feediver1 Feediver1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed against the Redpanda style guide and verified all xrefs. No broken links, no cross-repo single-source issues, CI is green. Findings are minor style polish.

Verified:

  • All 5 xref targets in the new pages resolve in cloud-docs main (aws-hub-egress, nat-free-egress, create-byoc-cluster-aws, cloud-byoc-controlplane-api, transit-gateway). The new pages reference each other; that resolves once the PR merges.
  • In-page anchors [#internet-endpoints] and [#automated-alternative] match their <<…>> references.
  • No files in this PR are single-sourced from redpanda-data/docs. modules/manage/partials/controlplane-api.adoc is only included by three cloud-docs pages.
  • All Bash code blocks have [,bash] language tags; bare ---- blocks are intentional ASCII diagrams.
  • 3 measurable learning objectives per page, using observable Bloom verbs.
  • ifdef::show-preview-api[] gating is correctly nested in controlplane-api.adoc (two consecutive endif::[] close the inner then outer ifdefs).

Style nits inline. The only one I'd push on is sentence-case for the page titles (Redpanda convention; sub-headings on both pages already follow it). The rest is optional polish.

Out of scope but called out for visibility: the test plan's TIP-in-numbered-list check is worth eyeballing on the Netlify preview because the list-continuation pattern is non-trivial — see comment on create-byoc-cluster-aws.adoc.

Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc
Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/nat-free-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/aws-hub-egress.adoc
Comment thread modules/networking/pages/byoc/aws/aws-hub-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/aws-hub-egress.adoc Outdated
micheleRP and others added 5 commits May 18, 2026 13:32
The page assumed the customer knew their existing Transit Gateway
would auto-accept the Redpanda spoke attachment. Spell out both cases
in Prerequisites and split the conflated troubleshooting row that
mislabeled a pendingAcceptance attachment as a RAM share issue.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Comment thread modules/get-started/pages/whats-new-cloud.adoc Outdated
// To enable, set the attribute in the playbook or in this page header.
ifdef::show-preview-api[]

To route all cluster egress through your own AWS Transit Gateway and hub VPC instead of a per-VPC NAT Gateway, set `egress_spec.aws.transit_gateway_id` on an AWS BYOC network. Centralized egress is in beta, and the field is in preview on AWS BYOC networks only. The Transit Gateway ID is immutable after the network is created. Before you call this endpoint, provision the hub VPC and Transit Gateway and share the Transit Gateway with the Redpanda cluster account. See xref:networking:byoc/aws/aws-hub-egress.adoc[Create an AWS Hub for Centralized Egress] and xref:networking:byoc/aws/nat-free-egress.adoc[Configure Centralized Egress with AWS Transit Gateway].
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe link to a description/defn of "preview" here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll remove that clause about "preview"

Comment thread modules/manage/partials/controlplane-api.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/aws-hub-egress.adoc Outdated

[WARNING]
====
Hub and spoke VPC CIDRs must not overlap. AWS allows Transit Gateway attachments with overlapping CIDRs, but the hub VPC's local route always wins over the spoke CIDR return route, which silently blackholes reply traffic. Plan your CIDRs before you start.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread modules/networking/pages/byoc/aws/aws-hub-egress.adoc
======

== Create private subnets

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need text here. Many of these sections say what the tasks are, but do not explain why users must complete them. It's sort of like blind faith. Ideally, users walk away from each step/task understanding why it is there in the first place.

----
======

== Create the Internet Gateway
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as last comment here

Comment thread modules/networking/pages/byoc/aws/aws-hub-egress.adoc Outdated
Comment thread modules/networking/pages/byoc/aws/aws-hub-egress.adoc Outdated
micheleRP and others added 6 commits May 18, 2026 16:08
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
- Add an xref to "What are CIDRs?" from the hub-and-spoke CIDR overlap warning.
- Explain why the hub needs private subnets and an Internet Gateway in the
  two sections that previously jumped straight from heading to tabs.
- Drop the "in preview on AWS BYOC networks only" qualifier from the
  centralized-egress API note, since there is no central definition of
  "preview" to link to.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants