Configure AWS Private Networking for USM Agents

This page describes how to set up AWS PrivateLink connectivity for the USM Agent to send Confluent Platform metadata to Confluent Cloud. You configure this connectivity by creating a gateway and an access point in your Confluent Cloud environment. For general Confluent Cloud PrivateLink setup that’s not specific to USM, see Use AWS PrivateLink for Serverless Products on Confluent Cloud.

Unified Stream Manager (USM) requires a secure, private network connection between your Confluent Platform cluster and Confluent Cloud that uses AWS PrivateLink. With AWS PrivateLink, your Confluent Cloud resources are only accessible from private endpoints in your VPC, so all metadata is transmitted over a private channel without exposure to the public internet.

You can create a new private network or use an existing one.

Tip

If your Confluent Cloud environment is on Azure instead of AWS, see Configure Azure Private Networking for USM Agents.

Note

As of June, 2026, the PrivateLink Attachment (PLATT) resource is replaced by the ingress PrivateLink Gateway resource for USM. A gateway provides the same functionality as a PLATT, but it provides unique fully qualified domain names (FQDNs) using the access point ID for each PrivateLink connection. With these FQDNs, your applications can more granularly route traffic from your AWS VPC to the services in your Confluent Cloud environment.

Existing PLATT resources continue to function, but you can’t provision new ones after a future release. Update your applications to use gateways.

Private networking resources

Confluent Cloud uses the following private networking resources for registering Confluent Platform clusters. These resources are regional and do not map to specific availability zones.

  • Ingress PrivateLink Gateway: A reservation to establish a PrivateLink connection from your virtual private cloud (VPC) to regional services in a Confluent Cloud environment.

  • Ingress PrivateLink Access Point: A registration of a VPC interface endpoint that’s allowed to connect to a Confluent Cloud environment. An access point belongs to a specific gateway.

You can create the gateway and access point by using the Confluent Cloud Console, Confluent REST API, Confluent CLI, or Terraform.

The overall process consists of the following steps:

  1. In Confluent Cloud, create a gateway.

  2. In AWS, create a VPC interface endpoint that connects to the gateway’s service.

  3. In Confluent Cloud, create an access point for your endpoint.

  4. Set up your DNS resolution.

The setup wizard in the Confluent Cloud guides you through this process.

If you have an existing AWS PrivateLink connection for your Confluent Cloud account and have previously configured a private network using these AWS PrivateLink instructions, you can select that existing network from the wizard and proceed to the next section.

Requirements and considerations

  • You can connect to multiple Confluent Cloud environments in the same region from a single VPC by creating a separate gateway for each environment.

  • Cross-region AWS access point resources are not supported.

Create a VPC endpoint in AWS

In a new browser tab, log in to your AWS Management Console. Use the gateway ID that you created in Confluent Cloud to create and configure the VPC endpoint.

  1. In the AWS Management Console, go to the VPC dashboard.

  2. Verify that DNS hostnames and DNS resolution are enabled for your VPC.

    1. In the navigation menu, under VIRTUAL PRIVATE CLOUD, click Your VPCs.

    2. Select your VPC and click Edit VPC settings.

    3. Under DNS settings, ensure that Enable DNS resolution and Enable DNS hostnames are selected, and then click Save changes.

  3. In the navigation menu under VIRTUAL PRIVATE CLOUD, click Endpoints, and then click Create endpoint.

    1. In the Name tag field, enter a name for the endpoint.

    2. For Service category, select PrivateLink Ready partner services.

    3. In the Service name field, enter the PrivateLink Service ID of the gateway you created in Create an Ingress PrivateLink Gateway in Confluent Cloud, and then click Verify service.

      You can also use the value of the PrivateLink Service ID from your Network overview of the gateway in the Confluent Cloud Console.

      If you get an error, verify that your account is allowed to create PrivateLink connections, and try again.

    4. In the VPC field, enter the ID of this VPC.

    5. Under Additional settings, uncheck Enable DNS name. This option appears after you select a VPC.

    6. In Subnets, select the subnets in which to create an endpoint network interface.

    7. Select or create a security group for the VPC Endpoint.

      • Add three inbound rules for each of ports 80, 443, and 9092 from your desired source (your VPC CIDR). The Protocol should be TCP for all three rules.

      • Port 80 is not required, but is available as a redirect only to https/443, if desired.

  4. Click Create endpoint.

  5. After the endpoint is created, make a note of the VPC endpoint ID.

