Tuesday, January 31, 2023

Amazon RDS Custom

AMAZON RDS CUSTOM

 

Amazon RDS Custom is a managed database service for applications that require customization of the underlying operating system and database environment. Benefits of RDS automation with the access needed for legacy, packaged, and custom applications.


 


Working with Amazon RDS Custom
Amazon RDS Custom automates database administration tasks and operations. RDS Custom makes it possible for you as a database administrator to access and customize your database environment and operating system. With RDS Custom, you can customize to meet the requirements of legacy, custom, and packaged applications.

Addressing the challenge of database customization

Amazon RDS Custom brings the benefits of Amazon RDS to a market that can't easily move to a fully managed service because of customizations that are required with third-party applications. Amazon RDS Custom saves administrative time, is durable, and scales with your business.

If you need the entire database and operating system to be fully managed by AWS, we recommend Amazon RDS. If you need administrative rights to the database and underlying operating system to make dependent applications available, Amazon RDS Custom is the better choice. If you want full management responsibility and simply need a managed compute service, the best option is self-managing your commercial databases on Amazon EC2.

To deliver a managed service experience, Amazon RDS doesn't let you access the underlying host. Amazon RDS also restricts access to some procedures and objects that require high-level privileges. However, for some applications, you might need to perform operations as a privileged operating system (OS) user.

For example, you might need to do the following:

  • Install custom database and OS patches and packages.

  • Configure specific database settings.

  • Configure file systems to share files directly with their applications.

Previously, if you needed to customize your application, you had to deploy your database on-premises or on Amazon EC2. In this case, you bear most or all of the responsibility for database management, as summarized in the following table.

Feature

On-premises responsibility

Amazon EC2 responsibility

Amazon RDS responsibility

Application optimization

Customer

Customer

Customer

Scaling

Customer

Customer

AWS

High availability

Customer

Customer

AWS

Database backups

Customer

Customer

AWS

Database software patching

Customer

Customer

AWS

Database software install

Customer

Customer

AWS

OS patching

Customer

Customer

AWS

OS installation

Customer

Customer

AWS

Server maintenance

Customer

AWS

AWS

Hardware lifecycle

Customer

AWS

AWS

Power, network, and cooling

Customer

AWS

AWS

When you manage database software yourself, you gain more control, but you're also more prone to user errors. For example, when you make changes manually, you might accidentally cause application downtime. You might spend hours checking every change to identify and fix an issue. Ideally, you want a managed database service that automates common DBA tasks, but also supports privileged access to the database and underlying operating system.

Management model and benefits for Amazon RDS Custom

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 AWS Cloud while granting you access to the database and underlying operating system. With this access, you can configure settings, install patches, and enable native features to meet the dependent application's requirements. With RDS Custom, you can run your database workload using the AWS Management Console or the AWS CLI.

Currently, Amazon RDS Custom supports only the Oracle Database and Microsoft SQL Server engines.

Shared responsibility model

With Amazon RDS Custom, you get the automation of Amazon RDS and the flexibility of Amazon EC2. You take on on additional database management responsibilities beyond what you do in Amazon RDS. By doing so, you can benefit from RDS automation and the deeper customization of EC2. To meet your application and business requirements, you manage the host yourself.

In the shared responsibility model of RDS Custom, you get more control than in Amazon RDS but also more responsibility. Shared responsibility has two meanings:

  1. You own part of the process when using a feature.

  2. You have full access to the feature, and it's your responsibility to make sure that any customizations work with that feature.

The following table details the shared responsibility model for RDS Custom.

Feature

Amazon EC2 responsibility

Amazon RDS responsibility

RDS Custom for Oracle responsibility

RDS Custom for SQL Server responsibility

Application optimization

Customer

Customer

Customer

Customer

Scaling

Customer

AWS

Shared

Shared

High availability

Customer

AWS

Customer

Customer

Database backups

Customer

AWS

Shared

Shared

Database software patching

Customer

AWS

Shared

AWS

Database software install

Customer

AWS

Shared

AWS

OS patching

Customer

AWS

Customer

AWS

OS installation

Customer

AWS

Shared

AWS

Server maintenance

AWS

AWS

AWS

AWS

Hardware lifecycle

AWS

AWS

AWS

AWS

Power, network, and cooling

AWS

AWS

AWS

AWS

You can create an RDS Custom DB instance using Microsoft SQL Server. In this case:

  • You don't manage your own media.

  • You don't need to purchase SQL Server licenses separately. AWS holds the license for the SQL Server database software.

