Skip to main content

Amazon RDS Custom

Amazon RDS Custom

Managed database service for applications that require operating system and database customization

What is RDS Custom?

RDS Custom is a managed database service for legacy, custom, and packaged applications that need customization of the underlying operating system and database environment. With RDS Custom, you have access to the database and underlying operating system to configure settings, install patches, and enable native features to meet the dependent application's requirements while also gaining the benefits of scalability, security, reliability, and reduced operational burden of a managed database service. 

Benefits of RDS Custom

Automate database administrative efforts for legacy, custom, and packaged apps so you can focus on more strategic, business-impacting activities.

Leverage OS and DB level rights within a managed database service so you can support unique application requirements and keep the business running.

Rely on cloud-based resiliency that makes your data stable, recoverable, and accessible to your business stakeholders any time they need it.

Grow your database footprint in the cloud to scale with your business requirements with the confidence that you will not outpace your capacity.

Blogs

Loading
Loading
Loading
Loading
Loading

FAQs

General

Open all

RDS Custom supports the Oracle and SQL Server database engines.

If you need the entire database and OS to be fully managed by AWS, we recommend RDS. In the case where you must have administrative rights to the database and underlying OS in order to enable dependent applications, RDS Custom is the better choice. If you need full management responsibility and simply need a managed compute service, the best option is self-managing your commercial databases on EC2.

Automation mode controls the behavior of RDS Custom automation which 1/ monitors database, storage and EC2 status, 2/ performs automatic or manual backups, and 3/ administers the support perimeter. You can resume or pause the RDS Custom automation for up to 24 hours in order to make your customizations. Pausing the automation will prevent RDS Custom automation from directly interfering with your customizations.

For example, if you are installing an application that requires a database reboot, when that database is restarted and if RDS Custom automation was running when the database was 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 navigate this, you would first pause the RDS Custom automation, install the application, reboot the database, and then resume the RDS Custom automation.

With 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 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 RDS Custom 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.

RDS Custom can be managed similar to RDS via AWS Management Console, AWS Command Line Interface (CLI), or RDS API. The API for RDS Custom is the same API as RDS.

Please see the RDS Custom pricing page for pricing, regional availability, and instance class availability.

RDS Custom for SQL Server

Open all

The support perimeter checks are performed every 30 minutes under normal circumstances. It 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 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.

RDS Custom currently supports SQL Server Enterprise, Standard, Web and Developer editions. Specifically, RDS Custom for SQL Server supports SQL Server 2019 and 2022.

With 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 use 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 RDS Custom for SQL Server, subject to Microsoft’s licensing terms. The License Mobility Page offers detailed information on the process, and Microsoft requires that you 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.

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 RDS Custom. RDS Custom for SQL Server BYOM documentation page includes details on how to get started.

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.

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

RDS Custom for Oracle

Open all

The support perimeter checks are performed every 30 minutes under normal circumstances. It 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 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.

RDS Custom for Oracle supports both Oracle Database Standard Edition 2 (SE2) and Enterprise Edition (EE). Specifically, RDS Custom for Oracle supports 12.1, 12.2, 18c & 19c database versions.

With RDS Custom for Oracle, you can bring their own media software and use your own licenses.

RDS Custom for Oracle is available on Oracle Linux OS.

A custom engine version (CEV) for RDS Custom for Oracle is a binary volume snapshot of a database engine and specific Amazon Machine Image (AMI). By default, RDS Custom for Oracle uses the latest available AMI managed by RDS Custom. However, you can specify an AMI , such as AMI used in a previous CEV) and supply your own database installation files, which are then used by RDS Custom to create your specific CEV.

You may scale your database 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. You need to 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.

You are responsible for maintaining a third-party support agreement for your database software and contacting 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.

Automatic backups and database snapshots

Open all

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 RDS Custom enables point-in-time recovery of your DB instance. When automated backups are turned on for your DB instance, 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. 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. They 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 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, 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. 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.

RDS DB snapshots and automated backups are stored in 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. For your user-created DB snapshots, you can manage them 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, RDS Custom retains all manually created DB snapshots after the DB instance is deleted. Please refer to the pricing page for details of backup storage costs.

In contrast, automated backups are deleted when the DB instance is deleted; however, you can retain them with no delete-automated-backups parameter or select retain automation backed in the AWS console.