developer.confluent.io
Open in
urlscan Pro
2a05:d014:58f:6200::1f4
Public Scan
URL:
https://developer.confluent.io/courses/confluent-cloud-networking/private-link/
Submission: On October 17 via manual from IN — Scanned from DE
Submission: On October 17 via manual from IN — Scanned from DE
Form analysis
1 forms found in the DOM<form id="form_4213" data-test-id="form-4213" class="style-module--form--y2Mo5"><input placeholder="Full Name" name="fullName" class="style-module--input--fZLFL" id="fullName" required="" type="text" value=""><input placeholder="Email" name="email"
class="style-module--input--fZLFL" id="email" required="" type="email" value=""><button type="submit" class="Button-module--button--A-Z1p Button-module--denim--GMRbD">Sign up</button></form>
Text Content
developer Get Started Free Get Started Free Courses * What are the courses? Video courses covering Apache Kafka basics, advanced concepts, setup and use cases, and everything in between.Learning Pathways (21) * * NEWAPACHE FLINK® 101 * NEWBUILDING FLINK® APPS IN JAVA * NEWKAFKA® FOR .NET DEVELOPERS * NEWPRACTICAL EVENT MODELING * NEWHYBRID AND MULTICLOUD ARCHITECTURE * NEWMASTERING PRODUCTION DATA STREAMING SYSTEMS WITH APACHE KAFKA® * KAFKA® 101 * KAFKA® CONNECT 101 * KAFKA STREAMS 101 * SCHEMA REGISTRY 101 * KSQLDB 101 * DATA MESH 101 * * NEWAPACHE FLINK® 101 * NEWBUILDING FLINK® APPS IN JAVA * NEWKAFKA® FOR .NET DEVELOPERS * NEWPRACTICAL EVENT MODELING * NEWHYBRID AND MULTICLOUD ARCHITECTURE * NEWMASTERING PRODUCTION DATA STREAMING SYSTEMS WITH APACHE KAFKA® * KAFKA® 101 * KAFKA® CONNECT 101 * KAFKA STREAMS 101 * SCHEMA REGISTRY 101 * KSQLDB 101 * DATA MESH 101 Learn * Pick your learning path A wide range of resources to get you startedStart Learning * * ARTICLES Deep-Dives into key concepts * PATTERNS Architectures for event streaming * FAQS Q & A about Kafka® and its ecosystem * 100 DAYS OF CODE A self-directed learning path * BLOG The Confluent blog * PODCAST Our podcast, Streaming Audio * CODING IN MOTION Build a real-time streaming app * NEWAPACHE KAFKA® ON THE GO One-minute guides to Kafka's core concepts * * ARTICLES Deep-Dives into key concepts * PATTERNS Architectures for event streaming * FAQS Q & A about Kafka® and its ecosystem * 100 DAYS OF CODE A self-directed learning path * BLOG The Confluent blog * PODCAST Our podcast, Streaming Audio * CODING IN MOTION Build a real-time streaming app * NEWAPACHE KAFKA® ON THE GO One-minute guides to Kafka's core concepts Build * Design. Build. Run. Build a client app, explore use cases, and build on our demos and resourcesStart Building * * LANGUAGE GUIDES Build apps in your favorite language * TUTORIALS Hands-on stream processing examples * DEMOS More resources to get you started * * LANGUAGE GUIDES Build apps in your favorite language * TUTORIALS Hands-on stream processing examples * DEMOS More resources to get you started Community * Join the Community Confluent proudly supports the global community of streaming platforms, real-time data streams, Apache Kafka®️, and its ecosystemsLearn More * * MEETUPS & EVENTS Kafka and data streaming community * ASK THE COMMUNITY Community forums and Slack channels * COMMUNITY CATALYSTS Sharing expertise with the community * DEVX NEWSLETTER Bi-weekly newsletter with Apache Kafka® resources, news from the community, and fun links. * CURRENT 2023 Registration is now open! * KAFKA SUMMIT 2023 View sessions and slides from Kafka Summit 2023 * CURRENT 2022 View sessions and slides from Current 2022 * NEWDATA STREAMING AWARDS Nominate amazing use cases and view previous winners * * MEETUPS & EVENTS Kafka and data streaming community * ASK THE COMMUNITY Community forums and Slack channels * COMMUNITY CATALYSTS Sharing expertise with the community * DEVX NEWSLETTER Bi-weekly newsletter with Apache Kafka® resources, news from the community, and fun links. * CURRENT 2023 Registration is now open! * KAFKA SUMMIT 2023 View sessions and slides from Kafka Summit 2023 * CURRENT 2022 View sessions and slides from Current 2022 * NEWDATA STREAMING AWARDS Nominate amazing use cases and view previous winners Docs Search * Courses * What are the courses? Video courses covering Apache Kafka basics, advanced concepts, setup and use cases, and everything in between.Learning Pathways (21) * * New Courses * NEWAPACHE FLINK® 101 * NEWBUILDING FLINK® APPS IN JAVA * NEWKAFKA® FOR .NET DEVELOPERS * NEWPRACTICAL EVENT MODELING * NEWHYBRID AND MULTICLOUD ARCHITECTURE * NEWMASTERING PRODUCTION DATA STREAMING SYSTEMS WITH APACHE KAFKA® * * Featured Courses * KAFKA® 101 * KAFKA® CONNECT 101 * KAFKA STREAMS 101 * SCHEMA REGISTRY 101 * KSQLDB 101 * DATA MESH 101 * Learn * Pick your learning path A wide range of resources to get you startedStart Learning * * ARTICLES Deep-Dives into key concepts * PATTERNS Architectures for event streaming * FAQS Q & A about Kafka® and its ecosystem * 100 DAYS OF CODE A self-directed learning path * * BLOG The Confluent blog * PODCAST Our podcast, Streaming Audio * CODING IN MOTION Build a real-time streaming app * NEWAPACHE KAFKA® ON THE GO One-minute guides to Kafka's core concepts * Build * Design. Build. Run. Build a client app, explore use cases, and build on our demos and resourcesStart Building * * LANGUAGE GUIDES Build apps in your favorite language * TUTORIALS Hands-on stream processing examples * DEMOS More resources to get you started * Community * Join the Community Confluent proudly supports the global community of streaming platforms, real-time data streams, Apache Kafka®️, and its ecosystemsLearn More * * MEETUPS & EVENTS Kafka and data streaming community * ASK THE COMMUNITY Community forums and Slack channels * COMMUNITY CATALYSTS Sharing expertise with the community * DEVX NEWSLETTER Bi-weekly newsletter with Apache Kafka® resources, news from the community, and fun links. * * CURRENT 2023 Registration is now open! * KAFKA SUMMIT 2023 View sessions and slides from Kafka Summit 2023 * CURRENT 2022 View sessions and slides from Current 2022 * NEWDATA STREAMING AWARDS Nominate amazing use cases and view previous winners * Docs Search * Get Started Free CONSENT REQUIRED Viewing this content required you to accept the cookie consent. You can either make a selection from the cookie banner at the bottom of the screen or click here to update your settings. You may need to refresh the page for settings to take effect. ‹ Back to courses course: Confluent Cloud Networking AWS/AZURE PRIVATE LINK 8 min JUSTIN LEE Staff Solutions Engineer (Presenter) PRIVATE LINK – OVERVIEW Another option for private networking in Confluent Cloud is the use of Private Link. Private Link allows you to access your Confluent Cloud cluster through a private endpoint that exists in your virtual network. Here's what this looks like architecturally: * On the Confluent side of the Private Link, we continue to run multiple brokers for you; you don't have to worry about how many brokers are running. * You create a Private Link network that contains an endpoint service. You then create endpoints in your VPC or VNet and associate them with the endpoint service that establishes connectivity to the Kafka cluster; each endpoint is an IP address that lives in one of your subnets. * If you're using a single-zone Confluent cluster, you'll end up with one endpoint, in one subnet. * If you're using a multi-zone Confluent cluster, you'll end up with three endpoints, each in a different subnet. This is a unidirectional connection between your network and the Confluent network—this means that clients running in your network can access Confluent Cloud, but nothing in Confluent Cloud can access your environment. Private Link is one of the most secure options from a cloud networking perspective, and it is also easier to set up from an IP address range perspective. It is a bit limiting though from an integration perspective: * Because Confluent can’t access your network, we can’t directly integrate with your data sources and sinks, and it requires some additional effort to set up the DNS infrastructure to support Private Link. * If you can meet the DNS requirements and don’t need fully managed connectors, it is a really good solution. PRIVATE LINK – REQUIREMENTS There are several differences between Private Link requirements and those that exist for peered networks. * Private Link networks only require three IP addresses from the subnets in your VPC or VNet. * Private Link does not require a /16 CIDR range like VPC/VNet peering * Because it's a TCP protocol, not HTTP or HTTPs, there's additional networking that is required to make this work. * On the Confluent side, we have a custom layer of routing and proxies that are able to use the TLS SNI (or server name indication) extension on each packet to forward messages to the right broker. We take care of all of this for you. * On your side of the network, we require you to set up wildcard DNS records to forward all traffic destined for Confluent brokers to the correct Private Link endpoint that exists in your VPC. * For AWS, this is a DNS A record * A records translate domain names to IP addresses * For Azure, this is a DNS CNAME record * CNAME records translate domain names to other domain names * Because Kafka clients must be able to properly reach all of the brokers through these IP addresses, in your DNS provider (for example, Route 53 in AWS or Azure DNS in Azure) you have to create a custom (private) DNS zone. In this zone, you have to set up a number of wildcard DNS records to resolve all broker DNS names to the Private Link endpoint IPs. * This is typically a three-step process: * In your DNS system, create a private DNS zone for the Confluent domain specified by the Confluent network * Identify the DNS name or IP addresses of the interface endpoints, and the DNS wildcard records that need to be created to point to each of the endpoints * Create wildcard CNAME records that forward traffic destined for the Confluent Cloud cluster through the correct interface endpoint At a high level, for each Confluent Cloud network that you provision, we'll designate a subdomain of confluent.cloud for which you'll have to create a custom private DNS zone that clients will have to use to access the Private Link endpoint. Additionally, your DNS infrastructure will need to be able to delegate DNS to a set of custom resolvers that we host on the internet. This involves creating four DNS records, all CNAMES, that take each zonal DNS subdomain, and resolve it to a VPC endpoint. We will walk through this process in the exercise that follows this module. PRIVATE LINK – BENEFITS If you're able to set up the DNS configurations (Confluent can assist with this), there are a number of benefits to the Private Link network options: * One significant characteristic of Private Link is that it's unidirectional. You can access the Confluent cluster over the Private Link, but Confluent has no access to your environment; this helps improve your security posture. * Another benefit is that Confluent no longer requires a /16 CIDR for Confluent Cloud—all that is required is a single IP address for each availability zone. * One really great benefit is that now on-premises networks can access Confluent Cloud through your VPC—no proxies needed. Because of the endpoint architecture, clients can access the cluster as if the Confluent cluster existed in your VPC or VNet. Kafka clients that are peered to the VPC or VNet where the Private Link is set up will be able to access Confluent; no additional HAProxy or NGINX is required, as long as the DNS is properly configured and clients can access endpoints in the Private Linked VPC or VNet. PRIVATE LINK – LIMITATIONS * The fact that Private Link is unidirectional is also a limitation. * Because we can't reach across the Private Link from the Confluent network into your network, fully managed connectors running in the Confluent network won’t be able to access data sinks and sources in your environment over the Private Link connection. * When you want to connect data sinks and sources - databases, data lakes, etc, - you have to either expose your service over the Internet, or self-manage Kafka Connect. * The DNS configuration for Private Link is an additional step you have to complete. * If you use your cloud provider’s DNS, this is relatively easy to set up, but at the end of the day, using Private Link require a set of between one and four wildcard DNS entries in order for Confluent Cloud to properly work. * As of today (Q2 2022), PrivateLInk is only available in AWS and Azure. AWS/AZURE PRIVATE LINK – MISCELLANEOUS Here’s a few things to keep in mind when considering using Private Link for Confluent Cloud * Just like other cloud providers, access to the provisioning control plane still requires Internet access * Additionally, access to Schema Registry - which is metadata only - is only accessible over the Internet * For a given Confluent Cloud Private Link network, you can whitelist up to ten cloud accounts, i.e., AWS accounts or Azure subscriptions, whose VPCs or VNets can then be set up to access Confluent Cloud * Once a given account is whitelisted for a Confluent Cloud PL network, you can connect as many VPCs or VNets to the network as you want * The Confluent network will be provisioned in three availability zones; you can run one or more clusters in the Confluent Network, and each one can be either single-zone or multi-zone. * In AWS, you’ll need to have a subnet in your VPC associated with availability zone ID used by the Confluent Private Link network; the Private Link endpoint will consume an IP address from each of those subnets * In AWS regions with more than three AZs, you’ll have the ability to specify which AZs the Confluent Network resides in. In summary, Private Link is the most secure network connectivity option between your network and Confluent Cloud. It also reduces the need for proxies; it behaves as if Kafka is running in your VPC or VNet. If you can meet the DNS requirements, it’s a really solid option. ERRATA GOOGLE PRIVATE SERVICE CONNECT (PSC) As of Q3 2022, Google PSC is also fully supported on Confluent Cloud. PSC is the Google equivalent to AWS PrivateLink and Azure Private Link. It provides a secure, unidirectional connection to Confluent Cloud that is initiated from your VPC network. Similar to AWS PrivateLink and Azure Private Link, Google Private Service Connect has these behaviors: * Private Service Connect is unidirectional. You can access the Confluent cluster over PSC, but Confluent has no acecss to your environment. * This may improve your security posture, depending on your security requirements. * Because we can't reach across the PSC, fully managed connectors running in the Confluent network won’t be able to access data sinks and sources in your environment over the PSC connection. * When you want to connect data sinks and sources - databases, data lakes, etc, - you have to either expose your service over the Internet, or self-manage Kafka Connect. * Private Service Connect networks only require three IP addresses from the subnets in your VPC. It does not require a /16 CIDR range like VPC/VNet peering. * On your side of the network, we require you to create a Private DNS Zone containing wildcard DNS records to forward all traffic destined for Confluent brokers to the correct Private Service Connect endpoints that exist in your VPC. * There will be one (1) regional wildcard "A" record pointing at all three PSC endpoints in your VPC. * There will be three (3) zonal wildcard "A" records, one pointing at each of the PSC endpoints in the VPC. Google PSC also has these key differences from AWS PrivateLink and Azure Private Link: * Google VPCs are global, but Confluent Cloud clusters are regional, as are Confluent Cloud PSC networks. * Three distinct PSC endpoints must be created, one in each AZ (rather than a single "endpoint" object consisting of three endpoints) * You can specify which three IP addresses in your VPC are used for the three PSC endpoints * Google Cloud does not support the following features for Private Service Connect: * For a cluster in one region, you cannot provision a Private Service Connect endpoint in a different region. * If you have a Private Service Connect endpoint in one region, you cannot access that endpoint from a different region. * Access to PSC endpoints from on-premise over Google Cloud Interconnect is currently in Public Preview as of November 17, 2022 (https://cloud.google.com/vpc/docs/configure-private-service-connect-services#on-premises). Therefore, accessing PSC directly from on-premise is not recommended for production. * Previous * Next USE THE PROMO CODE NETWORKING101 TO GET $25 OF FREE CONFLUENT CLOUD USAGE Get Started GET STARTED WITH CONFLUENT CLOUD Try free MODULES: START FROM LESSON 1 TOTAL 10 1. Confluent Cloud Networking: Introduction 16 min 2. Confluent Cloud Overview 7 min 3. Connect to Confluent Cloud with Secure Public Endpoints 7 min 4. Hands On: Configuring a Cluster with Public Endpoints 11 min 5. VPC Peering 6 min 6. Hands On: Configuring a VPC Peered Cluster 14 min 7. AWS Transit Gateway 8 min 8. AWS/Azure Private Link 8 min 9. Hands On: Configuring a PrivateLink Cluster 18 min 10. Which Networking Option Best Fits Your Requirements? 3 min RELATED RESOURCES DOCS CREATE AN AWS PRIVATELINK CONNECTION TO CONFLUENT CLOUD | CONFLUENT DOCUMENTATION DOCS USE AZURE PRIVATE LINK CONNECTIONS WITH CONFLUENT CLOUD | CONFLUENT DOCUMENTATION DOCS HOW TO SET UP SECURE NETWORKING IN CONFLUENT WITH AZURE PRIVATE LINK BE THE FIRST TO GET UPDATES AND NEW CONTENT Sign up 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. Feedback * Confluent * About * Careers * Contact * Professional Services * * * * * * * Product * Confluent Cloud * ksqlDB * Developer * Free Courses * Tutorials * Event Streaming Patterns * Documentation * Blog * Podcast * Community * Forum * Meetups * Kafka Summit * Catalysts * * * * * Terms & Conditions | Privacy Policy | Do Not Sell My Information | Modern Slavery Policy | Cookie Settings Copyright © Confluent, Inc. 2014-2023. Apache, Apache Kafka, Kafka, Apache Flink, Flink, and associated open source project names are trademarks of the Apache Software Foundation By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. Cookie Notice Cookies Settings Reject All Accept All Cookies