aws ec2 create-vpc-endpoint --vpc-id <id of this VPC> \
  --service-name <PrivateLink Service ID of the gateway> \
  --subnet-ids <subnet IDs for the endpoint> \
  --region <region to use> \
  --private-dns-enabled false \
  --vpc-endpoint-type Interface

From the command output, make a note of the VPC endpoint ID.

For example, using the PrivateLink Service ID of the gateway:

aws ec2 create-vpc-endpoint --vpc-id vpc-097799943f9fc059d \
  --service-name com.amazonaws.vpce.us-east-1.vpce-svc-123abcc1298abc123 \
  --subnet-ids subnet-7b16de0c \
  --region us-east-1 \
  --private-dns-enabled false \
  --vpc-endpoint-type Interface

Use the aws_vpc_endpoint AWS Terraform Provider resource to create a VPC endpoint in AWS.

Set up DNS resolution

Confluent Cloud requires that you set up private DNS records for each access point pointing its DNS domain to the VPC endpoint you created.

For new access points, when connecting to Confluent Cloud using access-point-specific hostnames, you must allow public DNS resolution from your network or VPC. Confluent Cloud advertises these hostnames in the public DNS resolver, and these hostnames then redirect to match the domains that you input to your private DNS resolver.

DNS resolution happens in two steps:

  1. The Confluent Cloud Global DNS Resolver returns a CNAME for your hostnames, removing the glb subdomain and converting your access point ID to be a subdomain.

    For example, with the given hostname:

    api-<accessPointId>.<region>.aws.accesspoint.glb.confluent.cloud
    

    The CNAME returned is:

    api.<accessPointId>.<region>.aws.accesspoint.confluent.cloud
    
  2. The CNAME then resolves to your VPC private endpoints based on the private DNS configuration.

To use AWS Route 53 as your private DNS resolver, set up a private hosted zone in your AWS VPC.

  1. In Confluent Cloud, verify that the status of the access point is READY.

  2. In Confluent Cloud, open the newly created gateway to get the DNS domain value of Confluent Cloud.

    The DNS domain value depends on the type of access point:

    • Legacy access points: The value follows the pattern <region>.aws.private.confluent.cloud. Use this as the Domain name for your Route 53 private hosted zone.

    • New access points: Take the FrontDoor URL shown in the Confluent Cloud Console and remove .glb and the api- prefix. Use the resulting <accessPointId>.<region>.aws.accesspoint.confluent.cloud as the Domain name for your Route 53 private hosted zone.

      For example, if the FrontDoor URL is api-ap123.us-west-2.aws.accesspoint.glb.confluent.cloud, the Route 53 hosted zone domain name is ap123.us-west-2.aws.accesspoint.confluent.cloud.

  3. In the AWS Route 53 console, create a private hosted zone with the following settings:

    • Domain name: Enter the Confluent Cloud DNS domain value that you copied in the previous step.

    • Type: select Private hosted zone.

    • VPC ID: Enter the ID of the VPC where you added the VPC endpoint.

    1. Click Create hosted zone.

  4. Create a DNS record for the hosted zone you created in the previous step.

    This record is regional DNS and is used for all the target Confluent Cloud resources in the region.

    1. Click Create Record from within the previously created hosted zone.

    2. Specify the following values:

      • Record name: *

        Enter * as the subdomain name.

        The record name consists of the subdomain and the DNS domain name. The DNS domain name is filled in with the Confluent Cloud DNS domain value you specified when you created the Route 53 private hosted zone in the previous step.

        If you are creating DNS resolution for Schema Registry for a single VPC connecting to multiple Schema Registry clusters in the same region across different environments, enter the id of the Schema Registry, lsrc-xxxxx in the Record name field to connect to a specific Schema Registry.

      • Record type: Select CNAME.

      • Value: Enter the DNS name of the VPC endpoint that you created in Create a VPC endpoint in AWS.

        The value must be the fully qualified DNS name of the VPC endpoint. For example: vpce-012c2200321aff207-gz49hgc1.vpce-svc-00da8c4990b89436d.us-west-2.vpce.amazonaws.com. Do not specify the VPC endpoint name.

        To find this value, go to the Endpoint details page in the AWS console and look in the DNS names section.

      Note

      In Confluent Cloud with private linking, Kafka broker names you retrieve from the metadata are not static. Do not hardcode the broker names in DNS records.

    3. Click Create Record.

      A summary of the new record appears.

What’s next