Get Started Free
course: Confluent Cloud Networking

Hands On: Configuring a PrivateLink Cluster

18 min
dennis-wittekind

Dennis Wittekind

Customer Success Technical Architect (Presenter)

Prerequisites:

  • AWS login
    • Permissions to create VPCs
    • Permissions to create EC2 instances
    • Permission to create VPC endpoints
    • Permission to create Route 53 records and hosted zones
  • Confluent Cloud login
  • Confluent Cloud CLI

Create a Confluent Cloud Private Link network.

  1. Log in to Confluent Cloud, and navigate to the Cloud-Networking Environment.

confluent-cloud-networking-confluent-cloud-environments

  1. Click Network Management -> Create your first network.

confluent-cloud-networking-create-your-first-network

  1. Select AWS, and the cloud provider region where you created your VPC (us-east-2 in this example).

confluent-cloud-networking-create-network-1

  1. Select PrivateLink, and leave the Zone Placement as is, and give the network a name.

confluent-cloud-networking-create-network-private-link

confluent-cloud-networking-create-network-private-link-2

  1. The network provisioning will take a few minutes to complete.

confluent-cloud-networking-network-provisioning

  1. Once the network is ready, click on its tile to manage it.

confluent-cloud-networking-private-link-access-1

  1. Create a PrivateLink Access.

confluent-cloud-networking-private-link-access-2

  1. Complete the details, using the account information for the VPC that you created earlier, and save the VPC Service Endpoint ID for future use.

confluent-cloud-networking-add-private-link-access

  1. Once the PrivateLink Access is provisioned, in the AWS console, configure the endpoint.

confluent-cloud-networking-aws-endpoint-1

confluent-cloud-networking-aws-endpoint-2

confluent-cloud-networking-aws-endpoint-3

  1. Edit the security group to add three inbound rules from the VPC CIDR on TCP ports 80, 443, and 9092.

confluent-cloud-networking-aws-endpoint-inbound

Configure DNS to resolve the PrivateLink endpoints.

  1. Create a Route53 Hosted Zone, using the “DNS Domain” value from the Confluent Cloud Network Management UI.

confluent-cloud-networking-dns-domain-1

confluent-cloud-networking-dns-domain-2

  1. Create the record for all Zones endpoint; you can get the endpoint DNS names from the AWS console under the endpoint created earlier.

confluent-cloud-networking-all-zones-endpoint

  1. Now create records for each Zonal endpoint. This can be tricky/confusing, so take your time and make sure you have the canonical and aliased AZ ID’s somewhere handy. You can get this information from the Subnets tab of the Endpoint screen in the AWS console.

confluent-cloud-networking-zonal-endpoint-1

confluent-cloud-networking-zonal-endpoint-2

Provision a cluster and validate connectivity from your EC2 instance to Confluent Cloud.

  1. Provision a multi-zone Confluent Cloud cluster.

confluent-cloud-networking-multi-zone-cluster-1

confluent-cloud-networking-multi-zone-cluster-2

confluent-cloud-networking-multi-zone-cluster-3

confluent-cloud-networking-multi-zone-cluster-4

confluent-cloud-networking-multi-zone-cluster-5

  1. While the cluster is provisioning, install the confluent CLI on your EC2 instance. You may have to configure an Elastic IP for the instance so you can access it from your workstation.

confluent-cloud-networking-confluent-cli-ec2

  1. Test connectivity and DNS setup by issuing an NSLOOKUP and openssl commands.

confluent-cloud-networking-test-connectivity

Next, get some data in your cluster by creating a topic and a connector. You can only do this via the CLI on your EC2 instance unless you have a way to VPN into your VPC containing the PrivateLink endpoint.

  1. First, set the environment and cluster, create a topic and API key.

confluent-cloud-networking-create-topic-and-api-key

  1. Next, create the JSON file for the connector, an example JSON can be found here.

confluent-cloud-networking-create-json-forconnector

  1. Now, create the connector using the JSON file you created as input. You can also check the status of the connector provisioning.

confluent-cloud-networking-create-connector-using-json-file

  1. Next, test consumption from your cluster using the CLI.

confluent-cloud-networking-test-cluster-using-cli

Congratulations! You’ve successfully consumed data over the PrivateLink connection!

Clean up.

  1. First, delete the connector.

confluent-cloud-networking-delete-privatelink-connector

  1. Next, delete the topic and API key.

confluent-cloud-networking-delete-privatelink-api-key

  1. From the UI, delete the cluster.

confluent-cloud-networking-delete-privatelink-cluster

  1. Delete the PrivateLink access.

confluent-cloud-networking-delete-privatelink-access

  1. After the PrivateLink access is done deprovisioning, delete the network.

  2. Next, delete the resources created in the AWS console, starting with the DNS entries and hosted zone.

confluent-cloud-networking-delete-privatelink-aws-console-1

confluent-cloud-networking-delete-privatelink-aws-console-2

  1. Next, release any Elastic IPs you created, and terminate the EC2 instance as well.

confluent-cloud-networking-release-privatelink-aws-ec2-instance-1

confluent-cloud-networking-release-privatelink-aws-ec2-instance-2

confluent-cloud-networking-release-privatelink-aws-ec2-instance-3

  1. Finally, delete the PrivateLink endpoints and the VPC itself.

confluent-cloud-networking-delete-privatelinl-endpoint-and-vpc-1

confluent-cloud-networking-delete-privatelinl-endpoint-and-vpc-2

Use the promo code NETWORKING101 to get $25 of free Confluent Cloud usage

Be the first to get updates and new content

We will only share developer content and updates, including notifications when new content is added. We will never send you sales emails. 🙂 By subscribing, you understand we will process your personal information in accordance with our Privacy Statement.