Back to list

Configuring Private Network Interface for Confluent Cloud on AWS

Technical Completed
Confluent Cloud AWS Private Network Interface PNI Elastic Network Interface ENI Kafka network security cloud networking VPC
Original Content
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.
Classification Completed

Title: Configuring Private Network Interface for Confluent Cloud on AWS

Category: technical

Tags: Confluent Cloud, AWS, Private Network Interface, PNI, Elastic Network Interface, ENI, Kafka, network security, cloud networking, VPC

Close Reading Completed
## 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 tha...
Critical Thinking Completed
# 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...
Narrative Report Completed
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...
Exploration Paths View All
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...