ClusterInstance Class
Create an RDS Aurora Cluster Instance.
You can create either provisioned or serverless v2 instances.
Example
ts
declare const vpc: ec2.Vpc;
const myCluster = new rds.DatabaseCluster(this, 'Database', {
engine: rds.DatabaseClusterEngine.auroraMysql({ version: rds.AuroraMysqlEngineVersion.VER_2_08_1 }),
writer: rds.ClusterInstance.provisioned('writer', {
instanceType: ec2.InstanceType.of(ec2.InstanceClass.R6G, ec2.InstanceSize.XLARGE4),
}),
serverlessV2MinCapacity: 6.5,
serverlessV2MaxCapacity: 64,
readers: [
// will be put in promotion tier 1 and will scale with the writer
rds.ClusterInstance.serverlessV2('reader1', { scaleWithWriter: true }),
// will be put in promotion tier 2 and will not scale with the writer
rds.ClusterInstance.serverlessV2('reader2'),
],
vpc,
});
Methods
bind(scope: Construct, cluster: IDatabaseCluster, props: ClusterInstanceBindOptions): IAuroraClusterInstancedef bind(self, scope: Construct, cluster: IDatabaseCluster, props: ClusterInstanceBindOptions) -> IAuroraClusterInstancepublic IAuroraClusterInstance bind(Construct scope, IDatabaseCluster cluster, ClusterInstanceBindOptions props)public IAuroraClusterInstance Bind(Construct scope, IDatabaseCluster cluster, ClusterInstanceBindOptions props)func Bind(Scope Construct, Cluster IDatabaseCluster, Props ClusterInstanceBindOptions) IAuroraClusterInstance#Add the ClusterInstance to the cluster.
provisioned(id: string, props?: ProvisionedClusterInstanceProps): IClusterInstance@staticmethod def provisioned(id: str, props: typing.Optional[ProvisionedClusterInstanceProps] = None) -> IClusterInstancepublic static IClusterInstance provisioned(String id, ProvisionedClusterInstanceProps props)public static IClusterInstance Provisioned(string id, ProvisionedClusterInstanceProps? props = null)func Provisioned(Id *string, Props ProvisionedClusterInstanceProps) IClusterInstancestatic#Add a provisioned instance to the cluster.
example
ts
rds.ClusterInstance.provisioned('ClusterInstance', {
instanceType: ec2.InstanceType.of(ec2.InstanceClass.R6G, ec2.InstanceSize.XLARGE4),
});
serverlessV2(id: string, props?: ServerlessV2ClusterInstanceProps): IClusterInstance@staticmethod def serverless_v2(id: str, props: typing.Optional[ServerlessV2ClusterInstanceProps] = None) -> IClusterInstancepublic static IClusterInstance serverlessV2(String id, ServerlessV2ClusterInstanceProps props)public static IClusterInstance ServerlessV2(string id, ServerlessV2ClusterInstanceProps? props = null)func ServerlessV2(Id *string, Props ServerlessV2ClusterInstanceProps) IClusterInstancestatic#Add a serverless v2 instance to the cluster.
example
ts
rds.ClusterInstance.serverlessV2('ClusterInstance', {
scaleWithWriter: true,
});