Negotiable Paleobotanist Missions
    Have ideas to improve npm?Join in the discussion! »

    TypeScript icon, indicating that this package has built-in type declarations

    1.108.1 • Public • Published

    Amazon Redshift Construct Library

    cfn-resources: Stable

    All classes with the Cfn prefix in this module (CFN Resources) are always stable and safe to use.

    cdk-constructs: Experimental

    The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.

    Starting a Redshift Cluster Database

    To set up a Redshift cluster, define a Cluster. It will be launched in a VPC. You can specify a VPC, otherwise one will be created. The nodes are always launched in private subnets and are encrypted by default.

    import redshift = require('@aws-cdk/aws-redshift');
    const cluster = new redshift.Cluster(this, 'Redshift', {
        masterUser: {
          masterUsername: 'admin',

    By default, the master password will be generated and stored in AWS Secrets Manager.

    A default database named default_db will be created in the cluster. To change the name of this database set the defaultDatabaseName attribute in the constructor properties.

    By default, the cluster will not be publicly accessible. Depending on your use case, you can make the cluster publicly accessible with the publiclyAccessible property.


    To control who can access the cluster, use the .connections attribute. Redshift Clusters have a default port, so you don't need to specify the port:

    cluster.connections.allowFromAnyIpv4('Open to the world');

    The endpoint to access your database cluster will be available as the .clusterEndpoint attribute:

    cluster.clusterEndpoint.socketAddress;   // "HOSTNAME:PORT"

    Rotating credentials

    When the master password is generated and stored in AWS Secrets Manager, it can be rotated automatically:

    cluster.addRotationSingleUser(); // Will rotate automatically after 30 days

    The multi user rotation scheme is also available:

    cluster.addRotationMultiUser('MyUser', {
      secret: myImportedSecret

    This module is part of the AWS Cloud Development Kit project.


    npm i @aws-cdk/aws-redshift

    DownloadsWeekly Downloads






    Unpacked Size

    511 kB

    Total Files


    Last publish


    • avatar
    • avatar
    • avatar
    • avatar
    • avatar