docs(networking): document Console access over AWS PrivateLink#594
docs(networking): document Console access over AWS PrivateLink#594david-yu wants to merge 5 commits into
Conversation
Adds a Console row to the PrivateLink services table and a new "Access Redpanda Console" subsection in the shared partial. Engineering confirmed that DNS for the Console hostname is auto-resolved by the verified private DNS name on the endpoint service, so consumers do not need to create a private hosted zone or override DNS. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
✅ Deploy Preview for rp-cloud ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis PR updates PrivateLink VPC endpoint documentation to explicitly include Redpanda Console as an accessible service. Changes clarify that the Cloud Console UI's "How to Connect" section provides URLs for Kafka API, Schema Registry, HTTP Proxy, and Console after PrivateLink is enabled. A shared documentation partial is updated to list Console in the service introduction, expand the ports table to include Console port 443, and add a new "Access Redpanda Console" section with HTTPS URL patterns, DNS resolution behavior notes, and VPC endpoint security group configuration requirements. Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
modules/networking/partials/private-links-access-rp-services-through-vpc.adoc (1)
70-70: ⚡ Quick winTighten the security group guidance to avoid over-permissive rules.
At Line 70, consider explicitly stating inbound TCP
443should be allowed from client workload sources only (for example, consumer VPC CIDRs or specific client security groups), not broad sources.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@modules/networking/partials/private-links-access-rp-services-through-vpc.adoc` at line 70, Update the guidance line that currently says "The security group attached to your VPC endpoint must allow inbound TCP on port `443`" to specify that the allowance must be restricted to client workload sources only (e.g., consumer VPC CIDRs or explicit client security groups) rather than broad sources like 0.0.0.0/0; mention examples (consumer VPC CIDRs, specific client security group IDs) and recommend avoiding overly-permissive source ranges to tighten access control for the VPC endpoint security group.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In
`@modules/networking/partials/private-links-access-rp-services-through-vpc.adoc`:
- Line 70: Update the guidance line that currently says "The security group
attached to your VPC endpoint must allow inbound TCP on port `443`" to specify
that the allowance must be restricted to client workload sources only (e.g.,
consumer VPC CIDRs or explicit client security groups) rather than broad sources
like 0.0.0.0/0; mention examples (consumer VPC CIDRs, specific client security
group IDs) and recommend avoiding overly-permissive source ranges to tighten
access control for the VPC endpoint security group.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 1787260d-2239-4371-a2d1-3d71fee4bbe7
📒 Files selected for processing (2)
modules/networking/pages/configure-privatelink-in-cloud-ui.adocmodules/networking/partials/private-links-access-rp-services-through-vpc.adoc
Verified end-to-end against a private BYOC cluster with a PrivateLink endpoint in a consumer VPC: - Cluster DNS publicly returns service-side LB IPs (10.0.x.x). - From inside the consumer VPC, dig returns the endpoint's ENI private IP (e.g. 172.31.0.97) via the verified private DNS name `*.<cluster_domain>` registered on the endpoint service. - curl returns HTTP 200 with title "Redpanda Console" served over HTTPS through the endpoint. Corrects the Console URL form from `console.<cluster_domain>` to `console-<id>.<cluster_domain>` (the random per-cluster id suffix the control plane assigns), and points to the *How to Connect* section as the authoritative source. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Verification: Console over PrivateLink works end-to-endTested against a private BYOC cluster ( Public DNS (control: from outside the VPC)
Verified private DNS on the endpoint service The PrivateLink endpoint service publishes a wildcard verified private DNS name that covers the Console hostname: This is what makes auto-resolution work in consumer VPCs without any PHZ. From inside the consumer VPC With The seed Kafka API hostname also resolves to the same ENI ( Still open
|
Adds a new section to the Cloud UI page describing how to access Redpanda Console for a private BYOC cluster from a workstation outside the client VPC. Verified against a real cluster. Key points captured: - Cluster Console for a private BYOC cluster is not browsable directly; the SPA loads but has no standalone login form. Authentication is handed off from Redpanda Cloud Console. - The cluster Overview page on cloud.redpanda.com is served by the control plane and works without a VPN. - The cluster's left navigation (Topics, Brokers, Consumer groups) is served by Redpanda Console behind PrivateLink, so it only loads when the workstation has a VPN session into the client VPC. - AWS Client VPN settings specific to PrivateLink: client CIDR must not overlap VPC CIDR, DNS server IPs must point at the VPC's resolver (so Console hostnames resolve via the endpoint ENI), split-tunnel enabled. Softens the partial's Console section from "browse to the URL" to a network-path verification, with a forward reference to the workstation flow on the Cloud UI page. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Verified workflow: workstation access via AWS Client VPNTested end-to-end against the same private BYOC cluster used for the earlier verification. Standing up Client VPN Used terraform to stand up an AWS Client VPN endpoint in the consumer VPC: mutual TLS auth (self-signed CA + server + client cert via the Confirming DNS pushes through correctly From the Mac with the VPN connected: This is the PrivateLink endpoint's ENI IP, not the cluster VPC's internal LB. Confirms the Client VPN endpoint pushed Browser behavior
There is no "Open Console" button — the cluster's left navigation IS the Console UI, embedded in the Cloud Console cluster page. Updates in
|
ASCII diagram in the workstation access section showing the two-hop flow: Client VPN puts the laptop into the client VPC, then PrivateLink carries the connection to the cluster. Clarifies that Client VPN itself does not use PrivateLink — the VPN is just one of several ways a client can reach the VPC, and PrivateLink is the constant once you're inside. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Drop "only" in the workstation intro; Console is reachable through other private routes too (VPC peering, transit gateway). Per @paulzhang97 review. - Widen the Client VPN inbound port range from 30000-30999 to 30000-35999 to cover both seed and per-broker Kafka API and HTTP Proxy ports. Per @paulzhang97 review. - Tighten partial's port 443 SG guidance to scope inbound to client workload sources (consumer VPC CIDR or specific client security groups) and call out that broad source ranges like 0.0.0.0/0 should be avoided. Per @coderabbitai nitpick. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Thanks @paulzhang97 resolved the outstanding issues and sent over for re-review |
Summary
Adds documentation for accessing Redpanda Console through an AWS PrivateLink VPC endpoint. Today the PrivateLink pages only document Kafka API, Schema Registry, and HTTP Proxy access — Console is silently included when PrivateLink is enabled but isn't mentioned anywhere, so customers either don't realize they can use it or assume they need to hand-roll a Route 53 private hosted zone to make it work.
Engineering confirmed: when PrivateLink is enabled, all endpoints (including Console) are reachable through the VPC endpoint, and DNS is auto-configured via the endpoint service's verified private DNS name — no PHZ override required. This was then verified end-to-end against a private BYOC cluster (see comment below for evidence).
Preview link: https://deploy-preview-594--rp-cloud.netlify.app/redpanda-cloud/networking/configure-privatelink-in-cloud-ui/#access-redpanda-console-from-a-workstation
Changes
modules/networking/partials/private-links-access-rp-services-through-vpc.adoc— adds Redpanda Console to the services table and a new=== Access Redpanda Consolesubsection with step-by-stepdig+curlverification (used by both the Cloud UI page and the API page).modules/networking/pages/configure-privatelink-in-cloud-ui.adoc— minor wording tweak so the intro of the access section mentions Redpanda Console alongside the other services.Test plan
console-<id>.<cluster_domain>is reachable on 443 from a consumer VPC with a PrivateLink endpoint to a private BYOC cluster — no PHZ created on the consumer side. (Verified — see comment.)connect_consoletoggle required for that path).🤖 Generated with Claude Code