AWS::RDS::DBParameterGroup - AWS CloudFormation

AWS::RDS::DBParameterGroup

The AWS::RDS::DBParameterGroup resource creates a custom parameter group for an RDS database family.

This type can be declared in a template and referenced in the DBParameterGroupName property of an AWS::RDS::DBInstance resource.

For information about configuring parameters for Amazon RDS DB instances, see Working with parameter groups in the Amazon RDS User Guide.

For information about configuring parameters for Amazon Aurora DB instances, see Working with parameter groups in the Amazon Aurora User Guide.

Note

Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::RDS::DBParameterGroup", "Properties" : { "DBParameterGroupName" : String, "Description" : String, "Family" : String, "Parameters" : Json, "Tags" : [ Tag, ... ] } }

YAML

Type: AWS::RDS::DBParameterGroup Properties: DBParameterGroupName: String Description: String Family: String Parameters: Json Tags: - Tag

Properties

DBParameterGroupName

The name of the DB parameter group.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

If you don't specify a value for DBParameterGroupName property, a name is automatically created for the DB parameter group.

Note

This value is stored as a lowercase string.

Required: No

Type: String

Pattern: ^[a-zA-Z]{1}(?:-?[a-zA-Z0-9])*$

Update requires: Replacement

Description

Provides the customer-specified description for this DB parameter group.

Required: Yes

Type: String

Update requires: Replacement

Family

The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.

To list all of the available parameter group families for a DB engine, use the following command:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine <engine>

For example, to list all of the available parameter group families for the MySQL DB engine, use the following command:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine mysql

Note

The output contains duplicates.

The following are the valid DB engine values:

  • aurora-mysql

  • aurora-postgresql

  • db2-ae

  • db2-se

  • mysql

  • oracle-ee

  • oracle-ee-cdb

  • oracle-se2

  • oracle-se2-cdb

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

Required: Yes

Type: String

Update requires: Replacement

Parameters

An array of parameter names and values for the parameter update. You must specify at least one parameter name and value.

For more information about parameter groups, see Working with parameter groups in the Amazon RDS User Guide, or Working with parameter groups in the Amazon Aurora User Guide.

Note

AWS CloudFormation doesn't support specifying an apply method for each individual parameter. The default apply method for each parameter is used.

Required: No

Type: Json

Update requires: No interruption

Tags

Tags to assign to the DB parameter group.

Required: No

Type: Array of Tag

Maximum: 50

Update requires: No interruption

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the name of the DB parameter group.

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

DBParameterGroupName

The name of the DB parameter group.

Examples

Create a parameter group for a MySQL DB instance

The following example creates a parameter group for a MySQL DB instance and sets the sql_mode, max_allowed_packet, and innodb_buffer_pool_size parameters.

JSON

"RDSDBParameterGroup": { "Type": "AWS::RDS::DBParameterGroup", "Properties": { "Description": "CloudFormation Sample MySQL Parameter Group", "Family": "mysql8.0", "Parameters": { "sql_mode": "IGNORE_SPACE", "max_allowed_packet": 1024, "innodb_buffer_pool_size": "{DBInstanceClassMemory*3/4}" } } }

YAML

RDSDBParameterGroup: Type: 'AWS::RDS::DBParameterGroup' Properties: Description: CloudFormation Sample MySQL Parameter Group Family: mysql8.0 Parameters: sql_mode: IGNORE_SPACE max_allowed_packet: 1024 innodb_buffer_pool_size: '{DBInstanceClassMemory*3/4}'