Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(DBShardGroup) - RDS CloudFormation Aurora Limitless Support #577

Closed
wants to merge 8 commits into from

Conversation

angusy29
Copy link
Contributor

@angusy29 angusy29 commented Nov 7, 2024

https://aws.amazon.com/blogs/aws/amazon-aurora-postgresql-limitless-database-is-now-generally-available/

Description of changes:

RDS CloudFormation now supports creation of Aurora Limitless DBShardGroups.

A new DBShardGroup resource has been introduced allowing you to scale beyond existing Aurora limits for write throughput and storage by distributing database workload over multiple Aurora writer instances while maintaining the ability to use it as a single database.

To begin using a DBShardGroup, you need a DBCluster with ClusterScalabilityType set to Limitless.

Example:

AWSTemplateFormatVersion: 2010-09-09
Description: IAM role, DBCluster, and DBInstance required for DBShardGroup creation

Resources:
  EnhancedMonitoringAccessRole:
    Type: AWS::IAM::Role
    DeletionPolicy: Delete
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "monitoring.rds.amazonaws.com"
            Action: "sts:AssumeRole"
      ManagedPolicyArns:
        - !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole"
      PermissionsBoundary: !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole"
  DBCluster:
    Type: AWS::RDS::DBCluster
    DeletionPolicy: Delete
    Properties:
      ClusterScalabilityType: "limitless"
      EnableCloudwatchLogsExports:
        - postgresql
      Engine: "aurora-postgresql"
      EngineVersion: "16.4-limitless"
      MasterUsername: "username"
      MasterUserPassword: "password"
      MonitoringInterval: 60
      MonitoringRoleArn: !GetAtt EnhancedMonitoringAccessRole.Arn
      Port: 5432
      PerformanceInsightsEnabled: "true"
      PerformanceInsightsRetentionPeriod: 31
      StorageType: "aurora-iopt1"
  DBShardGroup:
    Properties:
      ComputeRedundancy: '0'
      DBClusterIdentifier: !Ref DBCluster
      MaxACU: '32'
      MinACU: '16'
      PubliclyAccessible: 'False'
      Tags:
        - Key: created-with
          Value: created-value
    Type: AWS::RDS::DBShardGroup

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants