Skip to content

RDS Proxy for PostgreSQL incorrectly targets port 3306 instead of 5432 in ap-southeast-1 #9944

@chowpin-tan-ivp

Description

@chowpin-tan-ivp

Describe the bug

When creating an RDS Proxy with EngineFamily: POSTGRESQL for an Aurora PostgreSQL cluster,
the proxy target group incorrectly attempts to connect to the database on port 3306 (MySQL)
instead of port 5432 (PostgreSQL).

This occurs in the ap-southeast-1 region with both:

  • CloudFormation AWS::RDS::DBProxy resources
  • Manual proxy creation via AWS Console

The target group remains in UNAVAILABLE state with reason "PENDING_PROXY_CAPACITY" and
never successfully connects to the Aurora PostgreSQL cluster.

Verification command shows wrong port:
aws rds describe-db-proxy-targets --db-proxy-name pg-db-prod-proxy

Output shows:
"Port": 3306 (should be 5432 for PostgreSQL)

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

When creating an RDS Proxy with EngineFamily: POSTGRESQL for an Aurora PostgreSQL cluster:

  1. Target group should connect to Aurora on port 5432 (PostgreSQL default port)
  2. Target group should reach AVAILABLE state within 10-15 minutes
  3. Proxy endpoint should successfully accept client connections
  4. Command aws rds describe-db-proxy-targets --db-proxy-name <proxy-name> should show:
    "Port": 5432

Current Behavior

When creating an RDS Proxy with EngineFamily: POSTGRESQL for an Aurora PostgreSQL cluster:

  1. Target group attempts to connect to Aurora on port 3306 (MySQL port)
  2. Target group remains stuck in UNAVAILABLE state with reason "PENDING_PROXY_CAPACITY"
  3. CloudFormation deployment times out after 2+ hours
  4. Command aws rds describe-db-proxy-targets --db-proxy-name <proxy-name> shows:
    "Port": 3306

This occurs in ap-southeast-1 region with both CloudFormation and manual creation.

aws rds describe-db-proxy-targets --db-proxy-name <proxy_name>

Example output:
{
"Targets": [
{
"RdsResourceId": "pg-db-prod",
"Port": 3306,
"Type": "TRACKED_CLUSTER"
},
{
"Endpoint": "pg-db-prod-instance-1.abcxyz-southeast-1.rds.amazonaws.com",
"TrackedClusterId": "pg-db-prod",
"RdsResourceId": "pg-db-prod-instance-1",
"Port": 3306,
"Type": "RDS_INSTANCE",
"Role": "UNKNOWN",
"TargetHealth": {
"State": "UNAVAILABLE",
"Reason": "PENDING_PROXY_CAPACITY",
"Description": "DBProxy Target is waiting for proxy to scale to desired capacity"
}
}
]
}

Reproduction Steps

  1. Create Aurora PostgreSQL cluster (engine: aurora-postgresql)
  2. Create RDS Proxy with EngineFamily: POSTGRESQL
  3. Create DBProxyTargetGroup pointing to the Aurora cluster
  4. Run: aws rds describe-db-proxy-targets --db-proxy-name
  5. Observe: Port shows 3306 instead of 5432
  6. Result: Target group stuck in UNAVAILABLE state

Possible Solution

No response

Additional Information/Context

No response

CLI version used

aws-cli/2.31.0 Python/3.13.7 Darwin/25.1.0 source/arm64

Environment details (OS name and version, etc.)

OS: macOS M2 Pro Tahoe 26.1

Metadata

Metadata

Assignees

Labels

bugThis issue is a bug.p3This is a minor priority issuerdsresponse-requestedWaiting on additional info and feedback. Will move to "closing-soon" in 7 days.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions