Kafka Complete Guide: Ways to Connect, Authenticate, and Use Confluent Kafka

1. First understand the four layers

flowchart TD
    A[Application / Tool / Terraform / Connector] --> B[Connection Method]
    B --> B1[Native Kafka Protocol]
    B --> B2[Kafka REST API]
    B --> B3[Confluent Cloud Management API]
    B --> B4[Confluent CLI]
    B --> B5[Managed Connectors]
    B --> B6[Cluster Linking]

    B1 --> C[Network Path]
    B2 --> C
    B3 --> C

    C --> C1[Public Internet]
    C --> C2[Public + IP Filtering]
    C --> C3[AWS PrivateLink]
    C --> C4[VPC Peering]
    C --> C5[AWS Transit Gateway]
    C --> C6[Private Network Interface]

    C --> D[Authentication]
    D --> D1[Kafka API Key / Secret]
    D --> D2[Cloud API Key / Secret]
    D --> D3[Schema Registry API Key / Secret]
    D --> D4[OAuth / OIDC]
    D --> D5[mTLS Client Certificate]

    D --> E[Authorization]
    E --> E1[Kafka ACLs]
    E --> E2[Confluent RBAC]

Confluent Cloud supports native Kafka clients in many languages, including Java, Python, Go, JavaScript, .NET, C/C++, and others. For normal producer/consumer workloads, this is usually the best and most standard path. (Confluent Documentation)


2. Method 1 — Native Kafka protocol

This is the direct Kafka access method.

Your application connects directly to the Kafka bootstrap server using the Kafka protocol.

Application / Pod / Service
        |
        | Kafka protocol
        | SASL_SSL / mTLS
        v
Confluent Kafka bootstrap endpoint :9092

Confluent Cloud Kafka clients commonly use:

bootstrap.servers=<BOOTSTRAP_SERVER>
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.username=<KAFKA_API_KEY>
sasl.password=<KAFKA_API_SECRET>

The official Confluent Java example uses bootstrap.servers, security.protocol=SASL_SSL, sasl.mechanism=PLAIN, and API key/secret in the JAAS config. (Confluent Documentation)

Use cases

Use this for:

Use caseRecommended?
Microservices producing/consuming eventsYes
EKS workloadsYes
High-throughput streamingYes
Long-running consumersYes
Consumer groupsYes
Exactly-once / transactionsYes
Kafka StreamsYes
Low-latency event processingYes

Example: Java client config

bootstrap.servers=pkc-xxxxx.ap-northeast-1.aws.confluent.cloud:9092
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="KAFKA_API_KEY" password="KAFKA_API_SECRET";
client.id=orders-service

Example: Python client

from confluent_kafka import Producer

conf = {
    "bootstrap.servers": "pkc-xxxxx.ap-northeast-1.aws.confluent.cloud:9092",
    "security.protocol": "SASL_SSL",
    "sasl.mechanism": "PLAIN",
    "sasl.username": "KAFKA_API_KEY",
    "sasl.password": "KAFKA_API_SECRET",
    "client.id": "orders-producer"
}

producer = Producer(conf)

producer.produce(
    "orders",
    key="order-1001",
    value='{"order_id": "1001", "status": "CREATED"}'
)

producer.flush()

Example: Node.js / JavaScript

const { Kafka } = require("@confluentinc/kafka-javascript");

const kafka = new Kafka({
  kafkaJS: {
    brokers: ["pkc-xxxxx.ap-northeast-1.aws.confluent.cloud:9092"],
    ssl: true,
    sasl: {
      mechanism: "plain",
      username: process.env.KAFKA_API_KEY,
      password: process.env.KAFKA_API_SECRET
    }
  }
});

const producer = kafka.producer();

Confluent’s JavaScript example also uses brokers, SSL, SASL plain, API key, and API secret. (Confluent Documentation)


3. Method 2 — Kafka REST API

This is Kafka over HTTPS.

Instead of using a native Kafka client, you call an HTTPS endpoint.

Application / Script / Serverless Function
        |
        | HTTPS REST API
        | Basic auth using API key/secret
        v
Confluent Kafka REST endpoint :443

Confluent Cloud exposes a Kafka REST endpoint per cluster, usually on port 443, while the native Kafka bootstrap server uses port 9092. (Confluent Documentation)

Use cases

Use Kafka REST API when:

Use caseWhy REST helps
Serverless functionsEasier than keeping Kafka connections
Shell scriptsSimple curl works
Third-party integrationPartner does not need Kafka client
Restricted firewallHTTPS 443 may be easier
Low-throughput producersSimple and acceptable
CI/CD automationCreate/manage topics or produce test events

Confluent says the Kafka REST API is useful when native Kafka clients are not available, such as serverless functions, CI/CD pipelines, shell scripts, or restricted environments where only HTTPS is allowed. (Confluent Documentation)

REST API produce example

First encode your Kafka API key and secret:

echo -n "KAFKA_API_KEY:KAFKA_API_SECRET" | base64

Then produce a record:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Basic <BASE64_API_KEY_AND_SECRET>" \
  "https://pkc-xxxxx.ap-northeast-1.aws.confluent.cloud/kafka/v3/clusters/lkc-xxxxx/topics/orders/records" \
  -d '{
    "key": {
      "type": "STRING",
      "data": "order-1001"
    },
    "value": {
      "type": "JSON",
      "data": {
        "order_id": "1001",
        "status": "CREATED"
      }
    }
  }'

Confluent’s REST API examples use Authorization: Basic <BASE64-encoded-key-and-secret> and the /kafka/v3/clusters/<cluster-id>/topics/<topic-name>/records endpoint. (Confluent Documentation)

When not to use REST

Avoid Kafka REST API for:

Very high-throughput streaming
Heavy consumer group workloads
Kafka Streams
Exactly-once processing
Large-scale event pipelines
Long-running low-latency consumers

For those, use the native Kafka protocol.


4. Method 3 — Confluent Cloud Management API

This is not the normal data streaming path.

It is used to manage Confluent resources.

Terraform / CI/CD / Platform Automation
        |
        | HTTPS
        | Cloud API key/secret
        v
Confluent Cloud Management API

Use this for:

Create environments
Create Kafka clusters
Create service accounts
Create API keys
Create topics
Manage ACLs
Manage RBAC
Manage connectors
Manage networking
Fetch metrics

Important distinction:

API key typeUsed for
Cloud API keyConfluent Cloud management APIs, provisioning, metrics
Kafka API keyProduce/consume/admin against one Kafka cluster
Schema Registry API keySchema Registry access
ksqlDB API keyksqlDB application access
Flink API keyFlink region access

Confluent documents this distinction clearly: Cloud API keys are for management APIs, while resource-specific API keys are for Kafka clusters, Schema Registry, Flink, or ksqlDB. (Confluent Documentation)

Terraform provider example

terraform {
  required_providers {
    confluent = {
      source  = "confluentinc/confluent"
      version = "~> 2.0"
    }
  }
}

provider "confluent" {
  cloud_api_key    = var.confluent_cloud_api_key
  cloud_api_secret = var.confluent_cloud_api_secret
}

Use Terraform for platform/infrastructure resources. Do not use Terraform as the application data producer/consumer.


5. Method 4 — Confluent CLI

This is mostly for humans, testing, debugging, and admin tasks.

Engineer laptop / Bastion / CI job
        |
        | CLI
        v
Confluent Cloud

Common commands

Login:

confluent login

List environments:

confluent environment list

Select environment:

confluent environment use <env-id>

List Kafka clusters:

confluent kafka cluster list

Use a Kafka cluster:

confluent kafka cluster use <lkc-id>

Create topic:

confluent kafka topic create orders --partitions 6

Produce test messages:

confluent kafka topic produce orders

Consume test messages:

confluent kafka topic consume orders --from-beginning

Confluent’s CLI tutorial shows creating API keys, creating a topic, producing messages, and consuming them from the beginning. (Confluent Documentation)


