Skip to main content

Database URL Type Compatibility

This page is part of the Compatibility Guide and explains plugin compatibility with database endpoints. Many endpoint types can be used with the AWS Advanced Ruby Driver Wrapper, but some endpoints are not compatible with some plugins.

Endpoint types​

Compatibility matrix​

Legend: ✅ compatible · ❌ not compatible · a numbered footnote [^n] links to the reason in Notes · blank = no constraint recorded.

PluginAurora Global Database EndpointAurora Cluster Writer EndpointAurora Cluster Reader EndpointAurora Cluster Custom EndpointAurora Instance Endpoint, RDS Instance EndpointRDS Multi-AZ DB Cluster Writer EndpointRDS Multi-AZ DB Cluster Reader EndpointRDS Proxy EndpointDB Shard Group Endpoint (Aurora Limitless)IP addressUser custom domain (CNAME alias)
custom_endpoint❌ 1❌ 1❌ 1✅❌ 1❌ 1❌ 1❌ 1❌ 1❌ 1❌ 1
failover✅✅✅✅✅✅✅❌ 2❌ 3✅ 4✅ 4
gdb_failover✅✅✅✅✅✅✅❌ 2❌ 5✅ 6✅ 6
iam✅ 7✅✅✅✅✅✅✅✅✅ 8✅ 8
secrets_manager✅✅✅✅✅✅✅✅✅✅ 9✅ 9
initial_connection✅✅✅✅ 10❌ 11✅✅❌ 11❌ 11❌ 11❌ 11
bg❌ 12✅✅✅✅❌ 13❌ 13✅❌ 14✅ 15❌ 16

Notes​

Footnotes​

  1. The custom endpoint plugin only applies to an Aurora custom endpoint; on any other endpoint there is no custom endpoint membership to track. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10

  2. An RDS Proxy performs its own failover. Connecting through that endpoint with a simple retry is the recommended configuration for handling a failover event. ↩ ↩2

  3. Aurora Limitless shard groups manage their own routing; the failover plugin does not operate on the Limitless shard-group endpoint. ↩

  4. Supported, but the wrapper cannot recognize an IP address or custom domain as an RDS endpoint, so set cluster_instance_host_pattern (using ? as the instance-identifier placeholder) so topology can build per-instance endpoints; set the cluster identifier as well when using a custom domain. ↩ ↩2

  5. Aurora Limitless shard groups manage their own routing; the global database failover plugin does not operate on the Limitless shard-group endpoint. ↩

  6. Supported, but the wrapper cannot recognize an IP address or custom domain as an RDS endpoint, so set global_cluster_instance_host_patterns (one region-prefixed pattern per region) and failover_home_region so the plugin can build per-region topology. ↩ ↩2

  7. Requires the initial_connection plugin. A global endpoint carries no region and points at the current primary cluster, so it must be resolved to the writer instance before the IAM token is generated. ↩

  8. Supported, but the wrapper cannot derive the token host or region from an IP address or custom domain, so set iam_host to a valid RDS endpoint (and iam_region if it cannot be parsed) so the IAM token is generated for the right host. ↩ ↩2

  9. Supported, but the region cannot be parsed from an IP address or custom domain, so set secret_region (unless the secret id is an ARN, which already contains the region). ↩ ↩2

  10. Supported, but by default the plugin passes an Aurora custom endpoint through unchanged. Set initial_connection_substitute_host to any or reader to resolve the custom endpoint to one of its member instances. ↩

  11. The initial connection plugin needs a cluster endpoint to resolve; this endpoint points at a single host or has no discoverable topology. ↩ ↩2 ↩3 ↩4 ↩5

  12. AWS does not support Blue/Green deployments on Aurora global databases. ↩

  13. AWS Blue/Green deployments are not available for RDS Multi-AZ DB clusters (only for Multi-AZ DB instance deployments). ↩ ↩2

  14. Aurora Limitless shard groups manage their own routing; the Blue/Green plugin does not operate on the Limitless shard-group endpoint. ↩

  15. Supported, but the Blue/Green plugin resolves the deployment from a recognizable RDS endpoint; connecting via an IP address requires providing the RDS endpoint information the plugin needs to identify the deployment. ↩

  16. The Blue/Green plugin resolves the deployment from a recognizable RDS endpoint; it cannot follow a switchover behind a custom domain name. ↩