Amazon RDS - Modify Instance
Declaration
<AMAWSRDS ACTIVITY="modify_instance" INSTANCEID="text" INSTANCETYPE="text (options)" STORAGE="number" MASTERPWD="text" SECURITYGROUP="text" PARAMGRPOUP="text" BACKUPWINDOW="text" MAINTENENCEWINDOW="text" RESULTDATASET="text" APPLYFAST="yes/no" ACCESSKEY="text" SECRETKEY="text (encrypted)" SERVICEURL="text" PROXYHOST="text" USERAGENT="text" PROXYPORT="number" PROXYUSER="text" PROXYPWD="text (encrypted)" MAXERRORRETRY="number" SIGNMETHOD="text" SIGNVERSION="number" />
Description: Modifies a DB instance.
Practical Usage
Used to alter a DB instance, such as when upgrading to a larger DB instance class. Note that once this activity starts, the process cannot be stopped, and the DB instance is unavailable until a reboot is completed.
Connection Parameters
Property |
Type |
Required |
Default |
Markup |
Description |
---|---|---|---|---|---|
Connection |
|
|
|
|
Indicates where Amazon Web Service user credentials and preferences should originate from. This is a design mode parameter used only during task construction and configuration, thus, comprises no markup. The available options are:
|
Session |
Text |
Yes if connection is session-based |
RDSSession1 |
SESSION="RDSSession1" |
The name of an existing session to attach this activity to. This parameter is active only if the Connection parameter is set to Session. The default session name is 'RDSSession1'. |
Access key |
Text |
Yes if connection is host-based |
(Empty) |
ACCESSKEY= "022QF06E7MXBSH9DHM02" |
A 20-character alphanumeric string that uniquely identifies the owner of the AWS service account, similar to a username. This key along with a corresponding secret access key forms a secure information set that AWS uses to confirm a valid user's identity. This parameter is active only if the Connection parameter is set to Host. |
Secret Access key |
Text |
Yes if connection is host-based |
(Empty) |
SECRETKEY= "kWcrlUX5JEDGM/LtmEENI/ aVmYvHNif5zB+d9+ct" |
A 40-character string that serves the role as password to access the AWS service account. This along with an associated access key forms a secure information set that EC2 uses to confirm a valid user's identity. This parameter is active only if the Connection parameter is set to Host. |
User agent |
Text |
No |
AutoMate |
USERAGENT="AutoMate" |
The name of the client or application initiating requests to AWS. The default value is 'AutoMate'. |
Maximum retry on error |
Number |
No |
(Empty) |
MAXERRORRETRY="4" |
The total amount of times this activity should retry its request to the server before returning an error. Network components can generate errors anytime in the life of a request, thus, implementing retries can increase reliability. |
Service URL |
Text |
No |
(Empty) |
SERVICEURL= "https://rds.eu-west-1.amazonaws.com" |
The URL that provides the service endpoint. To make the service call to a different region, you can pass the region-specific endpoint URL. For example, entering https://rds.us-west-1.amazonaws.com points to US West (Northern California) region. A complete list of EC2 regions, accompanying endpoints and valid protocols can be found below under RDS Endpoints and Regions. |
Proxy host |
Text |
No |
(Empty) |
PROXYHOST="proxy.host.com" |
The host name (e.g., server.domain.com) or IP address (e.g., xxx.xxx.xxx.xxx) of the proxy server to use when connecting to AWS. |
Proxy port |
Number |
No |
(Empty) |
PROXYPORT="1028" |
The port that should be used to connect to the proxy server. |
Proxy username |
Text |
No |
(Empty) |
PROXYUSER="username" |
The username that should be used to authenticate connection with the proxy server (if required). |
Proxy password |
Text |
No |
(Empty) |
PROXYPWD="encrypted" |
The password that should be used to authenticate connection with the proxy server (if required). |
Signature method |
Text |
No |
(Empty) |
SIGNMETHOD="HmacSHA256" |
The signature method to use for signing the request. This provides a valid hashing algorithm for signature calculation. Valid AWS signature methods are HmacSHA1 and HmacSHA256. |
Signature version |
Number |
No |
(Empty) |
SIGNVERSION="2" |
The signature version for signing the request. Valid AWS signature versions are 2 and 4. The difference with version 4 is that it allows you to sign your message using a key that is derived from your secret access key rather than using the secret access key itself. |
Instance Parameters
Property |
Type |
Required |
Default |
Markup |
Description |
---|---|---|---|---|---|
Instance identifier |
Text |
Yes |
(Empty) |
INSTANCEID="my-test-1" |
The user-supplied unique name for the RDS instance to modify. This is the unique key that identifies a DB Instance. Note that the DB instance identifier must be unique for that customer in an AWS region. If the name is not in lowercase characters, it will be converted (e.g., my-test-1). Certain constraints are as follows:
|
Instance type |
Text (Options) |
Yes |
(Empty) |
INSTANCETYPE="db.m1.large" |
The type of RDS Instance to modify. The available DB instance classes are:
|
Master password |
Text |
Yes |
(Empty) |
MASTERPWD= "AM1sTPOFuKG75M=aME" |
The master password for the instance. Mainly the password used to log into MySQL. |
Port |
Number |
Yes |
3306 |
Port="2400" |
The RDS Instance's endpoint port. If this field is left blank (recommended), the default port for MySQL (3306) will be used. |
Size (GBs) |
Number |
Yes |
5 |
Size="6" |
The size of the RDS Instance in GB that's allocated for storage. Valid Range: 5-1024 GB. |
Security group |
Text |
No |
(Empty) |
SECURITYGROUP="myGroup" |
The name of the Amazon RDS security group. Note: If unspecified, the default security group will be specified. If it does not exist, it will be created for you. You can also select multiple security groups. |
Parameter group name |
Text |
No |
(Empty) |
PARAMGROUP="myParamGroup" |
The parameter group name. This is the customer-specified description for this DB parameter group. Note: If unspecified, the 'default.mysql5.1' parameter group will be used. If it does not exist, it will be created for you. You can only specify one RDS parameter group. |
Backup retention period |
Number |
No |
(Empty) |
BACKUPPERIOD="2" |
Specifies the desired length of your retention period in number of days. AWS performs regular backups of the RDS Instance. For typical workloads, you should be able to restore your database to any point in time within your retention period, up to the last five minutes. |
Preferred backup window |
Date |
No |
(Empty) |
BACKUPWINDOW="01:00-03:00" |
Specifies a 2-hour window (GMT time-zone) for backups (HH:MM-HH:MM). If this field is left blank, the default window will be used (03:00-05:00). AWS will automatically perform a daily backup of your database during your predefined backup window. |
Preferred maintenance window |
Date |
No |
(Empty) |
MAINTENANCEWINDOW= "Sun:5:00-Sun:9:00" |
Specifies a 4-hour window (GMT time-zone) during non peak time that's ideal for maintenance purposes (Example: Day:HH:MM-Day-HH:MM) If this field is left blank, the default window will be used (Sun:05:00-Sun:09:00). |
Apply immediately |
Yes/No |
No |
No |
APPLYFAST="yes" |
If set to YES, changes will take place immediately. Default value is set to NO. |
Create and populate dataset with RDS instance information |
Text |
No |
(Empty) |
RESULTDATASET="myDataset" |
The name of the dataset to create and populate with information regarding the RDS instance that was modified. More information regarding the individual fields this dataset creates can be found below under Datasets. |
Description tab - A custom description can be provided on the Description tab to convey additional information or share special notes about a task step.
Error Causes tab - Specify how this step should behave upon the occurrence of an error. (Refer to Task Builder > Error Causes Tab for details.)
On Error tab - Specify what AWE should do if this step encounters an error as defined on the Error Causes tab. (Refer to Task Builder > On Error Tab for details.)
RDS Endpoints and Regions
This table contains a complete list of Amazon Relational Database Service endpoints, along with their corresponding regions and supported protocols.
Endpoint |
Region |
Protocol |
---|---|---|
rds.us-east-1.amazonaws.com |
US East (Northern Virginia) Region |
HTTP and HTTPS |
rds.us-west-2.amazonaws.com |
US West (Oregon) Region |
HTTP and HTTPS |
rds.us-west-1.amazonaws.com |
US West (Northern California) Region |
HTTP and HTTPS |
rds.eu-west-1.amazonaws.com |
EU (Ireland) Region |
HTTP and HTTPS |
rds.ap-southeast-1.amazonaws.com |
Asia Pacific (Singapore) Region |
HTTP and HTTPS |
rds.ap-southeast-2.amazonaws.com |
Asia Pacific (Sydney) Region |
HTTP and HTTPS |
rds.ap-northeast-1.amazonaws.com |
Asia Pacific (Tokyo) Region |
HTTP and HTTPS |
rds.sa-east-1.amazonaws.com |
South America (Sao Paulo) Region |
HTTP and HTTPS |
Datasets
A dataset is a multiple column, multiple row container object. This activity creates and populates a dataset containing a specific set of fields. The table below describes these fields (assuming the dataset name assigned was theDataset).
Name |
Type |
Return Value |
---|---|---|
theDataset.AllocatedStorage |
Number |
The size of the RDS Instance in GB that's allocated for storage. |
theDataset.AvailabilityZone |
Text |
The availability zone where the RDS Instance was launched. (Example: us-east-1b) |
theDataset.BackupRetentionPeriod |
Number |
The number of days to retain automated backups initially set for the instance. |
theDataset.DBInstanceClass |
Text |
The compute and memory capacity of the DB Instance. (Example: db.m2.4xlarge) |
theDataset.DBInstanceIdentifier |
Text |
The user-supplied database identifier. This is the unique key that identifies a DB Instance. |
theDataset.DBInstanceStatus |
Text |
The current status of the Instance. (Example: deleted) |
theDataset.DBName |
Text |
The user-defined name of the initial database created when the instance was created. |
theDataset.DBParameterGroup |
Text |
The name of DB Parameter Group applied to the Instance. |
theDataset.DBSecurityGroup |
Text |
The name for the DB Security Group. (Example: mysecuritygroup) |
theDataset.EndPointAddress |
Text |
The address of the RDS Instance. This includes the Instance's name (AWS ID) and EC2 region. (Example: myrds.chxspydgchoo.us-east-1.rds.amazonaws.com) |
theDataset.EndPointPort |
Number |
The RDS Instance's endpoint port. |
theDataset.Engine |
Text |
The name of the database engine (including version) to be used for this DB Instance. NOTE: Currently, Amazon RDS only supports mySQL. |
theDataset.InstanceCreateTime |
Date |
The date when the Instance was initially created, in UTC. |
theDataset.LatestRestorableTime |
Date |
The latest restorable date set for the DB. |
theDataset.MasterUsername |
Text |
The master username for the instance. This is the username used to log onto themySQL database. |
theDataset.PreferredBackupWindow |
Date |
The 2-hour window (GMT timezone) for backups initially set for the Instance. (Example: 03:00-05:00). |
theDataset.PreferredMaintenanceWindow |
Date |
The 4-hour window (GMT timezone) non peak time initially set for the instance used for maintenance purposes (Example: sun:05:00-sun:09:00).) |
Example
The sample AML code below can be copied and pasted directly into the Steps panel of the Task Builder.
Description: This session-based task demonstrates some of RDS activities. It creates a database instance and performs some modifications onto the new instance. Thereafter, it creates a snapshot of the newly modified instance then reboots. The last step ends the session.
<AMAWSRDS ACTIVITY="create_session" ACCESSKEY="AKIAJU2LHLMG6BA6BZTA" SECRETKEY="AM3m5RnKS1eh50=aME" USERAGENT="AutoMate" SESSION="MySession" />
<AMAWSRDS INSTANCEID="myRDSDatabase" INSTANCETYPE="db.m1.small" ZONE="us-east-1a" MASTERUSER="myName" MASTERPWD="AM16wP88TJPA0FX78Oon4bvjg==aME" PORT="3306" STORAGE="5" PROVIDER="session_based" SESSION="MySession" />
<AMAWSRDS ACTIVITY="modify_instance" INSTANCEID="myRDSDatabase" INSTANCETYPE="db.m1.large" STORAGE="10" APPLYFAST="yes" PROVIDER="session_based" SESSION="MySession" />
<AMAWSRDS ACTIVITY="create_snapshot" SNAPSHOTID="rdsSnap" INSTANCEID="myRDSDatabase" RESULTDATASET="theSnap" PROVIDER="session_based" SESSION="MySession" />
<AMAWSRDS ACTIVITY="reboot_instance" INSTANCEID="myRDSDatabase" PROVIDER="session_based" SESSION="MySession" />
<AMAWSRDS ACTIVITY="end_session" SESSION="MySession" />