Amazon RDS Custom automates database administration tasks and operations while enabling database administrators to access and customize the database environment and operating system to meet the requirements of legacy, custom, and packaged applications. Amazon RDS Custom brings the benefits of Amazon RDS to customers that have historically been unable to move to a fully-managed service due to the necessary customizations that are required with specific third-party applications. Amazon RDS Custom saves administrative time, is durable, and scales with the customer’s business.
With Amazon RDS Custom, you have access to the underlying EC2 instance that hosts the DB engine. You can access the EC2 instance via secure shell (AWS Systems Manager and SSH) and perform the customizations to suit your application needs. It is a best practice to take a DB snapshot and pause the Automation Mode before making any changes and to ensure that the Amazon RDS Custom automation does not interfere with the changes you are making.
The support perimeter determines if a customer-initiated customization of the database/operating system environment interferes or breaks the Amazon RDS automation (once Automation Mode is resumed, if previously paused). Customization of the host and database environment is supported as long as the changes do not put the RDS Custom database outside the support perimeter into a unsupported configuration.
The support perimeter checks are performed every 30 minutes under normal circumstances. The support perimeter will trigger a perimeter check via an event (e.g., Amazon Elastic Block Store (Amazon EBS) volume snapshot deletion), changes done via the AWS API to your resources, or changes done to operating system/database (e.g., sudo configs). However, the following special cases need to be considered:
- The Amazon RDS Custom agent is a critical component for ensuring RDS Custom functionality. If you uninstall this agent, the support perimeter will be triggered after 30 seconds and will move the DB instance outside the support perimeter.
- AWS Systems Manager Agent (SSM Agent) is another critical component that enables RDS Custom to run commands on the host remotely. If you uninstall the SSM Agent, the RDS Custom agent will try to recover by starting the SSM Agent. A support perimeter check will be triggered, and after three minutes of unsuccessful recovery, the SSM Agent will move the DB instance outside the support perimeter.
- The Amazon RDS Custom agent is a critical component for ensuring RDS Custom functionality. If you uninstall this agent, the support perimeter will be triggered after one minute and will move the DB instance outside the support perimeter.
- AWS Systems Manager Agent (SSM Agent) is another critical component that enables RDS Custom to run commands on the host remotely. If you uninstall the SSM Agent and the host becomes unreachable to the support perimeter, then your DB instance will be placed outside of the perimeter; if there is customer activity on the instance, this information is retrieved via events. If there is no customer activity on the host, recovery will be attempted first by rebooting the host. If that doesn’t fix the issue, the EC2 host will be stopped and started, and if that also doesn’t work, the EC2 host will be replaced.
Amazon RDS Custom can be managed similar to Amazon RDS and other Amazon Web Services offerings. It can be managed via AWS Management Console, AWS Command Line Interface (CLI), or RDS API. The API for Amazon RDS Custom is the same as Amazon RDS.
Please see the Amazon RDS Custom pricing page for pricing, regional availability, and instance class availability.
You can find additional info about Amazon RDS here.
Licensing and version support
Customers supply their database installation media files to create different versions of the database called custom engine versions (CEVs) to suit their needs. For example, customers will supply Oracle Database 19c and the corresponding patches and release updates (RU) they want to use on RDS Custom.
Amazon RDS Custom is available on Oracle Linux OS.
With Amazon RDS Custom for Oracle, customers bring their own media software and use customer-supplied licenses.
Customers are responsible for maintaining a third-party support agreement for customer-supplied database software and contacting such third-party for database specific service requests. If you have an active AWS Premium Support account, you can contact AWS Premium Support for Amazon RDS specific issues if your database is within the support perimeter.
You will first need to create a new CEV with the relevant patches and release updates that you want to upgrade to. Once the CEV is created, you can upgrade a database instance to the newly created CEV. Use the Modify DB Instance command on the AWS Management Console or the ModifyDBInstance API and set the DB Engine Version parameter to the desired version. By default, the upgrade will be applied during your next maintenance window. You can also choose to upgrade immediately by selecting the Apply Immediately option in the console API.
Automatic backups and database snapshots
Q: What is the difference between automated backups and DB snapshots?
Amazon RDS Custom provides two different methods for backing up and restoring your DB instance(s) — automated backups and database snapshots (DB snapshots).
The automated backup feature of Amazon RDS Custom enables point-in-time recovery of your DB instance. When automated backups are turned on for your DB instance, Amazon RDS Custom automatically performs a full daily snapshot of your data (during your preferred backup window) and captures transaction logs (as updates to your DB instance are made). When you initiate a point-in-time recovery, transaction logs are applied to the most appropriate daily backup in order to restore your DB instance to the specific time you requested. Amazon RDS retains backups of a DB Instance for a limited, user-specified period of time called the retention period, which by default is 7 days but can be set to up to 35 days. You can initiate a point-in-time restore and specify any second during your retention period, up to the Latest Restorable Time. You can use the DescribeDBInstances API to return the latest restorable time for your DB instance, which is typically within the last five minutes. Alternatively, you can find the Latest Restorable Time for a DB instance by selecting it in the AWS Management Console and looking in the “Description” tab in the lower panel of the Console.
DB snapshots are user-initiated and allow you to back up your DB instance in a known state as frequently as you wish, and then restore to that specific state at any time. DB snapshots can be created with the AWS Management Console, CreateDBSnapshot API, or create-db-snapshot command and are kept until you explicitly delete them.
The snapshots which Amazon RDS Custom performs for enabling automated backups are available to you for copying (using the AWS console or the copy-db-snapshot command) or for the snapshot restore functionality. You can identify them using the "automated" snapshot type. In addition, you can identify the time at which the snapshot has been taken by viewing the "Snapshot Created Time" field. Alternatively, the identifier of the "automated" snapshots also contains the time (in UTC) at which the snapshot has been taken.
Please note: When you perform a restore operation to a point in time or from a DB snapshot, a new DB instance is created with a new endpoint (the old DB instance can be deleted if so desired). This is done to allow you to create multiple DB instances from a specific DB snapshot or point in time.
Q: Do I need to enable backups for my DB instance or is it done automatically?
By default, Amazon RDS Custom enables automated backups of your DB instance with a 7-day retention period. Free backup storage is limited to the size of your provisioned database and only applies to active DB Instances. For example, if you have 100 GB of provisioned database storage over the month, we will provide 100 GB-months of backup storage at no additional charge.
If you would like to modify your backup retention period, you can do so using the console or the CreateDBInstance API (when creating a new DB instance) or the ModifyDBInstance API (for existing instances). You can use these APIs to change the RetentionPeriod parameter to any number from 1 to the desired number of days. The value can't be set to 0.
Q: What is a backup window and why do I need it? Is my database available during the backup window?
The preferred backup window is the user-defined period of time during which your DB instance is backed up. Amazon RDS Custom uses these periodic data backups in conjunction with your transaction logs so you can restore your DB instance to any second during your retention period, up to the LatestRestorableTime (typically up to the last few minutes). During the backup window, storage I/O may be briefly suspended while the backup process initializes (typically under a few seconds) and you may experience a brief period of elevated latency.
Q: Where are my automated backups and DB snapshots stored and how do I manage their retention?
Amazon RDS DB snapshots and automated backups are stored in Amazon Simple Storage Service (Amazon S3).
You can use the AWS Management Console, the ModifyDBInstance API, or the modify-db-instance command to manage the period of time your automated backups are retained by modifying the RetentionPeriod parameter. You can manage your user-created DB snapshots via the "snapshots" section of the Amazon RDS Console. Alternatively, you can see a list of the user-created DB Snapshots for a given DB instance using the DescribeDBSnapshots API or describe-db-snapshots command and delete snapshots with the DeleteDBSnapshot API or delete-db-snapshot command.
Q: Why do I have more automated DB snapshots than the number of days in the retention period for my DB instance?
It is normal to have one or two more automated DB snapshots than the number of days in your retention period. One extra automated snapshot is retained to ensure the ability to perform a point-in-time restore to any time during the retention period. For example, if your backup window is set to one day, you will require two automated snapshots to support restores to any time within the previous 24 hours. You may also see an additional automated snapshot as a new automated snapshot is always created before the oldest automated snapshot is deleted.
Q: What happens to my backups and DB snapshots if I delete my DB instance?
When you delete a DB instance, Amazon RDS Custom retains all manually created DB snapshots after the DB instance is deleted. Refer to the pricing page for details of backup storage costs.
Automated backups are deleted when the DB instance is deleted, you can retain it with no delete-automated-backups parameter or select retain automation backed in the AWS console.