You can create an RDS Custom DB instance using Oracle Database. In this case, you do the following:

  • Manage your own media.

    When using RDS Custom, you upload your own database installation files and patches. You create a custom engine version (CEV) from these files. Then you can create an RDS Custom DB instance by using this CEV.

  • Manage your own licenses.

    You bring your own Oracle Database licenses and manage licenses by yourself.

Key benefits of RDS Custom

With RDS Custom, you can do the following:

  • Automate many of the same administrative tasks as Amazon RDS, including the following:

    • Lifecycle management of databases

    • Automated backups and point-in-time recovery (PITR)

    • Monitoring the health of RDS Custom DB instances and observing changes to the infrastructure, operating system, and databases

    • Notification or taking action to fix issues depending on disruption to the DB instance

  • Install third-party applications.

    You can install software to run custom applications and agents. Because you have privileged access to the host, you can modify file systems to support legacy applications.

  • Install custom patches.

    You can apply custom database patches or modify OS packages on your RDS Custom DB instances.

  • Stage an on-premises database before moving it to a fully managed service.

    If you manage your own on-premises database, you can stage the database to RDS Custom as-is. After you familiarize yourself with the cloud environment, you can migrate your database to a fully managed Amazon RDS DB instance.

  • Create your own automation.

    You can create, schedule, and run custom automation scripts for reporting, management, or diagnostic tools.


Amazon RDS Custom architecture


Amazon RDS Custom architecture is based on Amazon RDS, with important differences. The following diagram shows the key components of the RDS Custom architecture.



VPC

As in Amazon RDS, your RDS Custom DB instance resides in a virtual private cloud (VPC).


                RDS Custom DB instance components

The DB instance consists of the following main components:

  • Amazon EC2 instance

  • Instance endpoint

  • Operating system installed on the Amazon EC2 instance

  • Amazon EBS storage, which contains any additional file systems


Amazon S3

If you use RDS Custom for Oracle, you upload installation media to a user-created Amazon S3 bucket. RDS Custom for Oracle uses the media in this bucket to create a custom engine version (CEV). A CEV is a binary volume snapshot of a database version and Amazon Machine Image (AMI). From the CEV, you can create an RDS Custom DB instance. AWS CloudTrail logs for the trail created by RDS Custom

  • Database redo log files (RDS Custom for Oracle only)

  • Transaction logs (RDS Custom for SQL Server only)

  • Custom engine version artifacts (RDS Custom for Oracle only)

RDS Custom creates the do-not-delete-rds-custom- S3 bucket when you create either of the following resources:

  • Your first CEV for RDS Custom for Oracle

  • Your first DB instance for RDS Custom for SQL Server

RDS Custom creates one bucket for each combination of the following:

  • AWS account ID

  • Engine type (either RDS Custom for Oracle or RDS Custom for SQL Server)

  • AWS Region

For example, if you create RDS Custom for Oracle CEVs in a single AWS Region, one do-not-delete-rds-custom- bucket exists. If you create multiple RDS Custom for SQL Server instances, and they reside in different AWS Regions, one do-not-delete-rds-custom- bucket exists in each AWS Region. If you create one RDS Custom for Oracle instance and two RDS Custom for SQL Server instances in a single AWS Region, two do-not-delete-rds-custom- buckets exist.

AWS CloudTrail

RDS Custom automatically creates an AWS CloudTrail trail whose name begins with do-not-delete-rds-custom-. The RDS Custom support perimeter relies on the events from CloudTrail to determine whether your actions affect RDS Custom automation. For more information, see Support perimeter.

RDS Custom creates the trail when you create your first DB instance. RDS Custom creates one trail for each combination of the following:

  • AWS account ID

  • Engine type (either RDS Custom for Oracle or RDS Custom for SQL Server)

  • AWS Region

RDS Custom automation and monitoring

RDS Custom has automation software that runs outside of the DB instance. This software communicates with agents on the DB instance and with other components within the overall RDS Custom environment.

Monitoring and recovery

The RDS Custom monitoring and recovery features offer similar functionality to Amazon RDS. By default, RDS Custom is in full automation mode. The automation software has the following primary responsibilities:

  • Collect metrics and send notifications

  • Perform automatic instance recovery

An important responsibility of RDS Custom automation is responding to problems with your Amazon EC2 instance. For various reasons, the host might become impaired or unreachable. RDS Custom resolves these problems by either rebooting or replacing the Amazon EC2 instance.


No comments: