top of page
Writer's pictureRoger Tai

RDS Custom : We’ve done it so that you don’t have to

Introduction


In today’s cloud landscape, managing databases for legacy, custom, and packaged

applications often requires more flexibility than traditional managed database services can

offer. Enter Amazon RDS Custom—a specialised managed database service designed to

bridge this gap for SQL and Oracle databases. Amazon RDS Custom is tailored for

scenarios where access to the underlying operating system and database environment is

crucial. Here’s an in-depth look at what RDS Custom offers, when to use it, and what to

watch out for.


What is Amazon RDS Custom?


Amazon RDS Custom is a managed database service that provides greater control and

flexibility for applications with specific needs. Unlike standard Amazon RDS instances, RDS

Custom is provisioned as EC2 instances, granting users access to the operating system and

database environment. This setup is particularly beneficial for legacy and custom

applications that require non-standard configurations or additional software installations.


Benefits of RDS Custom


  • Enhanced Control and Flexibility: With RDS Custom, users have the ability to

    access and modify the underlying operating system and database environment. This

    flexibility allows for custom configurations, installation of additional libraries, and

    application of specific patches.

  • Custom Engine Version: Users can create Custom Engine Versions to preserve

    changes made to the database environment. This feature is particularly useful for

    ensuring consistency across environments or for maintaining compatibility with

    legacy applications.

  • RDS Advantages: Despite offering more control, RDS Custom still provides the

    benefits associated with managed RDS services, such as automated backups,

    MultiAZ deployment for high availability, and compatibility with AWS Backup

    solutions.


When to Use RDS Custom


RDS Custom is ideal in several scenarios:


  • Database Requires Additional Libraries: When your application depends on

    bespoke or commercial libraries not supported by standard RDS instances.

  • Debugging Needs: If you need the ability to debug database issues directly on the

    host system.

  • Legacy Applications: For running packaged legacy applications that require specific

    configurations or additional software components.


When to Avoid RDS Custom


RDS Custom may not be the best fit if:


  • Standard Applications: Your databases do not require custom libraries or special

    configurations beyond what is offered by standard RDS instances.

  • Simplicity Preferred: If your database management requirements are

    straightforward and do not necessitate deep access to the underlying system.


Considerations and Best Practices


Before diving into RDS Custom, there are key considerations to keep in mind:


  • IAM Roles and Permissions: Ensure IAM Role and Instance Profile names for RDS

    Custom start with the prefix "AWSRDSCustom-". Specific IAM permissions are

    required, and AWS provides a CloudFormation template to help set these up.

  • Network Configuration: RDS Custom uses TCP Port 1120 and AWS SQS for

    MultiAZ communication. Proper network configuration is essential for maintaining

    high availability.

  • Secrets Management: Unlike standard RDS instances, RDS Custom does not

    integrate with AWS Secrets Manager for password rotation. You’ll need to manage

    and store secrets independently.

  • Custom Engine Versions: When creating a Custom Engine Version, ensure

    compatibility with your SQL or Oracle version. For instance, newer SQL Windows

    2022 AMIs might not be compatible with certain Custom Engine Versions.

  • Timezone and System Changes: Avoid changing the timezone or making other

    system-level modifications after provisioning. While RDS Custom provides access to

    the host, it does not imply freedom to alter RDS-specific configurations.


Final Thoughts


Amazon RDS Custom fills a unique niche in the AWS ecosystem, offering a blend of

managed service benefits and deep system access. It’s particularly useful in environments

where legacy applications or custom configurations are necessary. While the setup process

may seem complex initially, it becomes manageable with experience, especially when

employing Infrastructure as Code practices. Engineers working with RDS Custom need to be

well-informed about its capabilities and limitations to maximise its benefits effectively.

Whether you're managing legacy applications or require specialised configurations, RDS

Custom provides the flexibility and control needed to meet your specific database

management needs.

bottom of page