Use Private Network Interface on Confluent Cloud
Confluent Private Network Interface (PNI) enables private communication between your AWS resources, such as Kafka clients, and your Confluent Cloud clusters, specifically Freight and Enterprise clusters, through the Elastic Network Interface (ENI) that resides in your AWS account.
This capability is based on the AWS Multi-VPC ENI attachment feature. The feature can be used to attach a secondary Elastic Network Interface (ENI) in one VPC to a virtual machine (VM) running in another, even when those VPCs are in different AWS accounts or organizations. Key characteristics of ENIs for PNI are:
Located in Customer’s VPC: ENIs for PNI are associated with the subnets in customer VPC.
Owned and fully controlled by the Customer who can:
create, update and delete such ENIs
create and attach Security Group (SG) on such ENIs to control origination of connections
give limited permissions to Confluent to attach Confluent Cloud VMs to such ENIs
Used by Confluent: with limited ability to attach ENIs for PNI to Confluent Cloud VMs (after the customer gives permission)
../_images/aws-pni.png
Confluent PNIs retain all properties and behaviors of AWS ENIs, including the security rules you defined through security groups.
The security groups applied to PNIs control the source and type of inbound and outbound traffic allowed between your environment and Confluent Cloud services. You can leverage your existing security operations to create, apply, and track changes to these security groups.
Confluent Cloud uses the following private networking resources for PNI.
Gateway
A gateway is a resource that represents a connectivity type to and from Confluent Cloud services. It is created within an environment for the region and zone(s) you choose. The PNI gateway allows you to connect to Confluent Cloud services, such as Freight and Enterprise clusters, hosted in a given environment and region, from your network.
Access point
An access point is a resource that represents a connection instance to a gateway and must match the type of the gateway it connects to. An access point of type PNI consists of a set of AWS ENIs in the same cloud region as the gateway, carrying traffic to and from Confluent Cloud services. The PNI access point provides you with a connection to services like Freight and Enterprise clusters, hosted in a specific environment and region, from your network.
The high-level workflow is:
In Confluent Cloud, create a gateway.
Update the security group to block incoming connections from Confluent Cloud to customer network (Recommended).
In AWS, create ENIs.
Confluent Cloud provides a script that you can use to automate this process. The script is downloadable at the beginning of the next step, where you create an access point.
In Confluent Cloud, create an access point by sharing the ENIs created in the previous step.
Requirements and considerations
Currently, PNI is supported for Freight and Enterprise Kafka clusters on AWS.
Enterprise clusters on AWS now support simultaneous connectivity using both PrivateLink Attachment and PNI.
Switching from PrivateLink to PNI, or vice versa, is fully supported and does not require redeploying the cluster.
You need to create 51 ENIs and assign network interface permissions to them as described in Create ENIs. This ensures that the network layer can support scaling operations without becoming a bottleneck for the service.
Currently, ENIs need to be created by the user with the minimum EC2 permissions. Create or use an IAM role in your AWS account and attach policies that allow lifecycle management of network interfaces.
Expand the following to view an example policy:
pni-eni-policy.json
The ENIs you create in your AWS account must be in the same Availability Zone (AZ) and have the same AZ ID as the zones in Confluent Cloud.
Each ENI (or set of ENIs) can be associated with only one PNI access point.
A single PNI gateway can be used to access multiple Enterprise and Freight clusters in the same region/environment.
You can currently set up two PNI gateways per Confluent Cloud environment. If you need more than two gateways, contact Confluent Support.
Confluent Cloud Console components, such as topic management, require additional configuration to function as they use cluster endpoints. To use the Confluent Cloud Console with PNI, see Use the Confluent Cloud Console with Private Networking.
For enhanced security, it is recommended that you block incoming connections from Confluent Cloud to customer network (i.e., Confluent Cloud–initiated requests) by attaching the security group with appropriate rules to PNI. This effectively denies all egress connections from Confluent Cloud infrastructure to customer network and mirrors the connectivity behavior of AWS PrivateLink. See Update the security group for steps.
Egress over PNI is not yet supported. Use an Egress PrivateLink Endpoint instead.
For some of the common questions about PNI, see PNI FAQs.
Network security
An ENI for PNI is a network attachment point on your VPC subnet, capable of handling all network traffic independent of its origination direction.
../_images/aws-pni-connectivity.png
PNI can offer:
Security posture at par with PrivateLink: While PNI uses a different shared responsibility model than PrivateLink, you can achieve the same strong security posture. As shown in the figure above, you can use standard AWS Security Groups to control traffic flowing through the ENI. You can customize these Security Groups to mimic the specific security behaviors of PrivateLink, by blocking all connections from Confluent into the customer network.
We strongly recommend such Security Group configuration.
More flexibility than PrivateLink: ENI for PNI offers greater flexibility as compared to PrivateLink, which is designed to allow traffic originating from one direction to specific network ports. PNI offers an optional capability to the user to open up select connections from Confluent into the customer network to allow legitimate use cases by services like Fully Managed Connectors.
Create a gateway
In order for Confluent Cloud clusters to be able to leverage PNI for inbound connectivity, create a gateway to enable connectivity.
Confluent Cloud Console
To create a gateway:
In the Confluent Cloud Console, select an environment for the PNI.
In the Network management tab in the environment, click For serverless products.
Click + Add gateway configuration (if you have one or more existing gateways in the environment) or + Create gateway configuration (if you are creating the first gateway in the environment).
Select the Private Network Interface card to select the type of gateway configuration.
Click + Create configuration.
On the Configure gateway sliding panel, enter the following information.
Gateway name
Cloud provider: AWS
Region
Zones
Click Submit.
Confluent REST API
Confluent CLI
Terraform
Update the security group (Recommended)
For enhanced security, it is recommended that you block all incoming connections from Confluent Cloud to customer network over PNI by updating the security group:
Create a new security group (or use the default security group in the VPC containing PNIs).
Add a rule to allow the CIDRs of the subnets from which clients access the Confluent Cloud service, permitting only ports 443 and 9092.
Remove the default egress rule (allow 0.0.0.0/0) from the security group, which effectively denies all egress connections from Confluent Cloud into customer network and emulates AWS PrivateLink connectivity posture.
Attach the security group to all ENIs.
The following AWS CLI command configures the security group to enforce unidirectional behavior for the ENI:
aws ec2 revoke-security-group-egress \
--group-id <security-group-id> \
--protocol all \
--cidr 0.0.0.0/0 \
--region <aws-region>
For example:
aws ec2 revoke-security-group-egress \
--group-id sg-0eb61ce4d2c45c86a \
--protocol all \
--cidr 0.0.0.0/0 \
--region us-west-2
Create ENIs
Create the ENIs using Terraform or using AWS CLI. For PNI, you need a minimum of 51 ENIs.
Create ENIs using Terraform
The following is a sample code to create an ENI and the permission to be attached.
The code revokes the egress rule from the security group.
create_enis.tf
Create ENIs using AWS CLI
The following is an AWS CLI script to create ENIs. You need to have AWS CLI installed to run the script.
create_aws_enis_with_permission.sh
Create an access point
Create a Confluent Cloud access point that represents a PNI connection.
Confluent Cloud Console
In the Network Management tab of the desired Confluent Cloud environment, click the For serverless products tab.
Click the gateway to which you want to add this access point.
In the Access points tab, click Add access point.
Follow the guided steps to specify the field values:
Specify the name of the access point.
Create ENIs.
To use AWS CLI script, in the AWS CLI tab, click Download script, and then click Instructions for running the script for the steps to execute the script.
To use Terraform, in the Terraform tab, click Terraform instructions and follow the steps and example code.
Specify the IDs of the ENIs that you created in the previous step.
Enter the AWS account ID where the ENIs were created.
Click Submit.
Confluent REST API
Confluent CLI
Terraform
DNS resolution
Confluent Cloud hosts and manages the DNS records for endpoints which use PNI connectivity. In order for your Kafka clients to resolve these DNS names, they must be able to resolve records from public DNS servers.
Confluent does not provide a supported private DNS solution for the clusters that use PNI connectivity.
ClassificationCompleted
Title: Configuring Private Network Interface for Confluent Cloud on AWS
The document centers around **Private Network Interface (PNI)**, which fundamentally addresses a common cloud architecture challenge: how to securely connect your private infrastructure to a vendor's cloud service without exposing traffic to the public internet. Think of it like creating a private tunnel between your house and a service provider's building, rather than having to walk down public streets to get there. The security benefit is obvious—no one else can see or intercept what you're sending.
**Elastic Network Interfaces (ENIs)** are AWS's abstraction for network cards in the cloud. Just as your physical computer has a network card with a MAC address and IP configuration, virtual machines in AWS need similar networking capabilities. An ENI is tha...
The documentation makes several direct technical assertions:
**Architecture and Functionality:**
- PNI enables private communication between AWS resources and Confluent Cloud clusters (Freight and Enterprise) through ENIs residing in customer AWS accounts
- The implementation is based on AWS Multi-VPC ENI attachment feature, allowing secondary ENI attachment across VPCs, even across different AWS accounts
- ENIs are located in and owned by the customer's VPC, while Confluent has limited attachment permissions
- PNI retains all properties and behaviors of AWS ENIs, including security group rules
**Resource Requirements:**
- 51 ENIs are required to "ensure that the network layer can support...
The documentation makes several direct technical assertions:
**Architecture and Functionality:**
- PNI enables private communication between AWS resources and Confluent Cloud clusters (Freight and Enterprise) through ENIs residing in customer AWS accounts
- The implementation is based on AWS Multi-VPC ENI attachment feature, allowing secondary ENI attachment across VPCs, even across different AWS accounts
- ENIs are located in and owned by the customer's VPC, while Confluent has limited attachment permissions
- PNI retains all properties and behaviors of AWS ENIs, including security group rules
**Resource Requirements:**
- 51 ENIs are required to "ensure that the network layer can support scaling operations without becoming a bottleneck"
- ENIs must be in the same Availability Zone with matching AZ IDs as Confluent Cloud zones
- Each ENI set can only associate with one PNI access point
**Capability Assertions:**
- Enterprise clusters now support simultaneous connectivity using both PrivateLink Attachment and PNI
- Switching between PrivateLink and PNI is "fully supported" without cluster redeployment
- A single PNI gateway can access multiple Enterprise and Freight clusters in the same region/environment
- Maximum of two PNI gateways per environment (more requires support contact)
**Security Posture:**
- PNI can offer "security posture at par with PrivateLink" when properly configured
- PNI offers "more flexibility than PrivateLink" by optionally allowing bidirectional traffic
- Recommended configuration blocks all incoming connections from Confluent Cloud to customer network
**Limitations:**
- Currently supported only for Freight and Enterprise Kafka clusters on AWS
- Egress over PNI is "not yet supported" (requires Egress PrivateLink Endpoint instead)
- Confluent Cloud Console components require additional configuration to function with PNI
- DNS resolution requires access to public DNS servers; no supported private DNS solution exists
**Configuring Private Network Interface for Confluent Cloud on AWS** is categorized as Technical content.
**Main Arguments:**
The documentation makes several direct technical assertions: **Architecture and Functionality:** - PNI enables private communication between AWS resources and Confluent Cloud clusters (Freight and Enterprise) through ENIs residing in customer AWS accounts - The implementation is based on AWS Multi-VPC ENI attachment feature, allowing secondary ENI attachment across VPCs,...
### Core Claims
The documentation makes several direct technical assertions:
**Architecture and Functionality:**
- PNI enables private communication between AWS resources and Confluent Cloud clusters (Freight and Enterprise) through ENIs residing in customer AWS accounts
- The implementation is based on AWS Multi-VPC ENI attachment feature, allowing secondary ENI attachment across VPCs, even across different AWS accounts
- ENIs are located in and owned by the customer's VPC, while Confluent has...
Deeper Concept
How was the requirement for exactly 51 ENIs determined, and how does this number relate to Confluent Cloud's scaling architecture?
The document asserts that 51 ENIs are required to prevent network bottlenecks but provides no justification for this specific number. Understanding th...
Deeper Concept
What are the specific security properties and threat models of AWS PrivateLink compared to PNI, and under what conditions does PNI actually achieve 'parity'?
The claim that PNI can offer 'security posture at par with PrivateLink' is conditional and unsubstantiated. A deep exploration of both architectures'...
Intuition Layer
What are the practical use cases where bidirectional PNI connectivity provides value over PrivateLink's unidirectional model, particularly for Fully Managed Connectors?
The document mentions that PNI's bidirectional capability enables 'legitimate use cases by services like Fully Managed Connectors' but doesn't elabora...
Dependency Clarification
How does AWS Multi-VPC ENI attachment work across account boundaries, and what are its limitations and security implications?
PNI is built on AWS's Multi-VPC ENI attachment feature, which the document mentions but doesn't explain. Understanding this underlying AWS capability...
Adjacent Idea
What are the operational and cost implications of managing 51 ENIs versus using PrivateLink, and how should organizations decide between these approaches?
The document provides configuration steps but no decision framework for choosing between PNI and PrivateLink. Exploring the total cost of ownership wo...
Close Reading Report
## Unfamiliar Concepts Explained
The document centers around **Private Network Interface (PNI)**, which fundamentally addresses a common cloud architecture challenge: how to securely connect your private infrastructure to a vendor's cloud service without exposing traffic to the public internet. Think of it like creating a private tunnel between your house and a service provider's building, rather than having to walk down public streets to get there. The security benefit is obvious—no one else can see or intercept what you're sending.
**Elastic Network Interfaces (ENIs)** are AWS's abstraction for network cards in the cloud. Just as your physical computer has a network card with a MAC address and IP configuration, virtual machines in AWS need similar networking capabilities. An ENI is that virtual network card—it has IP addresses, security rules, and connects to a specific subnet in your Virtual Private Cloud. What makes ENIs particularly powerful is that they can be detached from one virtual machine and attached to another, providing flexibility in how network connectivity is managed. In the PNI context, these ENIs become the attachment points where Confluent's infrastructure connects to your network.
The concept of **Multi-VPC ENI attachment** represents a significant networking capability that might not be intuitive at first. Normally, resources in one AWS account's VPC are isolated from another account's VPC—this is fundamental to cloud security. However, AWS introduced the ability to attach an ENI that exists in *your* VPC to a virtual machine running in *someone else's* VPC (in this case, Confluent's). This creates a controlled bridge between otherwise isolated networks. The critical insight is that you maintain ownership and control of the ENI itself—you define its security rules, you decide what traffic can flow through it—even though Confluent's virtual machines are using it to communicate with your resources.
**PrivateLink** appears throughout the document as a comparison point. PrivateLink is AWS's managed service for private connectivity that works differently from PNI. With PrivateLink, AWS creates service endpoints in your VPC that act as entry points to vendor services, and traffic flows exclusively in one direction—from your network to the vendor's service. It's architecturally simpler but less flexible. The document emphasizes that PNI can achieve the same security posture as PrivateLink (unidirectional traffic) but offers more flexibility because the ENI itself is bidirectional by nature—you just need to configure security groups appropriately to restrict directionality if desired.
The distinction between **gateways and access points** represents Confluent's abstraction layer over the underlying AWS networking. A gateway is the logical concept—"I want connectivity to Confluent services in the us-west-2 region"—while an access point is the concrete implementation using specific ENIs. This separation allows you to create one gateway and then potentially have multiple access points connecting to it, or to manage the lifecycle of these components independently. Think of the gateway as declaring intent and the access point as providing the actual wiring.
**Availability Zones (AZs) and AZ IDs** require understanding AWS's data center geography. AWS regions are divided into multiple physically separate data centers called Availability Zones for redundancy. However, there's a subtle complexity: the AZ names like "us-west-2a" are account-specific mappings to physical locations. What's "us-west-2a" in your account might map to a different physical data center than "us-west-2a" in Confluent's account. That's why the document specifies matching **AZ IDs**—these are consistent identifiers that map to the same physical location across all accounts, ensuring that your ENIs and Confluent's infrastructure are truly co-located for low latency.
The requirement for **51 ENIs** might seem arbitrary without understanding distributed systems scaling. Confluent's Kafka clusters aren't single machines—they're distributed systems that might scale up or down, fail over to different nodes, or rebalance across infrastructure. Having 51 ENIs pre-created ensures that there's always sufficient network attachment capacity available without the network layer becoming a bottleneck during scaling operations. It's pre-provisioning networking capacity to match the potential compute capacity of the cluster.
## Implicit Dependencies
The document assumes substantial familiarity with AWS networking fundamentals. Readers need to understand what a **Virtual Private Cloud (VPC)** is—essentially your own isolated network segment within AWS where you define IP address ranges, create subnets, and control routing. Without this foundation, concepts like "ENIs in your VPC" lack grounding.
**Subnet** knowledge is similarly assumed. Subnets divide your VPC into smaller network segments, typically aligned with availability zones. Understanding that ENIs must be created in specific subnets, and that subnet CIDR ranges determine what IP addresses are available, is prerequisite knowledge that the document doesn't explain.
The document presumes familiarity with **security groups**, AWS's stateful firewall mechanism. Security groups define rules about what traffic can flow to and from resources—which IP addresses or CIDR ranges can connect, on which ports, using which protocols. The recommendation to "remove the default egress rule" assumes you understand that security groups have both ingress (incoming) and egress (outgoing) rules, and that by default AWS creates permissive egress rules allowing all outbound traffic.
Understanding **IAM (Identity and Access Management)** roles and policies is essential for the permissions model described. The document mentions creating IAM roles with specific EC2 permissions and granting Confluent limited permissions to attach ENIs. This assumes familiarity with AWS's permission model—how policies define what actions are allowed on which resources, how roles are assumed by services, and how cross-account permissions work.
Knowledge of **Apache Kafka** itself provides important context. While not strictly required to follow the configuration steps, understanding that Kafka is a distributed streaming platform, that clients connect to it on specific ports (9092 for Kafka protocol, 443 for HTTPS), and that "clusters" represent groups of Kafka brokers working together, helps explain why certain network configurations are necessary.
The document also assumes operational familiarity with **Terraform** and **AWS CLI** as infrastructure-as-code and command-line tools. References to running scripts, applying Terraform configurations, and executing CLI commands presume you have these tools installed, configured with appropriate credentials, and understand their basic operation.
## Mechanisms & Dynamics
The actual **attachment process** whereby Confluent's virtual machines connect to your ENIs remains somewhat opaque. The document mentions you "give limited permissions to Confluent to attach Confluent Cloud VMs to such ENIs," but doesn't detail the technical mechanism. This likely involves AWS's cross-account ENI attachment APIs, where you grant Confluent's AWS account specific permissions on your ENIs, allowing their EC2 instances to attach these ENIs as secondary network interfaces. Understanding this helps explain the shared responsibility model—you own the ENI and control its security configuration, but Confluent's infrastructure uses it for network connectivity.
The **traffic flow architecture** could be clearer. When a Kafka client in your VPC connects to a Confluent cluster using PNI, the traffic flows through the ENI you created, which is attached to both your subnet and Confluent's virtual machines. The ENI essentially has two "sides"—one facing your network with an IP address from your subnet range, and another attached to Confluent's infrastructure. Security groups on the ENI control what traffic can traverse this boundary. But the document doesn't fully explain how routing works—how does your client know to send Kafka traffic through the ENI rather than over the public internet?
This connects to the **DNS resolution** section, which mentions that Confluent manages DNS records for endpoints using PNI connectivity, and clients must resolve these from public DNS servers. The implication is that when you connect to a Kafka cluster hostname, DNS returns an IP address from your subnet range (the IP of the ENI), and your VPC's routing table directs traffic to that local IP through normal VPC routing rather than sending it externally. But this mechanism isn't explicitly detailed.
The **scaling dynamics** that necessitate 51 ENIs aren't fully explained. Confluent's infrastructure presumably has multiple broker nodes, and as the cluster scales or nodes are replaced, different Confluent VMs need to attach to different ENIs. The pool of 51 ENIs provides sufficient attachment points for various scaling scenarios, but the specific mapping of ENIs to broker nodes and how failover works when a broker moves to different infrastructure remains abstract.
The relationship between **gateways, access points, and clusters** could be clearer. You create a gateway for a region and environment, then create an access point with your ENIs, and this somehow enables "multiple Enterprise and Freight clusters in the same region/environment" to use PNI. The mechanism by which multiple clusters share the same access point, and how traffic is routed to the correct cluster, isn't explained. Presumably, different clusters have different endpoints (DNS names) that resolve to different ENI IP addresses, or there's some form of multiplexing happening.
The **security group evaluation** process during traffic flow is mentioned but not detailed. When traffic flows through an ENI, AWS evaluates both the security group attached to the ENI and potentially security groups attached to other resources. Understanding the order of evaluation and how stateful connection tracking works (responses to allowed inbound connections are automatically allowed outbound, even if no explicit egress rule exists) would help readers configure security appropriately.
## Contextual Gaps
The document lacks historical context about **why PNI was introduced** alongside existing PrivateLink support. Understanding the limitations of PrivateLink that drove PNI development would help readers choose between them. PrivateLink's unidirectional nature apparently prevents certain use cases—the document mentions "Fully Managed Connectors" as services that might need to initiate connections from Confluent into customer networks. Connectors in Kafka pull data from or push data to external systems, so if you're running a connector that needs to access a database in your VPC, Confluent's infrastructure needs to initiate that connection. PrivateLink doesn't support this direction of traffic, hence PNI's bidirectional capability becomes valuable.
The **"Freight and Enterprise clusters"** terminology appears without definition. These are apparently Confluent Cloud cluster types, distinct from other offerings, but understanding what makes them different (likely related to scale, features, or SLAs) would clarify why PNI is only supported for these specific cluster types. The mention that "Enterprise clusters on AWS now support simultaneous connectivity using both PrivateLink Attachment and PNI" suggests these are high-tier offerings where customers might have complex networking requirements.
The **shared responsibility model** differences between PNI and PrivateLink are alluded to but not fully articulated. With PrivateLink, AWS manages the service endpoint infrastructure, and customers simply use it. With PNI, customers create and own the ENIs, manage their security groups, and grant permissions to Confluent—this is more operational responsibility but also more control. Understanding this trade-off helps explain why organizations might choose one approach over another based on their operational maturity and control requirements.
The document mentions that **"Egress over PNI is not yet supported"** and recommends using an "Egress PrivateLink Endpoint" instead, but doesn't explain what egress means in this context. This likely refers to Confluent-initiated traffic going from Confluent Cloud to external destinations (not the customer's VPC, but perhaps other internet services). The architecture apparently doesn't yet support routing such traffic through customer-managed network paths, requiring a separate PrivateLink-based solution for that use case.
The **DNS management** note that "Confluent does not provide a supported private DNS solution" has implications that aren't fully explored. Many organizations use private DNS zones (like AWS Route 53 private hosted zones) for internal name resolution without relying on public DNS. The requirement that clients must resolve Confluent cluster names from public DNS servers might conflict with network architectures that block public DNS access from internal networks for security reasons. This could require organizations to set up DNS forwarding or conditional resolution, but these operational considerations aren't addressed.
Finally, the **limit of two PNI gateways per environment** is stated without justification. Understanding whether this is a technical limitation, a quota for cost control, or a simplification for initial release would help organizations plan their architecture. The note to "contact Confluent Support" for more suggests it's an adjustable limit, but the underlying rationale remains unclear.
Critical Thinking Report
# Technical Evaluation: Confluent Cloud Private Network Interface Documentation
## Explicit Claims
The documentation makes several direct technical assertions:
**Architecture and Functionality:**
- PNI enables private communication between AWS resources and Confluent Cloud clusters (Freight and Enterprise) through ENIs residing in customer AWS accounts
- The implementation is based on AWS Multi-VPC ENI attachment feature, allowing secondary ENI attachment across VPCs, even across different AWS accounts
- ENIs are located in and owned by the customer's VPC, while Confluent has limited attachment permissions
- PNI retains all properties and behaviors of AWS ENIs, including security group rules
**Resource Requirements:**
- 51 ENIs are required to "ensure that the network layer can support scaling operations without becoming a bottleneck"
- ENIs must be in the same Availability Zone with matching AZ IDs as Confluent Cloud zones
- Each ENI set can only associate with one PNI access point
**Capability Assertions:**
- Enterprise clusters now support simultaneous connectivity using both PrivateLink Attachment and PNI
- Switching between PrivateLink and PNI is "fully supported" without cluster redeployment
- A single PNI gateway can access multiple Enterprise and Freight clusters in the same region/environment
- Maximum of two PNI gateways per environment (more requires support contact)
**Security Posture:**
- PNI can offer "security posture at par with PrivateLink" when properly configured
- PNI offers "more flexibility than PrivateLink" by optionally allowing bidirectional traffic
- Recommended configuration blocks all incoming connections from Confluent Cloud to customer network
**Limitations:**
- Currently supported only for Freight and Enterprise Kafka clusters on AWS
- Egress over PNI is "not yet supported" (requires Egress PrivateLink Endpoint instead)
- Confluent Cloud Console components require additional configuration to function with PNI
- DNS resolution requires access to public DNS servers; no supported private DNS solution exists
## Implicit Claims
**Performance and Scalability:**
- The 51 ENI requirement implies that fewer ENIs would create network bottlenecks, though the specific scaling threshold or performance degradation pattern is not stated
- The ability to use a single gateway for multiple clusters implies resource efficiency and simplified management, though comparative metrics are absent
**Security Model:**
- The emphasis on blocking egress traffic to achieve "PrivateLink-equivalent" security implies that PNI's default configuration is less restrictive than PrivateLink
- The "different shared responsibility model" statement implies customers bear more security configuration responsibility with PNI than with PrivateLink, though the specific differences aren't enumerated
**Maturity and Completeness:**
- The "not yet supported" language for egress functionality implies planned future development
- The requirement to contact support for more than two gateways implies either technical limitations or deliberate resource management, not explicitly clarified
**Operational Complexity:**
- The provision of automation scripts (Terraform, AWS CLI) implies manual creation would be error-prone or tedious
- The multiple configuration steps and tools (Console, REST API, CLI, Terraform) imply flexibility but also suggest complexity in implementation
## Unstated Premises
**Technical Assumptions:**
- Customers have sufficient AWS permissions and expertise to create and manage ENIs, security groups, and IAM policies
- The AWS Multi-VPC ENI attachment feature functions reliably across account boundaries
- 51 ENIs is the optimal number for all use cases regardless of cluster size, traffic volume, or client distribution
- Public DNS resolution is acceptable for all customer security and compliance requirements
**Operational Assumptions:**
- Customers can accurately identify and configure matching Availability Zones between their AWS account and Confluent Cloud
- Customers understand the security implications of bidirectional versus unidirectional network traffic
- The automation scripts provided are maintained and compatible with current AWS API versions
- Customers have network architecture expertise to properly configure security groups
**Business Context:**
- The two-gateway limit is sufficient for most use cases, or customers are willing to engage support for exceptions
- The feature set is complete enough despite egress limitations and DNS constraints
- Customers value the flexibility of PNI over the simplicity of PrivateLink for specific use cases
**Compatibility Assumptions:**
- Existing Kafka clients can function properly with PNI connectivity
- The simultaneous use of PrivateLink and PNI doesn't create routing conflicts or confusion
- Security group configurations translate effectively between PrivateLink behavior and PNI configuration
## Reasoning Structure
The documentation follows a **layered justification structure**:
**Layer 1: Problem-Solution Framing**
- Implicit problem: Need for private, secure connectivity to Confluent Cloud
- Solution: PNI as an alternative/complement to PrivateLink
- This framing positions PNI as addressing a known customer need without explicitly stating what PrivateLink limitations drove PNI development
**Layer 2: Technical Foundation**
- Establishes AWS Multi-VPC ENI as the underlying mechanism
- Explains ownership and control model (customer owns ENIs, Confluent attaches to them)
- This creates credibility by grounding the solution in established AWS functionality
**Layer 3: Capability Differentiation**
- Claims security parity with PrivateLink (when configured properly)
- Claims greater flexibility than PrivateLink (bidirectional capability)
- The reasoning: PNI provides "best of both worlds" if customers configure it correctly
- **Logical gap**: The documentation doesn't explain why customers would choose the more complex PNI over simpler PrivateLink if they want unidirectional security
**Layer 4: Implementation Requirements**
- Specifies the 51 ENI requirement with bottleneck prevention rationale
- Provides multiple implementation paths (Console, CLI, Terraform, REST API)
- The reasoning: Prescriptive requirements ensure proper functioning, multiple paths accommodate different customer preferences
- **Logical gap**: No explanation of how the 51 ENI number was derived or whether it scales with cluster size
**Layer 5: Security Hardening**
- Recommends (but doesn't require) blocking egress to match PrivateLink behavior
- Provides specific commands to implement this configuration
- The reasoning chain: Default PNI is bidirectional → PrivateLink is unidirectional → customers wanting PrivateLink-like security should configure accordingly
- **Logical tension**: If most customers want unidirectional security, why isn't that the default configuration?
**Reasoning Dependencies:**
The argument for PNI's value depends on:
1. Accepting that the added complexity is justified by flexibility
2. Trusting that 51 ENIs is the correct number for scaling
3. Believing customers can properly secure PNI to match PrivateLink
4. Accepting current limitations (no egress, public DNS) as temporary or acceptable
## Evidence Assessment
**Strong Evidence Areas:**
*Concrete Implementation Details:*
- Specific AWS CLI commands with example values provide verifiable, actionable information
- Downloadable scripts (Terraform, AWS CLI) offer tangible implementation artifacts
- The architectural diagrams (referenced but not visible in text) presumably provide visual verification of the described architecture
*Clear Boundaries:*
- Explicit statements about what's not supported (egress, private DNS) demonstrate transparency about limitations
- Specific numerical requirements (51 ENIs, 2 gateway limit) are falsifiable and testable
**Weak Evidence Areas:**
*Performance and Scaling Claims:*
- **The 51 ENI requirement lacks supporting evidence:** No explanation of the calculation, no reference to testing, no discussion of whether this scales with cluster size or traffic patterns
- **The "bottleneck" claim is unsubstantiated:** No performance data, benchmarks, or failure scenarios provided to demonstrate what happens with fewer ENIs
- **Gap**: What happens if a customer creates 40 ENIs? 30? At what point does performance degrade, and how?
*Security Parity Claim:*
- **"Security posture at par with PrivateLink" relies on customer configuration:** The claim is conditional ("can offer") but presented alongside the stronger assertion
- **No comparative security analysis:** What are the specific security properties of PrivateLink that PNI matches when configured correctly?
- **Gap**: What security risks exist during the configuration window before customers apply recommended settings?
*Flexibility Advantage:*
- **"More flexibility than PrivateLink" is asserted without use case evidence:** The documentation mentions "legitimate use cases by services like Fully Managed Connectors" but doesn't elaborate
- **Gap**: What specific customer scenarios require bidirectional traffic? How common are they?
*Capability Assertions:*
- **"Fully supported" switching between PrivateLink and PNI:** No evidence about the switching process, potential downtime, or data migration requirements
- **Simultaneous connectivity support:** No discussion of routing behavior, potential conflicts, or use cases for running both simultaneously
- **Gap**: What are the operational implications of switching or running both?
**Missing Evidence Categories:**
*Comparative Analysis:*
- No side-by-side comparison of PNI vs. PrivateLink trade-offs
- No guidance on when to choose one over the other
- No discussion of cost implications (51 ENIs have AWS charges)
*Operational Validation:*
- No customer case studies or deployment examples
- No troubleshooting guidance for common issues
- No performance benchmarks or capacity planning guidance
*Technical Justification:*
- No explanation of why ENIs must be customer-owned rather than Confluent-managed
- No discussion of why public DNS is required rather than private DNS
- No rationale for the two-gateway limit
**Evidence Reliability Assessment:**
*High Reliability:*
- AWS CLI commands and syntax are verifiable against AWS documentation
- The underlying AWS Multi-VPC ENI feature is a documented AWS capability
- IAM policy examples can be validated against AWS IAM policy syntax
*Medium Reliability:*
- The workflow steps can be tested but success depends on proper AWS account configuration
- Security group behavior is well-documented AWS functionality, making those claims verifiable
- The gateway/access point model is Confluent-specific but follows logical patterns
*Low Reliability:*
- The 51 ENI requirement cannot be independently verified without access to Confluent's internal testing or architecture decisions
- Performance and scaling claims lack supporting data
- The "at par with PrivateLink" security claim requires accepting Confluent's security analysis
**Verification Gaps:**
The documentation would benefit from:
1. **Scaling justification:** White paper or technical explanation of the 51 ENI calculation
2. **Performance data:** Benchmarks showing network throughput, latency, or scaling behavior
3. **Security analysis:** Detailed comparison of PNI vs. PrivateLink security models
4. **Decision framework:** Clear guidance on when PNI is preferable to PrivateLink
5. **Operational metrics:** Expected setup time, common issues, support requirements
**Trust Requirements:**
Readers must trust Confluent's:
- Internal testing that determined 51 ENIs as the requirement
- Security analysis claiming parity with PrivateLink
- Assessment that current limitations are acceptable
- Judgment that two gateways suffice for most environments
These trust requirements are typical for vendor documentation but represent areas where independent verification is difficult or impossible without insider access to Confluent's development and testing processes.
Full Narrative Report
## TL;DR
The documentation makes several direct technical assertions:
**Architecture and Functionality:**
- PNI enables private communication between AWS resources and Confluent Cloud clusters (Freight and Enterprise) through ENIs residing in customer AWS accounts
- The implementation is based on AWS Multi-VPC ENI attachment feature, allowing secondary ENI attachment across VPCs, even across different AWS accounts
- ENIs are located in and owned by the customer's VPC, while Confluent has limited attachment permissions
- PNI retains all properties and behaviors of AWS ENIs, including security group rules
**Resource Requirements:**
- 51 ENIs are required to "ensure that the network layer can support scaling operations without becoming a bottleneck"
- ENIs must be in the same Availability Zone with matching AZ IDs as Confluent Cloud zones
- Each ENI set can only associate with one PNI access point
**Capability Assertions:**
- Enterprise clusters now support simultaneous connectivity using both PrivateLink Attachment and PNI
- Switching between PrivateLink and PNI is "fully supported" without cluster redeployment
- A single PNI gateway can access multiple Enterprise and Freight clusters in the same region/environment
- Maximum of two PNI gateways per environment (more requires support contact)
**Security Posture:**
- PNI can offer "security posture at par with PrivateLink" when properly configured
- PNI offers "more flexibility than PrivateLink" by optionally allowing bidirectional traffic
- Recommended configuration blocks all incoming connections from Confluent Cloud to customer network
**Limitations:**
- Currently supported only for Freight and Enterprise Kafka clusters on AWS
- Egress over PNI is "not yet supported" (requires Egress PrivateLink Endpoint instead)
- Confluent Cloud Console components require additional configuration to function with PNI
- DNS resolution requires access to public DNS servers; no supported private DNS solution exists
## Executive Summary
**Configuring Private Network Interface for Confluent Cloud on AWS** is categorized as Technical content.
**Main Arguments:**
The documentation makes several direct technical assertions: **Architecture and Functionality:** - PNI enables private communication between AWS resources and Confluent Cloud clusters (Freight and Enterprise) through ENIs residing in customer AWS accounts - The implementation is based on AWS Multi-VPC ENI attachment feature, allowing secondary ENI attachment across VPCs, even across different AWS accounts - ENIs are located in and owned by the customer's VPC, while Confluent has limited attachment permissions - PNI retains all properties and behaviors of AWS ENIs, including security group rules **Resource Requirements:** - 51 ENIs are required to "ensure that the network layer can support scaling operations without becoming a bottleneck" - ENIs must be in the same Availability Zone with matching AZ IDs as Confluent Cloud zones - Each ENI set can only associate with one PNI access point **Capability Assertions:** - Enterprise clusters now support simultaneous connectivity using both PrivateLink Attachment and PNI...
**Underlying Assumptions:**
**Technical Assumptions:** - Customers have sufficient AWS permissions and expertise to create and manage ENIs, security groups, and IAM policies - The AWS Multi-VPC ENI attachment feature functions reliably across account boundaries - 51 ENIs is the optimal number for all use cases regardless of cluster size, traffic volume, or client distribution - Public DNS resolution is acceptable for all customer security and compliance requirements **Operational Assumptions:** - Customers can accurately identify and configure matching Availability Zones between their AWS account and Confluent Cloud - Customers understand the security implications of bidirectional versus unidirectional network traffic - The automation scripts...
## Deep Analysis
### Core Claims
The documentation makes several direct technical assertions:
**Architecture and Functionality:**
- PNI enables private communication between AWS resources and Confluent Cloud clusters (Freight and Enterprise) through ENIs residing in customer AWS accounts
- The implementation is based on AWS Multi-VPC ENI attachment feature, allowing secondary ENI attachment across VPCs, even across different AWS accounts
- ENIs are located in and owned by the customer's VPC, while Confluent has limited attachment permissions
- PNI retains all properties and behaviors of AWS ENIs, including security group rules
**Resource Requirements:**
- 51 ENIs are required to "ensure that the network layer can support scaling operations without becoming a bottleneck"
- ENIs must be in the same Availability Zone with matching AZ IDs as Confluent Cloud zones
- Each ENI set can only associate with one PNI access point
**Capability Assertions:**
- Enterprise clusters now support simultaneous connectivity using both PrivateLink Attachment and PNI
- Switching between PrivateLink and PNI is "fully supported" without cluster redeployment
- A single PNI gateway can access multiple Enterprise and Freight clusters in the same region/environment
- Maximum of two PNI gateways per environment (more requires support contact)
**Security Posture:**
- PNI can offer "security posture at par with PrivateLink" when properly configured
- PNI offers "more flexibility than PrivateLink" by optionally allowing bidirectional traffic
- Recommended configuration blocks all incoming connections from Confluent Cloud to customer network
**Limitations:**
- Currently supported only for Freight and Enterprise Kafka clusters on AWS
- Egress over PNI is "not yet supported" (requires Egress PrivateLink Endpoint instead)
- Confluent Cloud Console components require additional configuration to function with PNI
- DNS resolution requires access to public DNS servers; no supported private DNS solution exists
### Implicit Claims
**Performance and Scalability:**
- The 51 ENI requirement implies that fewer ENIs would create network bottlenecks, though the specific scaling threshold or performance degradation pattern is not stated
- The ability to use a single gateway for multiple clusters implies resource efficiency and simplified management, though comparative metrics are absent
**Security Model:**
- The emphasis on blocking egress traffic to achieve "PrivateLink-equivalent" security implies that PNI's default configuration is less restrictive than PrivateLink
- The "different shared responsibility model" statement implies customers bear more security configuration responsibility with PNI than with PrivateLink, though the specific differences aren't enumerated
**Maturity and Completeness:**
- The "not yet supported" language for egress functionality implies planned future development
- The requirement to contact support for more than two gateways implies either technical limitations or deliberate resource management, not explicitly clarified
**Operational Complexity:**
- The provision of automation scripts (Terraform, AWS CLI) implies manual creation would be error-prone or tedious
- The multiple configuration steps and tools (Console, REST API, CLI, Terraform) imply flexibility but also suggest complexity in implementation
### Unstated Premises
**Technical Assumptions:**
- Customers have sufficient AWS permissions and expertise to create and manage ENIs, security groups, and IAM policies
- The AWS Multi-VPC ENI attachment feature functions reliably across account boundaries
- 51 ENIs is the optimal number for all use cases regardless of cluster size, traffic volume, or client distribution
- Public DNS resolution is acceptable for all customer security and compliance requirements
**Operational Assumptions:**
- Customers can accurately identify and configure matching Availability Zones between their AWS account and Confluent Cloud
- Customers understand the security implications of bidirectional versus unidirectional network traffic
- The automation scripts provided are maintained and compatible with current AWS API versions
- Customers have network architecture expertise to properly configure security groups
**Business Context:**
- The two-gateway limit is sufficient for most use cases, or customers are willing to engage support for exceptions
- The feature set is complete enough despite egress limitations and DNS constraints
- Customers value the flexibility of PNI over the simplicity of PrivateLink for specific use cases
**Compatibility Assumptions:**
- Existing Kafka clients can function properly with PNI connectivity
- The simultaneous use of PrivateLink and PNI doesn't create routing conflicts or confusion
- Security group configurations translate effectively between PrivateLink behavior and PNI configuration
### Reasoning Structure
The documentation follows a **layered justification structure**:
**Layer 1: Problem-Solution Framing**
- Implicit problem: Need for private, secure connectivity to Confluent Cloud
- Solution: PNI as an alternative/complement to PrivateLink
- This framing positions PNI as addressing a known customer need without explicitly stating what PrivateLink limitations drove PNI development
**Layer 2: Technical Foundation**
- Establishes AWS Multi-VPC ENI as the underlying mechanism
- Explains ownership and control model (customer owns ENIs, Confluent attaches to them)
- This creates credibility by grounding the solution in established AWS functionality
**Layer 3: Capability Differentiation**
- Claims security parity with PrivateLink (when configured properly)
- Claims greater flexibility than PrivateLink (bidirectional capability)
- The reasoning: PNI provides "best of both worlds" if customers configure it correctly
- **Logical gap**: The documentation doesn't explain why customers would choose the more complex PNI over simpler PrivateLink if they want unidirectional security
**Layer 4: Implementation Requirements**
- Specifies the 51 ENI requirement with bottleneck prevention rationale
- Provides multiple implementation paths (Console, CLI, Terraform, REST API)
- The reasoning: Prescriptive requirements ensure proper functioning, multiple paths accommodate different customer preferences
- **Logical gap**: No explanation of how the 51 ENI number was derived or whether it scales with cluster size
**Layer 5: Security Hardening**
- Recommends (but doesn't require) blocking egress to match PrivateLink behavior
- Provides specific commands to implement this configuration
- The reasoning chain: Default PNI is bidirectional → PrivateLink is unidirectional → customers wanting PrivateLink-like security should configure accordingly
- **Logical tension**: If most customers want unidirectional security, why isn't that the default configuration?
**Reasoning Dependencies:**
The argument for PNI's value depends on:
1. Accepting that the added complexity is justified by flexibility
2. Trusting that 51 ENIs is the correct number for scaling
3. Believing customers can properly secure PNI to match PrivateLink
4. Accepting current limitations (no egress, public DNS) as temporary or acceptable
### Evidence Assessment
**Strong Evidence Areas:**
*Concrete Implementation Details:*
- Specific AWS CLI commands with example values provide verifiable, actionable information
- Downloadable scripts (Terraform, AWS CLI) offer tangible implementation artifacts
- The architectural diagrams (referenced but not visible in text) presumably provide visual verification of the described architecture
*Clear Boundaries:*
- Explicit statements about what's not supported (egress, private DNS) demonstrate transparency about limitations
- Specific numerical requirements (51 ENIs, 2 gateway limit) are falsifiable and testable
**Weak Evidence Areas:**
*Performance and Scaling Claims:*
- **The 51 ENI requirement lacks supporting evidence:** No explanation of the calculation, no reference to testing, no discussion of whether this scales with cluster size or traffic patterns
- **The "bottleneck" claim is unsubstantiated:** No performance data, benchmarks, or failure scenarios provided to demonstrate what happens with fewer ENIs
- **Gap**: What happens if a customer creates 40 ENIs? 30? At what point does performance degrade, and how?
*Security Parity Claim:*
- **"Security posture at par with PrivateLink" relies on customer configuration:** The claim is conditional ("can offer") but presented alongside the stronger assertion
- **No comparative security analysis:** What are the specific security properties of PrivateLink that PNI matches when configured correctly?
- **Gap**: What security risks exist during the configuration window before customers apply recommended settings?
*Flexibility Advantage:*
- **"More flexibility than PrivateLink" is asserted without use case evidence:** The documentation mentions "legitimate use cases by services like Fully Managed Connectors" but doesn't elaborate
- **Gap**: What specific customer scenarios require bidirectional traffic? How common are they?
*Capability Assertions:*
- **"Fully supported" switching between PrivateLink and PNI:** No evidence about the switching process, potential downtime, or data migration requirements
- **Simultaneous connectivity support:** No discussion of routing behavior, potential conflicts, or use cases for running both simultaneously
- **Gap**: What are the operational implications of switching or running both?
**Missing Evidence Categories:**
*Comparative Analysis:*
- No side-by-side comparison of PNI vs. PrivateLink trade-offs
- No guidance on when to choose one over the other
- No discussion of cost implications (51 ENIs have AWS charges)
*Operational Validation:*
- No customer case studies or deployment examples
- No troubleshooting guidance for common issues
- No performance benchmarks or capacity planning guidance
*Technical Justification:*
- No explanation of why ENIs must be customer-owned rather than Confluent-managed
- No discussion of why public DNS is required rather than private DNS
- No rationale for the two-gateway limit
**Evidence Reliability Assessment:**
*High Reliability:*
- AWS CLI commands and syntax are verifiable against AWS documentation
- The underlying AWS Multi-VPC ENI feature is a documented AWS capability
- IAM policy examples can be validated against AWS IAM policy syntax
*Medium Reliability:*
- The workflow steps can be tested but success depends on proper AWS account configuration
- Security group behavior is well-documented AWS functionality, making those claims verifiable
- The gateway/access point model is Confluent-specific but follows logical patterns
*Low Reliability:*
- The 51 ENI requirement cannot be independently verified without access to Confluent's internal testing or architecture decisions
- Performance and scaling claims lack supporting data
- The "at par with PrivateLink" security claim requires accepting Confluent's security analysis
**Verification Gaps:**
The documentation would benefit from:
1. **Scaling justification:** White paper or technical explanation of the 51 ENI calculation
2. **Performance data:** Benchmarks showing network throughput, latency, or scaling behavior
3. **Security analysis:** Detailed comparison of PNI vs. PrivateLink security models
4. **Decision framework:** Clear guidance on when PNI is preferable to PrivateLink
5. **Operational metrics:** Expected setup time, common issues, support requirements
**Trust Requirements:**
Readers must trust Confluent's:
- Internal testing that determined 51 ENIs as the requirement
- Security analysis claiming parity with PrivateLink
- Assessment that current limitations are acceptable
- Judgment that two gateways suffice for most environments
These trust requirements are typical for vendor documentation but represent areas where independent verification is difficult or impossible without insider access to Confluent's development and testing processes.
### Key Concepts Explained
No unfamiliar concepts identified.
### Background Dependencies
The document assumes substantial familiarity with AWS networking fundamentals. Readers need to understand what a **Virtual Private Cloud (VPC)** is—essentially your own isolated network segment within AWS where you define IP address ranges, create subnets, and control routing. Without this foundation, concepts like "ENIs in your VPC" lack grounding.
**Subnet** knowledge is similarly assumed. Subnets divide your VPC into smaller network segments, typically aligned with availability zones. Understanding that ENIs must be created in specific subnets, and that subnet CIDR ranges determine what IP addresses are available, is prerequisite knowledge that the document doesn't explain.
The document presumes familiarity with **security groups**, AWS's stateful firewall mechanism. Security groups define rules about what traffic can flow to and from resources—which IP addresses or CIDR ranges can connect, on which ports, using which protocols. The recommendation to "remove the default egress rule" assumes you understand that security groups have both ingress (incoming) and egress (outgoing) rules, and that by default AWS creates permissive egress rules allowing all outbound traffic.
Understanding **IAM (Identity and Access Management)** roles and policies is essential for the permissions model described. The document mentions creating IAM roles with specific EC2 permissions and granting Confluent limited permissions to attach ENIs. This assumes familiarity with AWS's permission model—how policies define what actions are allowed on which resources, how roles are assumed by services, and how cross-account permissions work.
Knowledge of **Apache Kafka** itself provides important context. While not strictly required to follow the configuration steps, understanding that Kafka is a distributed streaming platform, that clients connect to it on specific ports (9092 for Kafka protocol, 443 for HTTPS), and that "clusters" represent groups of Kafka brokers working together, helps explain why certain network configurations are necessary.
The document also assumes operational familiarity with **Terraform** and **AWS CLI** as infrastructure-as-code and command-line tools. References to running scripts, applying Terraform configurations, and executing CLI commands presume you have these tools installed, configured with appropriate credentials, and understand their basic operation.
### Mechanisms & Dynamics
No mechanisms identified.
### Contextual Gaps
The document lacks historical context about **why PNI was introduced** alongside existing PrivateLink support. Understanding the limitations of PrivateLink that drove PNI development would help readers choose between them. PrivateLink's unidirectional nature apparently prevents certain use cases—the document mentions "Fully Managed Connectors" as services that might need to initiate connections from Confluent into customer networks. Connectors in Kafka pull data from or push data to external systems, so if you're running a connector that needs to access a database in your VPC, Confluent's infrastructure needs to initiate that connection. PrivateLink doesn't support this direction of traffic, hence PNI's bidirectional capability becomes valuable.
The **"Freight and Enterprise clusters"** terminology appears without definition. These are apparently Confluent Cloud cluster types, distinct from other offerings, but understanding what makes them different (likely related to scale, features, or SLAs) would clarify why PNI is only supported for these specific cluster types. The mention that "Enterprise clusters on AWS now support simultaneous connectivity using both PrivateLink Attachment and PNI" suggests these are high-tier offerings where customers might have complex networking requirements.
The **shared responsibility model** differences between PNI and PrivateLink are alluded to but not fully articulated. With PrivateLink, AWS manages the service endpoint infrastructure, and customers simply use it. With PNI, customers create and own the ENIs, manage their security groups, and grant permissions to Confluent—this is more operational responsibility but also more control. Understanding this trade-off helps explain why organizations might choose one approach over another based on their operational maturity and control requirements.
The document mentions that **"Egress over PNI is not yet supported"** and recommends using an "Egress PrivateLink Endpoint" instead, but doesn't explain what egress means in this context. This likely refers to Confluent-initiated traffic going from Confluent Cloud to external destinations (not the customer's VPC, but perhaps other internet services). The architecture apparently doesn't yet support routing such traffic through customer-managed network paths, requiring a separate PrivateLink-based solution for that use case.
The **DNS management** note that "Confluent does not provide a supported private DNS solution" has implications that aren't fully explored. Many organizations use private DNS zones (like AWS Route 53 private hosted zones) for internal name resolution without relying on public DNS. The requirement that clients must resolve Confluent cluster names from public DNS servers might conflict with network architectures that block public DNS access from internal networks for security reasons. This could require organizations to set up DNS forwarding or conditional resolution, but these operational considerations aren't addressed.
Finally, the **limit of two PNI gateways per environment** is stated without justification. Understanding whether this is a technical limitation, a quota for cost control, or a simplification for initial release would help organizations plan their architecture. The note to "contact Confluent Support" for more suggests it's an adjustable limit, but the underlying rationale remains unclear.