CtrlK
BlogDocsLog inGet started
Tessl Logo

giuseppe-trisciuoglio/developer-kit

Comprehensive developer toolkit providing reusable skills for Java/Spring Boot, TypeScript/NestJS/React/Next.js, Python, PHP, AWS CloudFormation, AI/RAG, DevOps, and more.

82

Quality

82%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Risky

Do not use without reviewing

Validation failed for skills in this tile
One or more skills have errors that need to be fixed before they can move to Implementation and Discovery review.
Overview
Quality
Evals
Security
Files

reference.mdplugins/developer-kit-aws/skills/aws-cloudformation/aws-cloudformation-rds/references/

RDS CloudFormation Reference

This file contains detailed reference information for Amazon RDS CloudFormation resources.

Table of Contents


AWS::RDS::DBInstance

The AWS::RDS::DBInstance resource creates an Amazon RDS DB instance.

Required Properties

PropertyTypeDescription
DBInstanceClassStringThe compute and memory capacity of the DB instance
EngineStringThe name of the database engine

Optional Properties

PropertyTypeDefaultDescription
AllocatedStorageNumber-The allocated storage size in gibibytes (GiB)
AutoMinorVersionUpgradeBooleantrueWhether minor version upgrades are applied automatically
AvailabilityZoneString-The AZ for the DB instance
BackupRetentionPeriodNumber1The number of days to retain automated backups
DBInstanceIdentifierString-The identifier for the DB instance
DBNameString-The name of the initial database
DBParameterGroupNameString-The parameter group to associate
DBSecurityGroupsList-EC2-Classic security groups
DBSubnetGroupNameString-The subnet group for the DB instance
DeletionProtectionBooleanfalseWhether deletion protection is enabled
EnableIAMDatabaseAuthenticationBooleanfalseWhether IAM auth is enabled
EnablePerformanceInsightsBooleanfalseWhether Performance Insights is enabled
EngineVersionString-The version number of the database engine
KmsKeyIdString-The KMS key for encryption
LicenseModelString-The license model
MasterUsernameString-The master username
MasterUserPasswordString-The master user password
MonitoringIntervalNumber0The interval for monitoring
MonitoringRoleArnString-The IAM role for monitoring
MultiAZBooleanfalseWhether it's a Multi-AZ deployment
PerformanceInsightsKMSKeyIdString-The KMS key for Performance Insights
PerformanceInsightsRetentionPeriodNumber7The retention period for PI data
PortNumber-The port number
PreferredBackupWindowString-The backup window
PreferredMaintenanceWindowString-The maintenance window
PubliclyAccessibleBooleanfalseWhether it's publicly accessible
SourceDBInstanceIdentifierString-The source DB instance identifier
StorageEncryptedBooleanfalseWhether storage is encrypted
StorageTypeStringgp2The storage type
TagsList-Tags for the DB instance
VPCSecurityGroupsList-VPC security groups

Important Attributes

AttributeDescription
Endpoint.AddressThe DNS address of the DB instance
Endpoint.PortThe port number
Endpoint.HostedZoneIdThe hosted zone ID
ArnThe ARN of the DB instance
DBInstanceArnThe ARN of the DB instance

Important Notes

  • MasterUserPassword: Use NoEcho: true to hide the password
  • StorageEncrypted: Required for Multi-AZ and some instance types
  • MultiAZ: Creates a standby in a different AZ
  • DeletionProtection: Prevents accidental deletion, required for production
  • SourceDBInstanceIdentifier: Use for creating read replicas

Example

Resources:
  MyDBInstance:
    Type: AWS::RDS::DBInstance
    Properties:
      DBInstanceIdentifier: mydbinstance
      DBInstanceClass: db.t3.medium
      Engine: mysql
      EngineVersion: "8.0.35"
      MasterUsername: admin
      MasterUserPassword: !Ref DBPassword
      AllocatedStorage: 100
      StorageType: gp3
      DBSubnetGroupName: !Ref DBSubnetGroup
      VPCSecurityGroups:
        - !Ref DBSecurityGroup
      StorageEncrypted: true
      MultiAZ: true
      BackupRetentionPeriod: 35
      DeletionProtection: true

AWS::RDS::DBCluster

The AWS::RDS::DBCluster resource creates an Amazon Aurora DB cluster.

Required Properties

PropertyTypeDescription
EngineStringThe name of the database engine

Optional Properties

PropertyTypeDefaultDescription
AssociatedRolesList-IAM roles associated with the cluster
AvailabilityZonesList-The Availability Zones
BacktrackWindowNumber0The backtrack window
BackupRetentionPeriodNumber1The number of days for backups
ClusterIdentifierString-The cluster identifier
DatabaseNameString-The name of the initial database
DBClusterInstanceClassString-The compute and memory capacity
DBClusterParameterGroupNameString-The cluster parameter group
DBSubnetGroupNameString-The subnet group
DeletionProtectionBooleanfalseWhether deletion protection is enabled
EnableCloudwatchLogsExportsList-Log types to export
EnableHttpEndpointBooleanfalseWhether HTTP endpoint is enabled
EnableIAMDatabaseAuthenticationBooleanfalseWhether IAM auth is enabled
EngineModeString-The engine mode (provisioned or serverless)
EngineVersionString-The engine version
GlobalClusterIdentifierString-The global cluster identifier
KmsKeyIdString-The KMS key for encryption
MasterUsernameString-The master username
MasterUserPasswordString-The master user password
PortNumber-The port number
PreferredBackupWindowString-The backup window
PreferredMaintenanceWindowString-The maintenance window
ReplicationSourceIdentifierString-The source for replication
ScalingConfigurationMap-Serverless scaling configuration
StorageEncryptedBooleanfalseWhether storage is encrypted
TagsList-Tags for the cluster
VPCSecurityGroupsList-VPC security groups

Important Attributes

AttributeDescription
EndpointThe writer endpoint
ReadEndpointThe reader endpoint
Endpoint.AddressThe endpoint address
Endpoint.PortThe port number
ArnThe ARN of the DB cluster

Engine Modes

  • provisioned: Traditional provisioned capacity
  • serverless: Auto-scaling capacity
  • parallelquery: Optimized for analytics
  • global: Global database (used with GlobalClusterIdentifier)

ScalingConfiguration (Serverless)

ScalingConfiguration:
  AutoPause: true
  MinCapacity: 2
  MaxCapacity: 16
  SecondsUntilAutoPause: 300

Example

Resources:
  MyDBCluster:
    Type: AWS::RDS::DBCluster
    Properties:
      DBClusterIdentifier: my-aurora-cluster
      Engine: aurora-mysql
      EngineVersion: "8.0.mysql_aurora.3.02.0"
      MasterUsername: admin
      MasterUserPassword: !Ref DBPassword
      DatabaseName: mydb
      DBSubnetGroupName: !Ref DBSubnetGroup
      VPCSecurityGroups:
        - !Ref DBSecurityGroup
      StorageEncrypted: true
      EngineMode: provisioned
      Port: 3306
      EnableIAMDatabaseAuthentication: true
      BackupRetentionPeriod: 35
      DeletionProtection: true

  MyDBInstanceWriter:
    Type: AWS::RDS::DBInstance
    Properties:
      DBInstanceIdentifier: my-writer
      DBClusterIdentifier: !Ref MyDBCluster
      Engine: aurora-mysql
      DBInstanceClass: db.r5.large
      PromotionTier: 1

AWS::RDS::DBParameterGroup

The AWS::RDS::DBParameterGroup resource creates a custom parameter group for a DB instance.

Required Properties

PropertyTypeDescription
DescriptionStringThe description of the parameter group
FamilyStringThe parameter group family

Optional Properties

PropertyTypeDescription
DBParameterGroupNameStringThe name of the parameter group
ParametersMapThe parameters to set
TagsListTags for the parameter group

Common Parameters for MySQL

Parameters:
  # Connection settings
  max_connections: 200
  max_user_connections: 200

  # Memory settings
  innodb_buffer_pool_size: 1073741824
  innodb_buffer_pool_instances: 4

  # Query cache (MySQL 5.7 only)
  query_cache_type: 1
  query_cache_size: 268435456

  # Character set
  character_set_server: utf8mb4
  collation_server: utf8mb4_unicode_ci

  # Logging
  slow_query_log: "ON"
  long_query_time: 2
  log_queries_not_using_indexes: "ON"
  log_error_verbosity: 3

  # Timezone
  default_time_zone: "+00:00"

  # Timeout
  wait_timeout: 28800
  interactive_timeout: 28800

Common Parameters for PostgreSQL

Parameters:
  # Connection settings
  max_connections: 200
  superuser_reserved_connections: 3

  # Memory settings
  shared_buffers: 524288
  work_mem: 4096
  maintenance_work_mem: 524288
  effective_cache_size: 1572864

  # Query settings
  log_min_duration_statement: 2000
  log_connections: "ON"
  log_disconnections: "ON"
  log_lock_waits: "ON"

  # Temporary files
  log_temp_files: 0

  # Character set
  client_encoding: UTF8
  server_encoding: UTF8

Example

Resources:
  MyDBParameterGroup:
    Type: AWS::RDS::DBParameterGroup
    Properties:
      Description: MySQL 8.0 parameter group
      Family: mysql8.0
      Parameters:
        max_connections: 200
        innodb_buffer_pool_size: 1073741824
        character_set_server: utf8mb4
        collation_server: utf8mb4_unicode_ci
        slow_query_log: "ON"
        long_query_time: 2

AWS::RDS::DBClusterParameterGroup

The AWS::RDS::DBClusterParameterGroup resource creates a custom parameter group for a DB cluster (Aurora).

Required Properties

PropertyTypeDescription
DescriptionStringThe description of the parameter group
FamilyStringThe parameter group family

Optional Properties

PropertyTypeDescription
DBClusterParameterGroupNameStringThe name of the parameter group
ParametersMapThe parameters to set
TagsListTags for the parameter group

Common Parameters for Aurora MySQL

Parameters:
  # Connection settings
  max_connections: 1000
  max_connections_per_hour: 0

  # Memory settings
  innodb_buffer_pool_size: 2147483648
  innodb_buffer_pool_instances: 4

  # Query cache (Aurora MySQL 5.7 only)
  query_cache_type: 1
  query_cache_size: 268435456

  # Character set
  character_set_server: utf8mb4
  collation_server: utf8mb4_unicode_ci

  # Logging
  slow_query_log: "ON"
  long_query_time: 2

  # Aurora-specific
  aurora_enable_repl_bin_logging: 0
  aurora_use_relay_logs: 1

Common Parameters for Aurora PostgreSQL

Parameters:
  # Connection settings
  max_connections: 1000

  # Memory settings
  shared_buffers: 2097152
  work_mem: 32768
  maintenance_work_mem: 524288
  effective_cache_size: 6291456

  # Logging
  log_min_duration_statement: 2000
  log_connections: "ON"
  log_disconnections: "ON"

  # Aurora-specific
  rds.accepted_password_auth_max_retries: 10

Example

Resources:
  MyDBClusterParameterGroup:
    Type: AWS::RDS::DBClusterParameterGroup
    Properties:
      Description: Aurora MySQL 8.0 parameter group
      Family: aurora-mysql8.0
      Parameters:
        max_connections: 1000
        innodb_buffer_pool_size: 2147483648
        character_set_server: utf8mb4
        collation_server: utf8mb4_unicode_ci
        slow_query_log: "ON"
        long_query_time: 2

AWS::RDS::DBSubnetGroup

The AWS::RDS::DBSubnetGroup resource creates a DB subnet group for a DB instance or cluster.

Required Properties

PropertyTypeDescription
DBSubnetGroupDescriptionStringThe description of the subnet group
SubnetIdsListThe IDs of the subnets

Optional Properties

PropertyTypeDescription
DBSubnetGroupNameStringThe name of the subnet group
TagsListTags for the subnet group

Requirements

  • Must include at least 2 subnets in different Availability Zones
  • Subnets must be in the same VPC
  • All subnets must have available IP addresses

Example

Resources:
  MyDBSubnetGroup:
    Type: AWS::RDS::DBSubnetGroup
    Properties:
      DBSubnetGroupDescription: Subnet group for production RDS
      DBSubnetGroupName: production-rds-subnet-group
      SubnetIds:
        - !Ref PrivateSubnet1
        - !Ref PrivateSubnet2
        - !Ref PrivateSubnet3
      Tags:
        - Key: Environment
          Value: production

AWS::RDS::DBOptionGroup

The AWS::RDS::DBOptionGroup resource creates a DB option group for database features.

Required Properties

PropertyTypeDescription
EngineNameStringThe database engine name
MajorEngineVersionStringThe major engine version
OptionGroupDescriptionStringThe description of the option group

Optional Properties

PropertyTypeDescription
OptionGroupNameStringThe name of the option group
OptionsListThe options to configure
TagsListTags for the option group

Options

Oracle Options

