WHY GARTNER’S “CONTEXT MESH” CHANGES EVERYTHING AI CONNECTIVITY: THE ROAD AHEAD DON’T MISS API + AI SUMMIT 2026 SEPT 30 – OCT 1
  • [Why Kong](/company/why-kong)Why Kong
    • Explore the unified API Platform
        • BUILD APIs
        • [
          Kong Insomnia](/products/kong-insomnia)
          Kong Insomnia
        • [
          API Design](/products/kong-insomnia/api-design)
          API Design
        • [
          API Mocking](/products/kong-insomnia/api-mocking)
          API Mocking
        • [
          API Testing and Debugging](/products/kong-insomnia/api-testing-and-debugging)
          API Testing and Debugging
        • [
          MCP Client](/products/kong-insomnia/mcp-client)
          MCP Client
        • RUN APIs
        • [
          API Gateway](/products/kong-gateway)
          API Gateway
        • [
          Context Mesh](/products/kong-konnect/features/context-mesh)
          Context Mesh
        • [
          AI Gateway](/products/kong-ai-gateway)
          AI Gateway
        • [
          Event Gateway](/products/event-gateway)
          Event Gateway
        • [
          Kubernetes Operator](/products/kong-gateway-operator)
          Kubernetes Operator
        • [
          Service Mesh](/products/kong-mesh)
          Service Mesh
        • [
          Ingress Controller](/products/kong-ingress-controller)
          Ingress Controller
        • [
          Runtime Management](/products/kong-konnect/features/runtime-management)
          Runtime Management
        • DISCOVER APIs
        • [
          Developer Portal](/products/kong-konnect/features/developer-portal)
          Developer Portal
        • [
          Service Catalog](/products/kong-konnect/features/api-service-catalog)
          Service Catalog
        • [
          MCP Registry](/products/mcp-registry)
          MCP Registry
        • GOVERN APIs
        • [
          Metering and Billing](/products/kong-konnect/features/usage-based-metering-and-billing)
          Metering and Billing
        • [
          APIOps and Automation](/products/apiops-automation)
          APIOps and Automation
        • [
          API Observability](/products/kong-konnect/features/api-observability)
          API Observability
        • [Why Kong?](/company/why-kong)Why Kong?
      • CLOUD
      • [Cloud API Gateways](/products/kong-konnect/features/dedicated-cloud-gateways)Cloud API Gateways
      • [Need a self-hosted or hybrid option?](/products/kong-enterprise)Need a self-hosted or hybrid option?
      • COMPARE
      • [Considering AI Gateway alternatives? ](/performance-comparison/ai-gateway-alternatives)Considering AI Gateway alternatives?
      • [Kong vs. Postman](/performance-comparison/kong-vs-postman)Kong vs. Postman
      • [Kong vs. MuleSoft](/performance-comparison/kong-vs-mulesoft)Kong vs. MuleSoft
      • [Kong vs. Apigee](/performance-comparison/kong-vs-apigee)Kong vs. Apigee
      • [Kong vs. IBM](/performance-comparison/ibm-api-connect-vs-kong)Kong vs. IBM
      • GET STARTED
      • [Sign Up for Kong Konnect](/products/kong-konnect/register)Sign Up for Kong Konnect
      • [Documentation](https://developer.konghq.com/)Documentation
      • FOR PLATFORM TEAMS
      • [Developer Platform](/solutions/building-developer-platform)Developer Platform
      • [Kubernetes and Microservices](/solutions/build-on-kubernetes)Kubernetes and Microservices
      • [Observability](/solutions/observability)Observability
      • [Service Mesh Connectivity ](/solutions/service-mesh-connectivity)Service Mesh Connectivity
      • [Kafka Event Streaming](/solutions/kafka-stream-api-management)Kafka Event Streaming
      • FOR EXECUTIVES
      • [AI Connectivity](/ai-connectivity)AI Connectivity
      • [Open Banking](/solutions/open-banking)Open Banking
      • [Legacy Migration](/solutions/legacy-api-management-migration)Legacy Migration
      • [Platform Cost Reduction](/solutions/api-platform-consolidation)Platform Cost Reduction
      • [Kafka Cost Optimization](/solutions/reduce-kafka-cost)Kafka Cost Optimization
      • [API Monetization](/solutions/api-monetization)API Monetization
      • [AI Monetization](/solutions/ai-monetization)AI Monetization
      • [AI FinOps](/solutions/ai-cost-governance-finops)AI FinOps
      • FOR AI TEAMS
      • [AI Governance](/solutions/ai-governance)AI Governance
      • [AI Security](/solutions/ai-security)AI Security
      • [AI Cost Control](/solutions/ai-cost-optimization-management)AI Cost Control
      • [Agentic Infrastructure](/solutions/agentic-ai-workflows)Agentic Infrastructure
      • [MCP Production](/solutions/mcp-production-and-consumption)MCP Production
      • [MCP Traffic Gateway](/solutions/mcp-governance)MCP Traffic Gateway
      • FOR DEVELOPERS
      • [Mobile App API Development](/solutions/mobile-application-api-development)Mobile App API Development
      • [GenAI App Development](/solutions/power-openai-applications)GenAI App Development
      • [API Gateway for Istio](/solutions/istio-gateway)API Gateway for Istio
      • [Decentralized Load Balancing](/solutions/decentralized-load-balancing)Decentralized Load Balancing
      • BY INDUSTRY
      • [Financial Services](/solutions/financial-services-industry)Financial Services
      • [Healthcare](/solutions/healthcare)Healthcare
      • [Higher Education](/solutions/api-platform-for-education-services)Higher Education
      • [Insurance](/solutions/insurance)Insurance
      • [Manufacturing](/solutions/manufacturing)Manufacturing
      • [Retail](/solutions/retail)Retail
      • [Software & Technology](/solutions/software-and-technology)Software & Technology
      • [Transportation](/solutions/transportation-and-logistics)Transportation
      • [See all Solutions](/solutions)See all Solutions
  • [Pricing](/pricing)Pricing
      • DOCUMENTATION
      • [Kong Konnect](https://developer.konghq.com/konnect/)Kong Konnect
      • [Kong Gateway](https://developer.konghq.com/gateway/)Kong Gateway
      • [Kong Mesh](https://developer.konghq.com/mesh/)Kong Mesh
      • [Kong AI Gateway](https://developer.konghq.com/ai-gateway/)Kong AI Gateway
      • [Kong Event Gateway](https://developer.konghq.com/event-gateway/)Kong Event Gateway
      • [Kong Insomnia](https://developer.konghq.com/insomnia/)Kong Insomnia
      • [Plugin Hub](https://developer.konghq.com/plugins/)Plugin Hub
      • EXPLORE
      • [Blog](/blog)Blog
      • [Learning Center](/blog/learning-center)Learning Center
      • [eBooks](/resources/e-book)eBooks
      • [Reports](/resources/reports)Reports
      • [Demos](/resources/demos)Demos
      • [Customer Stories](/customer-stories)Customer Stories
      • [Videos](/resources/videos)Videos
      • EVENTS
      • [API + AI Summit](/events/conferences/api-ai-summit)API + AI Summit
      • [Agentic Era World Tour](/agentic-era-world-tour)Agentic Era World Tour
      • [Webinars](/events/webinars)Webinars
      • [User Calls](/events/user-calls)User Calls
      • [Workshops](/events/workshops)Workshops
      • [Meetups](/events/meetups)Meetups
      • [See All Events](/events)See All Events
      • FOR DEVELOPERS
      • [Get Started](https://developer.konghq.com/)Get Started
      • [Community](/community)Community
      • [Certification](/academy/certification)Certification
      • [Training](https://education.konghq.com)Training
      • COMPANY
      • [About Us](/company/about-us)About Us
      • [We're Hiring!](/company/careers)We're Hiring!
      • [Press Room](/company/press-room)Press Room
      • [Contact Us](/company/contact-us)Contact Us
      • [Kong Partner Program](/partners)Kong Partner Program
      • [Enterprise Support Portal](https://support.konghq.com/s/)Enterprise Support Portal
      • [Documentation](https://developer.konghq.com/?_gl=1*tphanb*_gcl_au*MTcxNTQ5NjQ0MC4xNzY5Nzg4MDY0LjIwMTI3NzEwOTEuMTc3MzMxODI2MS4xNzczMzE4MjYw*_ga*NDIwMDU4MTU3LjE3Njk3ODgwNjQ.*_ga_4JK9146J1H*czE3NzQwMjg1MjkkbzE4OSRnMCR0MTc3NDAyODUyOSRqNjAkbDAkaDA)Documentation
  • [](/search)
  • [Login](https://cloud.konghq.com/login)Login
  • [Book Demo](/contact-sales)Book Demo
  • [Get Started](/products/kong-konnect/register)Get Started
[Blog](/blog)Blog
  • [AI Gateway](/blog/tag/ai-gateway)AI Gateway
  • [AI Security](/blog/tag/ai-security)AI Security
  • [AIOps](/blog/tag/aiops)AIOps
  • [API Security](/blog/tag/api-security)API Security
  • [API Gateway](/blog/tag/api-gateway)API Gateway
|
    • [API Management](/blog/tag/api-management)API Management
    • [API Development](/blog/tag/api-development)API Development
    • [API Design](/blog/tag/api-design)API Design
    • [Automation](/blog/tag/automation)Automation
    • [Service Mesh](/blog/tag/service-mesh)Service Mesh
    • [Insomnia](/blog/tag/insomnia)Insomnia
    • [Event Gateway](/blog/tag/event-gateway)Event Gateway
    • [View All Blogs](/blog/page/1)View All Blogs
We're Entering the Age of AI Connectivity [Read more](/blog/news/the-age-of-ai-connectivity)Read moreProducts & Agents:
    • [Kong AI Gateway](/products/kong-ai-gateway)Kong AI Gateway
    • [Kong API Gateway](/products/kong-gateway)Kong API Gateway
    • [Kong Event Gateway](/products/event-gateway)Kong Event Gateway
    • [Kong Metering & Billing](/products/usage-based-metering-and-billing)Kong Metering & Billing
    • [Kong Insomnia](/products/kong-insomnia)Kong Insomnia
    • [Kong Konnect](/products/kong-konnect)Kong Konnect
  • [Documentation](https://developer.konghq.com)Documentation
  • [Book Demo](/contact-sales)Book Demo
  1. Home
  2. Blog
  3. Engineering
  4. Kong Data Plane Life Cycle With AWS Cloud Development Kit
[Engineering](/blog/engineering)Engineering
January 28, 2022
7 min read

# Kong Data Plane Life Cycle With AWS Cloud Development Kit

Claudio Acquaviva
Principal Architect, Kong

From the modern application platform perspective, products should allow architects and DevOps teams to support dynamic topologies. That means a multi-platform capability is required but not sufficient. In fact, for several reasons, companies are looking for hybrid deployments to run their applications on several platforms simultaneously. Moreover, the topology should support and adjust for new and continuous architecture changes.

## Supporting Modern Application Architectures

Currently, companies are modernizing application development, refactoring existing applications from [monoliths to microservices](https://konghq.com/blog/learning-center/monolith-vs-microservices)monoliths to microservices. At the same time, companies should transfer workloads running on-premises to other environments, including cloud or multi-cloud-based platforms.

In summary, product vendors and their products should follow and support any technical decisions the customers will make along the way.

To address these fundamental and critical requirements, Kong designed [Kong Konnect](https://konghq.com/kong-konnect)Kong Konnect. Its Hybrid Mode provides a flexible and scalable deployment capability to support the microservices-based application architecture life cycle.

In such a deployment, the [API gateway](https://konghq.com/blog/learning-center/what-is-an-api-gateway)API gateway splits into two main sublayers:

  • - Control Plane (CP): The CP is responsible for administrative tasks, including API and policy definition and life cycle.
  • - Data Plane (DP): The DP receives and exposes the APIs created by the CP so consumers can send requests to it. Moreover, it controls the API exposure with the policies previously made by the CP.

The diagram below illustrates a typical Kong Konnect Hybrid Mode deployment:

Control Plane vs Data Plane Konnect

You can think about this deployment from another perspective:

  • - The CP is implemented in a very stable environment, used only by admins to deal with the APIs and policies life cycle.
  • - The DP is implemented in a very dynamic environment, with instances being deployed and destroyed all the time to support new technical requirements, throughput, topology adjustments, etc.

The flexible capabilities provided by the DPs fit perfectly with the workload transfer process behind them, transforming and refactoring current monolith-based applications into distributed [microservices](https://konghq.com/blog/learning-center/what-are-microservices)microservices running on multiple platforms.

From the API life cycle and CPs perspective, this intense transformation process should produce a minimum impact across existing and new applications.

Learn more about [Control Plane vs Data Plane](https://konghq.com/blog/learning-center/control-plane-vs-data-plane)Control Plane vs Data Plane

## Data Plane Life Cycle

During a new DP incarnation process, four topics need to be solved.

### Data Plane Runtime

The DP deploys on different runtimes in a hybrid environment, including VMs, Docker, [Kubernetes](https://konghq.com/blog/learning-center/what-is-kubernetes)Kubernetes, etc. Again, regardless of those runtimes, logically speaking, we’re still managing a single Kong Konnect gateway cluster.

### Control Plane/Data Plane Communication

The DP/CP communication is based on secure mTLS encrypted tunnels. Before getting a new DP instance up and running, we should handle the digital certificate/key pair distribution. Kong provides two main modes for it:

  • - Default Shared mode: Kong CLI generates the pair and distributes it across the CP and DPs.
  • - PKI mode: The CP and DPs rely on a central certificate authority (CA). Kong validates both sides by checking if they are from the same CA.

### Kong Enterprise License

The CP and all DPs should have the Kong Enterprise license injected; otherwise, they won’t be able to take advantage of several capabilities including, for instance:

  • - Enterprise plugins, like [OIDC](https://docs.konghq.com/hub/kong-inc/openid-connect)OIDC, [mTLS](https://docs.konghq.com/hub/kong-inc/mtls-auth)mTLS, [Kafka](https://docs.konghq.com/hub/kong-inc/kafka-upstream)Kafka, GraphQL integration, etc.
  • - Vitals to monitor Gateway health and performance
  • - DevPortal for Swagger/OpenAPI-based API documentation

### Life Cycle Automation

Considering the dynamic characteristics of the DP, the CP/DP communication and license topics, it’s important to have specific technologies and infrastructure to automate the DP life cycle and therefore implement a more robust and agile DP infrastructure to support the existing workloads.

## Kong Konnect and AWS

The following diagram depicts an example of a Kong Konnect deployment in AWS Cloud:

  • - The CP is running, for instance, in an Amazon Linux EC2 with ASG (Auto Scaling Group).
  • - The CP repository is implemented with Amazon RDS for PostgreSQL.
  • - DP 1 is running on Amazon ECS (Elastic Container Service).
  • - DP 2 is running on Amazon EKS (Elastic Kubernetes Service).
  • - Both DPs share a collection of AWS Services like Cognito for OIDC-based authentication processes, ElastiCache for Redis for rate limiting and caching, and OpenSearch for Log processing.
  • - Both ECS and EKS provide high availability and elasticity for the DPs.
  • - DPs protect service- and microservices-based workloads running in their environments.

Other AWS runtimes could be included or removed in and from our topology to satisfy and support the service and microservice workload migration and evolution, such as another EKS Cluster running in the same or new AWS region, EKS Anywhere running on premises, etc.

Moreover, we should include new AWS Services to help us with the digital certificate/key pair process for mTLS tunnels and a safe place to store the Kong Enterprise license. The following diagram includes AWS Secrets Manager and ACM (AWS Certificate Manager) to implement those processes:

AWS Secrets Manager and AWS Certificate Manager for Kong Konnect

[AWS Certificate Manager Private Certificate Authority](https://aws.amazon.com/certificate-manager/private-certificate-authority)AWS Certificate Manager Private Certificate Authority provides a secure way to create a private CA and use it to create and manage private certificates and keys for the Kong Konnect Cluster. [AWS Secrets Manager](https://aws.amazon.com/secrets-manager)AWS Secrets Manager helps us to protect secrets like the Kong Konnect license.

However, we are still not addressing the DP life cycle automation. The first option to do it would be AWS CloudFormation.

## Data Plane Automation Option #1: AWS CloudFormation

[AWS CloudFormation](https://aws.amazon.com/cloudformation)AWS CloudFormation is an infrastructure as code (IaC) service that allows us to:

  • - Provision AWS infrastructure deployments based on templates and declarations.
  • - Leverage AWS products and third-party resources like Kong. This is particularly important for a Kong deployment since it usually runs on top of AWS run times and integrates AWS Services like Amazon ElastiCache, Cognito, OpenSearch, AMP/AMG, etc.
  • - Build scalable infrastructures in AWS Cloud without worrying about creating and configuring the underlying AWS infrastructure.

For example, below are CloudFormation template samples injecting the Kong Konnect Helm Charts to deploy both the [Control Plane](https://github.com/Kong/kong-aws-CDK-samples/blob/main/k4k8s-controlplane.yaml)Control Plane and [Data Plane](https://github.com/Kong/kong-aws-CDK-samples/blob/main/k4k8s-dataplane.yaml)Data Plane. Note that the template follows the same specific settings for both planes we normally use in regular Helm Chart-based deployments.

We can deploy the CP and DP with commands like these:

aws cloudformation create-stack --stack-name k4k8s-controlplane-eks --template-body \
file://k4k8s-controlplane.yaml \
--parameters \
ParameterKey=EKSClusterName,ParameterValue=CF-k4k8s \
ParameterKey=Namespace,ParameterValue=kong \
ParameterKey=Name,ParameterValue=kong



aws cloudformation create-stack --stack-name k4k8s-dataplane-eks --template-body \
file://k4k8s-dataplane.yaml \
--parameters \
ParameterKey=EKSClusterName,ParameterValue=CF-k4k8s \
ParameterKey=Namespace,ParameterValue=kong-dp \
ParameterKey=Name,ParameterValue=kong-dp

## Data Plane Automation Option #2: AWS Cloud Development Kit

While managing AWS CloudFormation YAML and JSON-based templates sounds like a straightforward process, they are not programming languages. Moreover, adding more functionalities to our deployments becomes a hard maintenance process with increasing and multiple versions of templates.

The [AWS Cloud Development Kit](https://aws.amazon.com/cdk)AWS Cloud Development Kit (CDK) introduces a new level of abstraction to CloudFormation-based deployments. Developers can write infrastructure as code using an object model to define reusable AWS and third-party components using several programming languages (TypeScript, JavaScript, Python, Go, Java and C#). Then, synthesize it into CloudFormation templates to provision resources.

Check the [AWS CDK Developer Guide](https://docs.aws.amazon.com/cdk/latest/guide/home.html)AWS CDK Developer Guide to learn more about it.

## AWS CDK Construct Library

The Construct Library within the AWS CDK includes a range of constructs to provision AWS resources. AWS provides the [Construct Library Hub](https://constructs.dev)Construct Library Hub with all official Construct Libraries to manage AWS resources and new ones for third-party resources.

For example, here’s a TypeScript snippet showing how to use the [Amazon EKS Construct Library](https://constructs.dev/packages/@aws-cdk/aws-eks)Amazon EKS Construct Library:

// include the EKS Construct Library
const eks = require("@aws-cdk/aws-eks");

// provisioning a cluster
const cluster = new eks.Cluster(this, 'hello-eks', {
  version: eks.KubernetesVersion.V1_21,
});

// apply a kubernetes manifest to the cluster
cluster.addManifest('kongpod', {
  apiVersion: 'v1',
  kind: 'Pod',
  metadata: { name: 'kongpod' },
  spec: {
    containers: [
      {
        name: 'kong',
        image: 'claudioacquaviva/sampleapp',
        ports: [ { containerPort: 5000 } ]
      }
    ]
  }
});

Check the [AWS CDK Construct Library API Reference](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-construct-library.html)AWS CDK Construct Library API Reference to learn more about the existing CDK libraries.

## Kong Konnect Hybrid Mode CDK Deployment

The AWS CDK enables developers to define end-to-end AWS infrastructures, including several Construct Libraries in the same CDK program.

The following diagram depicts the deployment of Kong Konnect Hybrid Mode with AWS CDK. Developers define reusable cloud components known as Constructs. They are composed together into Stacks and Applications.

Kong Konnect Hybrid Mode AWS CDK Deployment

A TypeScript CDK Application to do the task would look like this:

import { UpdatePolicy } from '@aws-cdk/aws-autoscaling';
import { InstanceClass, InstanceSize, InstanceType, IVpc } from '@aws-cdk/aws-ec2';
import { EndpointAccess, KubernetesVersion, MachineImageType } from '@aws-cdk/aws-eks';
import * as eks from '@aws-cdk/aws-eks';
import { PostgresEngineVersion } from '@aws-cdk/aws-rds';
import { App, Construct, Stack, StackProps } from '@aws-cdk/core';
import * as KongCP from 'kong-control-plane';
import * as KongDP from 'kong-data-plane';

const telemetry_dns = 'telemetry.kong-cp.internal';
const cluster_dns = 'cluster.kong-cp.internal';


export class KongCpEks extends Stack {

  public readonly control_plane: eks.Cluster;
  public readonly private_ca_arn : string;

  constructor(scope: Construct, id: string, props: StackProps = {} ) {
    super(scope, id, props);

    const kong_control_plane = new KongCP.KongEks(this, 'KongEksCp', {
      telemetryDns: telemetry_dns,
      clusterDns: cluster_dns,
      namespace: 'kong',
      controlPlaneClusterProps: {
        clusterName: 'kong-cp',
        version: KubernetesVersion.V1_21,
        defaultCapacity: 0,
        endpointAccess: EndpointAccess.PUBLIC_AND_PRIVATE,
      },
      controlPlaneNodeProps: {
        instanceType: InstanceType.of(InstanceClass.T3, InstanceSize.LARGE),
        machineImageType: MachineImageType.AMAZON_LINUX_2,
        minCapacity: 2,
      },
      rdsProps: {
        postgresversion: PostgresEngineVersion.VER_12_7,
        databasename: 'kongdb',
        username: 'kongadmin',
      },
    });

    this.control_plane = kong_control_plane.controlPlane;
    this.private_ca_arn = kong_control_plane.privateCaArn;
  }
}




interface KongDpEksStackProps extends StackProps {
  vpc: IVpc;
  cluster_dns: String;
  telemetry_dns: String;
  private_ca_arn: string;

}

export class KongDpEks extends Stack {
  constructor(scope: Construct, id: string, props: KongDpEksStackProps) {
    super(scope, id, props);

    new KongDP.KongEks(this, 'KongEksDp', {
      dataPlaneClusterProps: {
        clusterName: 'kong-dp',
        version: KubernetesVersion.V1_21,
        defaultCapacity: 0,
        endpointAccess: EndpointAccess.PUBLIC_AND_PRIVATE,
        vpc: props.vpc,
      },
      dataPlaneNodeProps: {
        instanceType: InstanceType.of(InstanceClass.T3, InstanceSize.LARGE),
        machineImageType: MachineImageType.BOTTLEROCKET,
        minCapacity: 2,
        updatePolicy: UpdatePolicy.rollingUpdate(),
      },
      clusterDns: props.cluster_dns,
      telemetryDns: props.telemetry_dns,
      privateCaArn: props.private_ca_arn,
    });
  }
}




const devEnv = {
  account: process.env.CDK_DEFAULT_ACCOUNT,
  region: 'us-east-1',
};

const app = new App();

const kong_control_plane = new KongCpEks(app, 'kong-cp', { env: devEnv });

new KongDpEks(app, 'kong-dp', {
  env: devEnv,
  cluster_dns: cluster_dns,
  vpc: kong_control_plane.control_plane.vpc,
  telemetry_dns: telemetry_dns,
  private_ca_arn: kong_control_plane.private_ca_arn,
});

app.synth();

Note that the program defines two CDK Stacks: **KongCpEks** and **KongDpEks**.

Each stack defines its own Construct, including a Kong instance (playing the CP or DP role) and the related AWS Services each one of them requires.

For example, the KongCpEKS Stack’s Construct instantiates an EKS Cluster and an RDS for the PostgreSQL database. Similarly, KongDpEKS Stack’s Construct needs a single EKS Cluster. Of course, since it’s a DP, it could also include instances of ElastiCache for Redis or Cognito to implement specific API gateway policies.

The two constants defined at the very beginning of our code are DNS references to the CP endpoints, which must be accessible by all DPs. Check the [Hybrid Mode Kong Enterprise documentation](https://docs.konghq.com/enterprise/2.6.x/deployment/hybrid-mode-setup)Hybrid Mode Kong Enterprise documentation to learn more about those endpoints.

const telemetry_dns = 'telemetry.kong-cp.internal';
const cluster_dns = 'cluster.kong-cp.internal';
  • - cluster_dns: the address for the CP/DP connection.
  • - telemetry_dns: for Vitals telemetry data

Also, the CP creates an ACM Private CA so both lanes can store their respective Digital Certificate/Private Key pair.

CP stores the Private CA reference here:

this.private_ca_arn = kong_control_plane.privateCaArn;

As the DP uses it later:

private_ca_arn: kong_control_plane.private_ca_arn,

## Kong Konnect Construct Libraries

We can see that the code above imports several official standard CDK Construct Libraries. For example:

  • - @aws-cdk/aws-eks to manage EKS Clusters for both the CP and DP
  • - @aws-cdk/aws-rds to instantiate an RDS for PostgreSQL database for the CP

Besides these Libraries, the code refers to new ones:

import * as KongCP from 'kong-control-plane';
import * as KongDP from 'kong-data-plane';

These are custom Kong Konnect CDK Libraries to abstract all CP and DP dependencies.

Take a look at the following Kong DP CDK Library snippet:

......
const eks = require("@aws-cdk/aws-eks");
const kms = require("@aws-cdk/aws-kms");
const core_1 = require("@aws-cdk/core");
const kong_core_1 = require("kong-core");
const index_1 = require("./resources/helm-charts/kong/index");

class KongEks extends core_1.Construct {
    constructor(scope, id, props) {
        super(scope, id);
        const kong_namespace = 'kong-dp';
        const data_plane_secretskey = new kms.Key(this, 'DPSecretsKey');
        const data_plane = new eks.Cluster(this, 'DP', {
            ...props.dataPlaneClusterProps,
            secretsEncryptionKey: data_plane_secretskey,
            defaultCapacity: 0,
        });
        new kong_core_1.ElastiCacheStack(this, 'KongCache', {
            numberofnodegroups: 3,
            vpc: data_plane.vpc,
        });
        new kong_core_1.SecretsManager(this, 'KongSMProvider', {
            cluster: data_plane,
            nodegroup: dp_nodegroup,
            namespace: kong_namespace,
        });
        new kong_core_1.CertManager(this, 'KongPCA', {
            cluster: data_plane,
            nodegroup: dp_nodegroup,
            namespace: kong_namespace,
            privateCaArn: props.privateCaArn,
            cacertname: 'kong-dp-ca-cert',
            clusterIssuerName: 'kong-dp-cluster-issuer',
            hostedZoneName: 'kong-dp.internal',
            dnsNames: [
                'kong-dp.internal',
                'admin.kong-cp.internal',
                'cluster.kong-cp.internal',
                'telemetry.kong-cp.internal',
                'manager.kong-cp.internal',
            ],
        });
        new index_1.KongDataPlane(this, 'KongCPHelmInstall', {
            cluster: data_plane,
            namespace: kong_namespace,
            cluster_dns: props.clusterDns,
            telemetry_dns: props.telemetryDns,
        });
    }
}
......

The line below creates the EKS Cluster.

const data_plane = new eks.Cluster(this, 'DP', {
            ...props.dataPlaneClusterProps,
            secretsEncryptionKey: data_plane_secretskey,
            defaultCapacity: 0,
        });

This other one deals with the ElastiCache for Redis for the DP to use. As you can see, the kong_code_1 constant refers to another Kong Konnect Construct Library responsible for creating the fundamental AWS services.

 new kong_core_1.ElastiCacheStack(this, 'KongCache', {
            numberofnodegroups: 3,
            vpc: data_plane.vpc,
        });

Check the following Kong GitHub repos to learn more about the Kong Konnect CDK Construct Libraries:

  • - [Kong Konnect Control Plane CDK Construct Library](https://github.com/Kong/kong-aws-CDK-CP)Kong Konnect Control Plane CDK Construct Library
  • - [Kong Konnect Data Plane CDK Construct Library](https://github.com/Kong/kong-aws-CDK-DP)Kong Konnect Data Plane CDK Construct Library
  • - [Kong Konnect Core CDK Construct Library](https://github.com/Kong/kong-aws-CDK-core)Kong Konnect Core CDK Construct Library

Besides the Construct Libraries, check the [CDK sample application](https://github.com/Kong/kong-aws-CDK-samples)CDK sample application we explored in this post. For product-ready environments, the CDK Application will be managing other aspects of the deployment, including AWS regions, the number of DPs to be instantiated, etc.

## Conclusion

The AWS Cloud Development Kit first brings a higher level of abstraction for the concept of IaC. The possibility to define deployment logic using best-of-breed programming languages available today is its main benefit.

For applications like Kong Konnect, which provides a highly dynamic and diverse environment for API consumption, the AWS CDK becomes a powerful tool to manage ​DPs and all usual AWS services integrated to implement typical policies for this layer.

Join us in an upcoming webinar to discuss and demo a Kong Enterprise deployment and AWS Services with the CDK.

This is the first post in a series of three exploring AWS CDK technology with Kong Konnect. The next posts will focus on implementing mTLS encrypted tunnels required in a Kong deployment with AWS CA and how to use AWS Secrets Manager to store Kong licenses.

- [API Management](/blog/tag/api-management)API Management- [Cloud](/blog/tag/cloud)Cloud- [AWS](/blog/tag/aws)AWS

## More on this topic

_Videos_

## Lessons Learned in Migrating to a Modern API Management Solution on AWS from Netscaler

_Webinars_

## Migrate and Modernize API Management Using Kong on AWS

## See Kong in action

Accelerate deployments, reduce vulnerabilities, and gain real-time visibility. 

[Get a Demo](/contact-sales)Get a Demo
**Topics**
- [API Management](/blog/tag/api-management)API Management- [Cloud](/blog/tag/cloud)Cloud- [AWS](/blog/tag/aws)AWS
Claudio Acquaviva
Principal Architect, Kong

Recommended posts

# Get Gravitas and Go Amazonian: Kong Validated for AWS Graviton3, Amazon Linux 2023 OS

[Engineering](/blog)EngineeringJune 26, 2023

Today, we're thrilled to announce that Kong Enterprise and Kong Konnect Data Planes are now validated to run on AWS Graviton3 processors and Amazon Linux 2023 OS. As an APN Advanced Tier Partner of AWS, we were delighted to have the opportunity to

Claudio Acquaviva
[](https://konghq.com/blog/engineering/validated-aws-graviton3-al2023)

# Kong for AWS: How Cargill Uses Kong

[Enterprise](/blog)EnterpriseJuly 8, 2020

In support of our partnership with AWS, we're re-examining how some of our major customers today are using Kong with AWS. To this end, let's look at our popular case study with Cargill. For over 150 years, Cargill has been on a mission to nourish t

Kong
[](https://konghq.com/blog/enterprise/kong-for-aws-how-cargill-uses-kong)

# Kong Simplifies Multicloud Cloud Gateways with Managed Redis Cache

[Product Releases](/blog)Product ReleasesMarch 12, 2026

Managed Redis cache is a turnkey "Shared State" add-on for Kong Dedicated Cloud Gateways. It is designed to combine the performance of an in-memory data store with the simplicity of a SaaS product. When you spin up a Dedicated Cloud Gateway in Kong

Amit Shah
[](https://konghq.com/blog/product-releases/multicloud-cloud-gateways-managed-redis-cache)

# Kong Konnect RESTful Admin APIs and AWS AppSync GraphQL Services - Part I: Query

[Engineering](/blog)EngineeringSeptember 20, 2023

GraphQL  is a query language to enable applications to fetch data from servers. In fact, as it isn't tied to any specific database or storage engine, GraphQL can aggregate data from multiple sources to create a natural representation of your data.

Claudio Acquaviva
[](https://konghq.com/blog/engineering/restful-admin-apis-aws-appsync-graphql-services)

# API Gateway vs Load Balancer: Which is Right for Your Application?

[Engineering](/blog)EngineeringApril 25, 2023

API gateways and load balancers are useful tools for building modern applications. While they have some functionality overlaps, they're distinct tools with different purposes and use cases. In this article, we'll discuss the differences between API

Ahmed Koshok
[](https://konghq.com/blog/engineering/api-gateway-vs-load-balancer)

# Reach for the Clouds: A Crawl/Walk/Run Strategy with Kong and AWS

[Engineering](/blog)EngineeringApril 24, 2023

I once heard someone say, "What the cloud migration strategies lack at the moment is a methodology to Lift-and-Shift connections to the cloud." Let's digest that. In today's landscape, maintaining a competitive edge and delivering a high-quality cus

Danny Freese
[](https://konghq.com/blog/engineering/crawl-walk-run-strategy)

# Implementing a Hybrid Kong Konnect Data Plane in Amazon ECS

[Engineering](/blog)EngineeringMarch 22, 2023

Application Modernization projects often require their workloads to run on multiple platforms which requires a hybrid model. Kong Konnect is an API lifecycle management platform delivered as a service. The Control Plane, responsible for admin tasks,

Claudio Acquaviva
[](https://konghq.com/blog/engineering/implementing-a-hybrid-kong-konnect-data-plane-in-amazon-ecs)

## Ready to see Kong in action?

Get a personalized walkthrough of Kong's platform tailored to your architecture, use cases, and scale requirements.

[Get a Demo](/contact-sales)Get a Demo
Ask AI for a summary of Kong
  • [](https://chatgpt.com/s/t_69b981cfa37081919ce25ce107c431c1)
  • [](https://share.google/aimode/hyefOiNwl8pg8W99d)
  • [](https://www.perplexity.ai/search/what-solutions-does-kong-offer-VsYWPddxQjajgvLA4B9hjQ)
Stay connected

## step-0

    • Company
    • [About Kong](/company/about-us)About Kong
    • [Customers](/customer-stories)Customers
    • [Careers](/company/careers)Careers
    • [Press](/company/press-room)Press
    • [Events](/events)Events
    • [Contact](/company/contact-us)Contact
    • [Pricing](/pricing)Pricing
    • Legal
    • [Terms](/legal/terms-of-use)Terms
    • [Privacy](/legal/privacy-policy)Privacy
    • [Trust and Compliance](https://trust.konghq.com)Trust and Compliance
    • Platform
    • [Kong AI Gateway](/products/kong-ai-gateway)Kong AI Gateway
    • [Kong Konnect](/products/kong-konnect)Kong Konnect
    • [Kong Gateway](/products/kong-gateway)Kong Gateway
    • [Kong Event Gateway](/products/event-gateway)Kong Event Gateway
    • [Kong Insomnia](/products/kong-insomnia)Kong Insomnia
    • [Documentation](https://developer.konghq.com)Documentation
    • [Book Demo](/contact-sales)Book Demo
    • Compare
    • [AI Gateway Alternatives](/performance-comparison/ai-gateway-alternatives)AI Gateway Alternatives
    • [Kong vs Apigee](/performance-comparison/kong-vs-apigee)Kong vs Apigee
    • [Kong vs IBM](/performance-comparison/ibm-api-connect-vs-kong)Kong vs IBM
    • [Kong vs Postman](/performance-comparison/kong-vs-postman)Kong vs Postman
    • [Kong vs Mulesoft](/performance-comparison/kong-vs-mulesoft)Kong vs Mulesoft
    • Explore More
    • [Open Banking API Solutions](/solutions/open-banking)Open Banking API Solutions
    • [API Governance Solutions](/solutions/api-governance)API Governance Solutions
    • [Istio API Gateway Integration](/solutions/istio-gateway)Istio API Gateway Integration
    • [Kubernetes API Management](/solutions/build-on-kubernetes)Kubernetes API Management
    • [API Gateway: Build vs Buy](/campaign/secure-api-scalability)API Gateway: Build vs Buy
    • [Kong vs Apigee](/performance-comparison/kong-vs-apigee)Kong vs Apigee
    • Open Source
    • [Kong Gateway](https://developer.konghq.com/gateway/install/)Kong Gateway
    • [Kuma](https://kuma.io/)Kuma
    • [Insomnia](https://insomnia.rest/)Insomnia
    • [Kong Community](/community)Kong Community

Kong enables the connectivity layer for the agentic era – securely connecting, governing, and monetizing APIs and AI tokens across any model or cloud.

  • Japanese
  • Frenchcoming soon
  • Spanishcoming soon
  • Germancoming soon
© Kong Inc. 2026
Interaction mode