Amazon Relational Database Service Custom FAQs

General

Amazon RDS Custom is a managed database service for legacy, custom, and packaged applications that require access to the underlying operating system and database environment. Amazon RDS Custom automates setup, operation, and scaling of databases in the cloud while granting customers access to the database and underlying operating system to configure settings, install patches, and enable native features to meet the dependent application's requirements.

Amazon RDS Custom supports the Oracle and SQL Server database engines.

To sign up for Amazon RDS Custom, you must have an Amazon Web Services account. Create an account if you do not already have one. After you are signed up, please refer to the Amazon RDS Custom User Guide.

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.

For customers who need the entire database and OS to be fully managed by AWS, we recommend Amazon RDS. In the case where the customer must have administrative rights to the database and underlying OS in order to enable dependent applications, Amazon RDS Custom is the better choice. For customers who want full management responsibility and simply need a managed compute service, the best option is self-managing their commercial databases on Amazon Elastic Compute Cloud (Amazon EC2).

Automation Mode controls the behavior of the Amazon RDS Custom automation which monitors database, storage and Amazon EC2 status, performs automatic or manual backups, and administers the support perimeter. Customers can resume or pause the RDS Custom automation for up to 24 hours in order to make their customizations. Pausing the automation will prevent Amazon RDS automation from directly interfering with your customizations. For example, if installing an application that requires a database reboot, when that database is restarted, if the RDS automation is running when the database is down the RDS monitoring and alerting would see that the database as unhealthy and attempt to bring the database back online which could impact the application install process. To get around this, first you would pause the RDS automation, install the application, reboot the database, and then resume the automation.

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) or Remote Desktop Protocol (Windows) and perform the customizations to suit your application's 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 support perimeter checks are performed every 30 minutes under normal circumstances. The support perimeter will trigger a perimeter check via an event (e.g., 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 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

Amazon RDS Custom for Oracle supports both Oracle Database Standard Edition 2 (SE2) and Enterprise Edition (EE).

Amazon RDS Custom currently supports SQL Server Enterprise, Standard, Web and Developer editions.

RDS Custom for Oracle supports 12.1, 12.2, 18c & 19c database versions. RDS Custom for SQL Server supports SQL Server 2019 and 2022.

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 for Oracle is available on Oracle Linux OS.

With Amazon RDS Custom for Oracle, customers bring their own media software and use customer-supplied licenses.

With Amazon RDS Custom for SQL Server, you have two SQL Server licensing options: License Included (LI) and Bring Your Own Media (BYOM).

With the LI option, you can create RDS Custom for SQL Server instances with Windows and SQL Server licenses supplied by AWS. AWS manages the licensing for you; all you need to do is pay for the instances that you provision. LI is available for SQL Server Web Edition, Standard Edition, and Enterprise Edition.

With the BYOM option, you can leverage your existing SQL Server licenses with Amazon RDS Custom for SQL Server, subject to Microsoft’s licensing terms. The License Mobility Page offers detailed information on the process. Microsoft requires that customers complete and send a License Mobility verification form.

Yes. SQL Server licenses with active Software Assurance is needed for License Mobility and to be deployed on RDS Custom for SQL Server. For additional details on bringing SQL Server licenses with active Software Assurance to RDS Custom for SQL Server, please see the License Mobility page on the AWS site.

If you are licensing SQL Server under Microsoft’s License Mobility through Software Assurance, the number of licenses required varies based on the instance type, version of SQL Server, and the Microsoft licensing model you choose. To assist with calculating licensing needed under the Microsoft Product Terms, AWS provides this virtual representation of hardware threads table by instance type.

With the BYOM licensing option, you must first verify your SQL Server licensing with License Mobility through Software Assurance in order to use your licenses with Amazon RDS Custom. Then, go to the Amazon RDS Custom for SQL Server BYOM documentation page that includes details on how to get started.

If you have an active AWS Premium Support account, you can contact AWS Premium Support for Amazon RDS Custom for SQL Server specific issues.

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 may scale your DB instances in accordance with the terms of your Oracle license(s).

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

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.

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.

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.

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.

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.

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.