Skip to content

DBProxy ​

The DBProxy resource lets you manage AWS RDS DBProxys for improved application scalability and performance by pooling and sharing database connections.

Minimal Example ​

Create a basic DBProxy with required properties and one optional property.

ts
import AWS from "alchemy/aws/control";

const dbProxy = await AWS.RDS.DBProxy("myDbProxy", {
  DBProxyName: "my-db-proxy",
  Auth: [{
    AuthScheme: "SECRETS",
    SecretArn: "arn:aws:secretsmanager:us-west-2:123456789012:secret:mysecret",
    Username: "dbuser"
  }],
  VpcSubnetIds: ["subnet-0123456789abcdef0", "subnet-0abcdef0123456789"],
  RoleArn: "arn:aws:iam::123456789012:role/myDbProxyRole"
});

Advanced Configuration ​

Configure a DBProxy with additional options for enhanced security and debugging.

ts
const advancedDbProxy = await AWS.RDS.DBProxy("advancedDbProxy", {
  DBProxyName: "secure-db-proxy",
  Auth: [{
    AuthScheme: "SECRETS",
    SecretArn: "arn:aws:secretsmanager:us-west-2:123456789012:secret:mysecret",
    Username: "dbuser"
  }],
  VpcSubnetIds: ["subnet-0123456789abcdef0", "subnet-0abcdef0123456789"],
  RoleArn: "arn:aws:iam::123456789012:role/myDbProxyRole",
  RequireTLS: true,
  IdleClientTimeout: 30,
  DebugLogging: true,
  VpcSecurityGroupIds: ["sg-0123456789abcdef0"]
});

Connection Pooling Example ​

Create a DBProxy configured specifically for connection pooling to optimize database interactions.

ts
const connectionPoolingDbProxy = await AWS.RDS.DBProxy("connectionPoolingDbProxy", {
  DBProxyName: "connection-pooling-proxy",
  Auth: [{
    AuthScheme: "SECRETS",
    SecretArn: "arn:aws:secretsmanager:us-west-2:123456789012:secret:mysecret",
    Username: "dbuser"
  }],
  VpcSubnetIds: ["subnet-0123456789abcdef0", "subnet-0abcdef0123456789"],
  RoleArn: "arn:aws:iam::123456789012:role/myDbProxyRole",
  RequireTLS: true,
  IdleClientTimeout: 60,
  VpcSecurityGroupIds: ["sg-0123456789abcdef0"]
});

Security Group Configuration ​

Configure a DBProxy with specific security groups for enhanced network security.

ts
const secureDbProxy = await AWS.RDS.DBProxy("secureDbProxy", {
  DBProxyName: "secure-db-proxy",
  Auth: [{
    AuthScheme: "SECRETS",
    SecretArn: "arn:aws:secretsmanager:us-west-2:123456789012:secret:mysecret",
    Username: "dbuser"
  }],
  VpcSubnetIds: ["subnet-0123456789abcdef0", "subnet-0abcdef0123456789"],
  RoleArn: "arn:aws:iam::123456789012:role/myDbProxyRole",
  VpcSecurityGroupIds: ["sg-0123456789abcdef0", "sg-0abcdef0123456789"],
  Tags: [{
    Key: "Environment",
    Value: "Production"
  }]
});