Options:
  - OptionName: OEM
    OptionVersion: "19"
    Port: 5500
    VpcSecurityGroupMemberships:
      - !Ref OEMSecurityGroup
    OptionSettings:
      - Name: OMS_HOST
        Value: oms.example.com
      - Name: OMS_PORT
        Value: "9900"

  - OptionName: SSL
    OptionSettings:
      - Name: SQLNET.SSL_VERSION
        Value: "1.2"
      - Name: SQLNET.CIPHER_SUITE
        Value: "SSL_RSA_WITH_AES_256_CBC_SHA"

  - OptionName: APEX
    OptionVersion: "22.1.0"
    OptionSettings:
      - Name: APEX_LISTENER_PORT
        Value: "8080"
      - Name: APEX_WS_PORT
        Value: "8181"

SQL Server Options

Options:
  - OptionName: SQLSERVER_BACKUP
    OptionSettings:
      - Name: BACKUP_RETENTION_PERIOD
        Value: "15"

  - OptionName: SQLSERVER_AUDIT
    OptionSettings:
      - Name: S3_BUCKET_ARN
        Value: !Ref AuditLogBucketArn
      - Name: IAM_ROLE_ARN
        Value: !GetAtt AuditRole.Arn

Example

Resources:
  MyDBOptionGroup:
    Type: AWS::RDS::DBOptionGroup
    Properties:
      EngineName: oracle-ee
      MajorEngineVersion: "19"
      OptionGroupDescription: Oracle 19c option group with OEM
      OptionGroupName: oracle-19c-oem
      Options:
        - OptionName: OEM
          OptionVersion: "19"
          Port: 5500
          VpcSecurityGroupMemberships:
            - !Ref OEMSecurityGroup
        - OptionName: SSL
          OptionSettings:
            - Name: SQLNET.SSL_VERSION
              Value: "1.2"

AWS::RDS::EventSubscription

The AWS::RDS::EventSubscription resource creates an event subscription for RDS events.

Required Properties

PropertyTypeDescription
SnsTopicArnStringThe ARN of the SNS topic
SourceTypeStringThe source type (db-instance, db-cluster, etc.)

Optional Properties

PropertyTypeDefaultDescription
EnabledBooleantrueWhether the subscription is enabled
EventCategoriesList-The event categories
SourceIdsList-The source identifiers
SubscriptionNameString-The name of the subscription

Event Categories

CategoryDescription
availabilityAvailability zone issues
backupBackup operations
configuration changeConfiguration changes
creationResource creation
deletionResource deletion
failoverFailover events
low storageStorage issues
maintenanceMaintenance events
notificationGeneral notifications
read replicaRead replica events
recoveryRecovery events
restorationRestoration events

Example

Resources:
  MyEventSubscription:
    Type: AWS::RDS::EventSubscription
    Properties:
      SnsTopicArn: !Ref NotificationTopic
      SourceType: db-instance
      EventCategories:
        - availability
        - backup
        - configuration change
        - deletion
        - failover
        - maintenance
      SourceIds:
        - !Ref MyDBInstance
      Enabled: true

Engine Versions and Families

MySQL

FamilyVersions
mysql5.65.6.40, 5.6.41, 5.6.42, 5.6.44, 5.6.51
mysql5.75.7.26, 5.7.30, 5.7.32, 5.7.33, 5.7.37, 5.7.38, 5.7.39, 5.7.40, 5.7.41, 5.7.42
mysql8.08.0.11, 8.0.16, 8.0.17, 8.0.20, 8.0.23, 8.0.25, 8.0.26, 8.0.28, 8.0.32, 8.0.33, 8.0.35

PostgreSQL

FamilyVersions
postgres1111.9, 11.10, 11.11, 11.12, 11.13, 11.14, 11.15, 11.16, 11.17, 11.18, 11.20, 11.21, 11.22
postgres1212.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9, 12.10, 12.11, 12.12, 12.13, 12.14, 12.15, 12.17
postgres1313.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9, 13.10, 13.11, 13.12, 13.13, 13.14, 13.15
postgres1414.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 14.10, 14.11, 14.12, 14.13, 14.14
postgres1515.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8
postgres1616.1, 16.2, 16.3, 16.4

Aurora MySQL

FamilyVersions
aurora5.65.6.mysql_aurora.1.19.0, 5.6.mysql_aurora.1.19.1, 5.6.mysql_aurora.1.19.2, 5.6.mysql_aurora.1.19.5, 5.6.mysql_aurora.1.22.0, 5.6.mysql_aurora.1.22.1, 5.6.mysql_aurora.1.22.2, 5.6.mysql_aurora.1.22.3, 5.6.mysql_aurora.1.23.0, 5.6.mysql_aurora.1.23.1
aurora-mysql5.75.7.mysql_aurora.2.07.0, 5.7.mysql_aurora.2.07.1, 5.7.mysql_aurora.2.07.2, 5.7.mysql_aurora.2.07.3, 5.7.mysql_aurora.2.07.4, 5.7.mysql_aurora.2.07.5, 5.7.mysql_aurora.2.07.6, 5.7.mysql_aurora.2.08.0, 5.7.mysql_aurora.2.09.0, 5.7.mysql_aurora.2.09.1, 5.7.mysql_aurora.2.10.0, 5.7.mysql_aurora.2.10.1, 5.7.mysql_aurora.2.10.2, 5.7.mysql_aurora.2.11.0, 5.7.mysql_aurora.2.11.1, 5.7.mysql_aurora.2.12.0
aurora-mysql8.08.0.mysql_aurora.3.01.0, 8.0.mysql_aurora.3.01.1, 8.0.mysql_aurora.3.02.0, 8.0.mysql_aurora.3.02.1, 8.0.mysql_aurora.3.03.0, 8.0.mysql_aurora.3.04.0, 8.0.mysql_aurora.3.05.0

Aurora PostgreSQL

FamilyVersions
aurora-postgresql1111.9, 11.13, 11.14, 11.17, 11.18, 11.19, 11.20, 11.21
aurora-postgresql1212.4, 12.8, 12.9, 12.10, 12.11, 12.12, 12.13, 12.14
aurora-postgresql1313.3, 13.4, 13.6, 13.7, 13.8, 13.9, 13.10, 13.11, 13.12, 13.13, 13.14
aurora-postgresql1414.1, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 14.10, 14.11, 14.12
aurora-postgresql1515.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8

Instance Classes

General Purpose (Burstable)

Instance ClassvCPUMemory (GiB)
db.t3.micro21
db.t3.small22
db.t3.medium24
db.t3.large28
db.t3.xlarge416
db.t3.2xlarge832

General Purpose (Provisioned IOPS)

Instance ClassvCPUMemory (GiB)
db.m5.large28
db.m5.xlarge416
db.m5.2xlarge832
db.m5.4xlarge1664
db.m5.8xlarge32128
db.m5.12xlarge48192
db.m5.16xlarge64256
db.m5.24xlarge96384

Memory Optimized

Instance ClassvCPUMemory (GiB)
db.r5.large216
db.r5.xlarge432
db.r5.2xlarge864
db.r5.4xlarge16128
db.r5.8xlarge32256
db.r5.12xlarge48384
db.r5.16xlarge64512
db.r5.24xlarge96768

Aurora-Specific

Instance ClassvCPUMemory (GiB)Use Case
db.t3.medium24Development/test
db.r5.large216Production-small
db.r5.xlarge432Production-medium
db.r5.2xlarge864Production-large
db.r5.4xlarge16128Production-xlarge
db.r6g.large216Graviton-small
db.r6g.xlarge432Graviton-medium
db.r6g.2xlarge864Graviton-large

Common Configuration Options

Storage Types

Storage TypeDescriptionUse Case
gp2General Purpose SSDMost workloads
gp3General Purpose SSD (latest)Cost-effective, flexible IOPS
io1Provisioned IOPS SSDI/O-intensive, predictable performance
io2Provisioned IOPS SSD (newer)Highest durability, 99.999% SLA

Storage Encryption

StorageEncrypted: true
KmsKeyId: !Ref EncryptionKey

Multi-AZ Deployment

MultiAZ: true

Performance Insights

EnablePerformanceInsights: true
PerformanceInsightsRetentionPeriod: 731  # 2 years
PerformanceInsightsKMSKeyId: !Ref PIKey

Enhanced Monitoring

MonitoringInterval: 60  # seconds
MonitoringRoleArn: !GetAtt MonitoringRole.Arn

CloudWatch Logs Export

EnableCloudwatchLogsExports:
  - audit
  - error
  - general
  - slowquery

IAM Database Authentication

EnableIAMDatabaseAuthentication: true

Deletion Protection

DeletionProtection: true

Automatic Minor Version Upgrades

AutoMinorVersionUpgrade: false  # Disable for production

Backup Settings

BackupRetentionPeriod: 35  # 35 days for production
PreferredBackupWindow: "07:00-09:00"

Maintenance Settings

PreferredMaintenanceWindow: "sun:04:00-sun:05:00"
AutoMinorVersionUpgrade: false

Useful Links

plugins

developer-kit-aws

skills

aws-cloudformation

README.md

tile.json