6. Method 5 — Managed connectors

This is an indirect Kafka connection.

Your application does not connect to Kafka. A connector does it for you.

flowchart LR
    A[Database / S3 / Salesforce / API / Snowflake] --> B[Confluent Connector]
    B --> C[Kafka Topic]
    C --> D[Consumer Application]

    E[Kafka Topic] --> F[Sink Connector]
    F --> G[Data Warehouse / Search / Storage / External API]

Source connector

Writes data into Kafka.

Examples:

PostgreSQL → Kafka
MySQL CDC → Kafka
S3 → Kafka
HTTP API → Kafka
Salesforce → Kafka

Sink connector

Reads data from Kafka.

Examples:

Kafka → Snowflake
Kafka → Elasticsearch
Kafka → S3
Kafka → BigQuery
Kafka → HTTP endpoint

Authentication

A connector needs Kafka permissions. Confluent says connector configuration must include either an API key/secret or a service account ID, and connector service accounts require ACLs such as DESCRIBE, CREATE, READ, and WRITE depending on the connector type. (Confluent Documentation)

Example service account setup:

confluent iam service-account create orders-sink-connector \
  --description "Service account for Orders sink connector"

Create Kafka API key for connector service account:

confluent api-key create \
  --resource lkc-xxxxx \
  --service-account sa-xxxxx

Sink connector ACL example:

confluent kafka acl create \
  --allow \
  --service-account sa-xxxxx \
  --operations read \
  --topic orders
confluent kafka acl create \
  --allow \
  --service-account sa-xxxxx \
  --operations read \
  --consumer-group connect-lcc-

Use connectors when you want to avoid writing custom producer/consumer code.


7. Method 6 — Schema Registry access

Schema Registry is separate from Kafka broker access.

You need it when using:

Avro
Protobuf
JSON Schema
Schema compatibility rules
Schema evolution
Contract-first event design
flowchart LR
    A[Producer App] --> B[Schema Registry]
    A --> C[Kafka Topic]
    C --> D[Consumer App]
    D --> B

Kafka client config:

bootstrap.servers=pkc-xxxxx.ap-northeast-1.aws.confluent.cloud:9092
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.username=<KAFKA_API_KEY>
sasl.password=<KAFKA_API_SECRET>

Schema Registry config:

schema.registry.url=https://psrc-xxxxx.ap-northeast-1.aws.confluent.cloud
basic.auth.credentials.source=USER_INFO
basic.auth.user.info=<SCHEMA_REGISTRY_API_KEY>:<SCHEMA_REGISTRY_API_SECRET>

Confluent Cloud provides one Schema Registry per environment, and you commonly need one API key/secret pair for the Kafka cluster and another for Schema Registry. (Confluent Documentation)


8. Method 7 — Cluster Linking

Cluster Linking connects Kafka cluster to Kafka cluster.

flowchart LR
    A[Source Kafka Cluster] -->|Cluster Link| B[Destination Kafka Cluster]
    B --> C[Mirror Topics]
    B --> D[Consumers]

Use it for:

Disaster recovery
Region-to-region replication
Cloud migration
Hybrid Kafka to Confluent Cloud migration
Multi-cloud event sharing
Low-downtime Kafka migration

Confluent describes Cluster Linking as a way to mirror data directly between clusters across regions, clouds, lines of business, or organizations, with support for mirroring topics, consumer offsets, and ACLs. (Confluent Documentation)

Example:

confluent kafka link create tokyo-sydney \
  --source-bootstrap-server pkc-source.ap-northeast-1.aws.confluent.cloud:9092 \
  --source-cluster lkc-source \
  --source-api-key <SOURCE_API_KEY> \
  --source-api-secret <SOURCE_API_SECRET>

Create mirror topic:

confluent kafka mirror create orders.tokyo \
  --link tokyo-sydney

For DR, Confluent recommends creating the DR cluster in another region/cloud, enabling consumer offset sync and ACL sync, and creating mirror topics for the primary topics. (Confluent Documentation)


9. Authentication methods

9.1 Kafka API key and secret

This is the most common method.

AuthN: Kafka API key + secret
Protocol: SASL_SSL
Mechanism: PLAIN
Authorization: ACLs or RBAC

Best for:

Standard applications
EKS workloads
Kafka clients
Simple production setup
Service-to-service access

Recommended pattern:

One service account per app
One API key per app/environment
ACL/RBAC least privilege
Store secret in AWS Secrets Manager
Sync to Kubernetes using External Secrets Operator
Rotate regularly

Confluent recommends service account API keys for production and avoiding user account API keys except for development/testing. (Confluent Documentation)


9.2 OAuth / OIDC

This avoids long-lived Kafka API secrets.

AuthN: OAuth token
Protocol: SASL_SSL
Mechanism: OAUTHBEARER
Authorization: RBAC / ACL through identity pool

Example config:

security.protocol=SASL_SSL
sasl.mechanism=OAUTHBEARER
sasl.oauthbearer.token.endpoint.url=https://idp.example.com/oauth2/token
sasl.oauthbearer.client.id=orders-service
sasl.oauthbearer.client.secret=<client-secret>
sasl.oauthbearer.scope=kafka:read kafka:write
sasl.oauthbearer.extensions=logicalCluster=lkc-xxxxx,identityPoolId=pool-xxxxx

Confluent Cloud supports OAuth/OIDC for Kafka clients and documents common parameters such as sasl.mechanism=OAUTHBEARER, token endpoint URL, client ID, client secret, scope, and extensions for logical cluster and identity pool. (Confluent Documentation)

Best for:

Enterprise identity integration
Centralized IdP
Short-lived credentials
Large organization governance
Zero-trust style workload identity

9.3 mTLS

This uses client certificates.

AuthN: Client certificate
Protocol: TLS / mTLS
Authorization: RBAC / ACL through certificate identity pool

Confluent Cloud supports mTLS authentication by letting you upload your own Certificate Authority; Confluent brokers validate client certificates against that CA. (Confluent Documentation)

Best for:

Strong machine identity
Certificate-based enterprise security
Regulated environments
PKI-based organizations
Long-lived infrastructure services

mTLS is powerful, but operationally heavier because you must manage:

CA lifecycle
Client certificate issuance
Certificate rotation
Revocation
Identity pool mapping

10. Authorization methods

Authentication answers:

Who are you?

Authorization answers:

What are you allowed to do?

Confluent supports both ACLs and RBAC. Service accounts represent applications that access Confluent Cloud programmatically, and permissions can be assigned through ACLs and role bindings. (Confluent Documentation)

10.1 ACLs

ACLs are Kafka-style permissions.

Examples:

Allow service account to WRITE to topic orders
Allow service account to READ from topic orders
Allow service account to READ consumer group orders-service
Allow service account to DESCRIBE topic

Confluent describes ACLs as a way to secure access to Kafka resources and data; a principal only has permissions for resources granted to it. (Confluent Documentation)

Producer ACL example:

confluent kafka acl create \
  --allow \
  --service-account sa-orders-prod \
  --operations write,describe \
  --topic orders

Consumer ACL example:

confluent kafka acl create \
  --allow \
  --service-account sa-orders-consumer-prod \
  --operations read,describe \
  --topic orders
confluent kafka acl create \
  --allow \
  --service-account sa-orders-consumer-prod \
  --operations read \
  --consumer-group orders-consumer-group

10.2 RBAC

RBAC is higher-level and role-based.

Examples:

DeveloperRead
DeveloperWrite
DeveloperManage
CloudClusterAdmin
EnvironmentAdmin
OrganizationAdmin
MetricsViewer
ResourceOwner

Confluent Cloud predefined RBAC roles can be scoped to organizations, environments, clusters, and Kafka resources, and roles such as DeveloperRead, DeveloperWrite, DeveloperManage, CloudClusterAdmin, EnvironmentAdmin, and OrganizationAdmin are documented. (Confluent Documentation)

Best practice:

Use RBAC for human/platform roles.
Use ACLs or resource-scoped RBAC for application data-plane access.
Do not give OrganizationAdmin to apps.

11. Network connectivity methods

11.1 Public internet endpoint

EKS Pod / App / Laptop
        |
        | Internet
        v
Confluent Cloud public Kafka endpoint

Use cases:

Development
Simple production
Low security restriction environments
Quick onboarding

Pros:

Easy
Fast setup
No private network complexity
Works from anywhere with credentials

Cons:

Internet-reachable endpoint
Depends fully on auth/RBAC/ACLs
May not satisfy strict enterprise security

11.2 Public endpoint + IP filtering

Confluent IP Filtering allows inbound requests only from trusted source networks using IP groups/CIDR blocks; by default, publicly networked Confluent resources are reachable from any source IP. (Confluent Documentation)

EKS NAT Gateway static IP
        |
        | Allowed CIDR only
        v
Confluent Cloud public endpoint

Use cases:

Public endpoint acceptable
Source NAT IP is stable
Small number of known egress IPs

For EKS, this usually means:

Private subnets
NAT Gateway with Elastic IP
Confluent IP filter allows NAT EIP

Limitation:

If clients come from dynamic IPs, IP filtering becomes painful.

11.3 AWS PrivateLink

flowchart LR
    A[EKS Pods in AWS VPC] --> B[AWS Interface VPC Endpoint]
    B --> C[AWS PrivateLink]
    C --> D[Confluent Cloud Kafka Cluster]

This is often the best enterprise design for AWS + EKS.

Confluent says AWS PrivateLink provides one-way secure connection access from your VPC to Confluent Cloud and adds protection against data exfiltration. (Confluent Documentation)

Use cases:

Production EKS workloads
No public Kafka endpoint
Strict security/compliance
Private traffic path
Financial/enterprise workloads

Pros:

Private network path
No public internet exposure
Strong security posture
Good for EKS

Cons:

More setup
DNS configuration required
Usually cluster-type/plan dependent
Need VPC endpoint management

11.4 VPC peering / VNet peering

Your VPC <---- Peering ----> Confluent Cloud network

Use cases:

Private routing
Large internal network
Older private connectivity patterns

Pros:

Private connectivity
Native routing

Cons:

CIDR overlap issues
Routing complexity
Transitive routing limitations

11.5 AWS Transit Gateway

Multiple VPCs
    |
    v
AWS Transit Gateway
    |
    v
Confluent Cloud

Confluent Cloud supports private connectivity options including AWS PrivateLink, Azure Private Link, VPC/VNet peering, and AWS Transit Gateway. (Confluent Documentation)

Use cases:

Many VPCs
Centralized enterprise networking
Shared services VPC
Multi-account AWS setup

Best when many EKS clusters or AWS accounts need Kafka access.


11.6 Private Network Interface

Confluent Private Network Interface enables private communication between your AWS resources and Confluent Cloud clusters through Elastic Network Interfaces in your AWS account. (Confluent Documentation)

Use cases:

AWS-native private access
Enterprise/Freight cluster designs
Private networking with ENI model

12. Ports and firewall requirements

Very important:

EndpointPortProtocol
Kafka bootstrap9092SASL_SSL or mTLS
Kafka REST endpoint443HTTPS

Confluent’s connectivity testing guide says Kafka clusters use port 9092 for bootstrap and port 443 for Kafka REST, and that Terraform Provider / Kafka REST require access to port 443. (Confluent Documentation)

Test Kafka bootstrap:

nc -zv pkc-xxxxx.ap-northeast-1.aws.confluent.cloud 9092

Test REST endpoint:

nc -zv pkc-xxxxx.ap-northeast-1.aws.confluent.cloud 443

Test TLS/SNI:

openssl s_client \
  -servername pkc-xxxxx.ap-northeast-1.aws.confluent.cloud \
  -connect pkc-xxxxx.ap-northeast-1.aws.confluent.cloud:9092

Confluent notes that Kafka broker hosts do not respond to ping, so use tools like nc, openssl, or telnet instead. (Confluent Documentation)


13. EKS recommended architecture

For your EKS case, I would recommend this order.

Short-term practical design

flowchart LR
    A[EKS Pod] --> B[NAT Gateway Elastic IP]
    B --> C[Confluent Public Endpoint]
    C --> D[Kafka Cluster]

    E[AWS Secrets Manager] --> F[External Secrets Operator]
    F --> G[Kubernetes Secret]
    G --> A

Use:

Native Kafka client
SASL_SSL
Kafka API key/secret
Service account per app
ACL least privilege
NAT Gateway static EIP
Confluent IP Filtering if possible
Secrets stored in AWS Secrets Manager
External Secrets Operator sync to Kubernetes

Best enterprise design

flowchart LR
    A[EKS Private Subnet Pod] --> B[AWS PrivateLink / VPC Endpoint]
    B --> C[Confluent Private Endpoint]
    C --> D[Confluent Kafka Cluster]

    E[Terraform Cloud Agent in VPC] --> B
    F[Admin Bastion / VPN] --> B

Use:

PrivateLink
Native Kafka protocol
Service account API key OR OAuth/OIDC OR mTLS
ACL/RBAC least privilege
Terraform Cloud Agent inside VPC if Terraform must reach private resources

This matches your earlier EKS API endpoint discussion: if workloads/tools must reach private endpoints, run the automation agent inside the private network.


14. Kubernetes example for EKS app

Secret

apiVersion: v1
kind: Secret
metadata:
  name: confluent-kafka-orders
  namespace: orders-prod
type: Opaque
stringData:
  KAFKA_BOOTSTRAP_SERVERS: "pkc-xxxxx.ap-northeast-1.aws.confluent.cloud:9092"
  KAFKA_API_KEY: "<api-key>"
  KAFKA_API_SECRET: "<api-secret>"

Deployment env vars

apiVersion: apps/v1
kind: Deployment
metadata:
  name: orders-service
  namespace: orders-prod
spec:
  replicas: 3
  selector:
    matchLabels:
      app: orders-service
  template:
    metadata:
      labels:
        app: orders-service
    spec:
      containers:
        - name: orders-service
          image: myrepo/orders-service:1.0.0
          env:
            - name: KAFKA_BOOTSTRAP_SERVERS
              valueFrom:
                secretKeyRef:
                  name: confluent-kafka-orders
                  key: KAFKA_BOOTSTRAP_SERVERS
            - name: KAFKA_API_KEY
              valueFrom:
                secretKeyRef:
                  name: confluent-kafka-orders
                  key: KAFKA_API_KEY
            - name: KAFKA_API_SECRET
              valueFrom:
                secretKeyRef:
                  name: confluent-kafka-orders
                  key: KAFKA_API_SECRET

Production improvement:

Do not manually create Kubernetes Secrets.
Store secret in AWS Secrets Manager.
Sync using External Secrets Operator.
Rotate Confluent API key periodically.

15. Which method to use when?

RequirementBest method
EKS microservice produces/consumes eventsNative Kafka protocol
High throughputNative Kafka protocol
Long-running consumer groupNative Kafka protocol
Serverless function sends occasional eventsKafka REST API
Shell script sends test eventKafka REST API or CLI
CI/CD creates topics/ACLsTerraform Provider or Kafka REST Admin API
Platform team provisions Confluent resourcesTerraform + Confluent Cloud API
Human debuggingConfluent CLI
Database to KafkaManaged source connector
Kafka to Snowflake/S3/ElasticManaged sink connector
Multi-region replicationCluster Linking
Migration from old Kafka to new KafkaCluster Linking
Schema governanceSchema Registry
Enterprise identity, no long-lived Kafka secretsOAuth/OIDC
Certificate-based machine identitymTLS
Strict private AWS accessAWS PrivateLink
Many AWS VPCs/accountsAWS Transit Gateway

16. Recommended standard for your organization

For a production EKS + Confluent Cloud setup, I would define standards like this:

Application standard

Connection method:
Native Kafka protocol

Network:
PrivateLink preferred
Public + IP Filtering acceptable as interim

Authentication:
Service account Kafka API key/secret initially
OAuth/OIDC or mTLS for mature enterprise identity

Authorization:
Least-privilege ACLs or scoped RBAC

Secrets:
AWS Secrets Manager + External Secrets Operator

Observability:
Consumer lag, delivery error rate, auth failures, broker connection errors

Platform/IaC standard

Tool:
Terraform Provider for Confluent

Authentication:
Cloud API key/secret stored in Terraform Cloud sensitive variables or Vault

Network:
Terraform execution must have access to Confluent Cloud API and Kafka REST endpoint if managing Kafka resources

Ownership:
Platform team owns environments, clusters, networking, service accounts, ACL/RBAC patterns
Application teams own topic usage and client configuration

Human/debug standard

Tool:
Confluent CLI or kcat

Authentication:
Temporary/user-scoped access where possible

Access:
Via VPN/bastion/private network if cluster is private

17. Simple final mental model

Native Kafka Protocol
= Best for applications and real streaming.

Kafka REST API
= Best for HTTPS-only, serverless, scripts, light integrations.

Confluent Cloud Management API
= Best for provisioning and automation.

Confluent CLI
= Best for humans, debugging, and testing.

Managed Connectors
= Best when moving data between Kafka and external systems.

Schema Registry
= Best for governed Avro/Protobuf/JSON Schema events.

Cluster Linking
= Best for Kafka-to-Kafka replication, migration, DR, and multi-region.

My recommended answer for your team:

For application workloads on EKS, the preferred method is direct Kafka data-plane access using the native Kafka protocol over SASL_SSL or mTLS. The application should authenticate using a Confluent service-account-based Kafka API key/secret, OAuth/OIDC, or mTLS, and should be authorized using least-privilege ACLs or scoped RBAC.

Confluent Cloud APIs and Terraform should be used for control-plane automation such as creating clusters, topics, service accounts, API keys, ACLs, RBAC bindings, and networking. Kafka REST API is useful for HTTPS-based integrations, serverless workloads, scripts, and CI/CD cases where native Kafka clients are not practical.

For production EKS, the strongest network design is AWS PrivateLink between the EKS VPC and Confluent Cloud, with secrets managed through AWS Secrets Manager and synced into Kubernetes through External Secrets Operator.

Related Posts

Comprehensive Guide to Container Orchestration and Cluster Management

Container orchestration platform technology completely transforms how modern software engineering teams deploy, scale, and manage applications in production environments. For site reliability professionals, understanding cluster architecture provides…

Read More

Navigating Global Healthcare Complexity with MyMedicPlus Digital Platforms

Finding reliable healthcare options across borders presents immense operational and administrative challenges. Therefore, modern patients require robust, unified digital systems to navigate diverse hospital ecosystems and verifying…

Read More

Empowering Medical Decisions Globally Through Seamless Access to Advanced Care with MyHospitalNow

Finding the right medical treatment often presents overwhelming challenges for patients worldwide. Therefore, people frequently struggle to find verifiable information regarding elite specialists, modern hospital infrastructure, and…

Read More

How to Fix Royal TSX SSH Session Disconnecting After a Few Minutes on macOS

Problem If you are using Royal TSX on macOS and your SSH session disconnects after a few minutes of idle time, the problem is usually not your…

Read More

How Prometheus and Grafana are Revolutionizing Monitoring for SREs

Distributed infrastructure systems often present significant visibility challenges. For a modern Site Reliability Engineer (SRE), keeping complex microservices, Kubernetes clusters, and cloud-native applications running smoothly requires deep…

Read More

Top Essential Site Reliability Engineering Tools Every Modern Professional Must Master

Complete Analytical Breakdown of Site Reliability Engineering Principles and Toolsets Site Reliability Engineering tools form the foundational technical bedrock of modern digital architecture, providing the deep visibility,…

Read More
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x