ion icon indicating copy to clipboard operation
ion copied to clipboard

Upgrade path for VPC attached to RDS to new cluster (No NAT Gateways)

Open PaulCampbell opened this issue 1 year ago • 3 comments

Given an existing VPC attached to an RDS, is there a path to upgrade to the new "v2" cluster?

Existing config

 const vpc = new sst.aws.Vpc("MyVpc" );
 const rds = new sst.aws.Postgres("MyDb", { vpc });

On deploy (as of 3.1.49?), I receive an error and a suggested fix:

|  Error
|  There is a new version of "sst.aws.Vpc" that has breaking changes.
|  To continue using the previous version, rename "Vpc" to "Vpc.v1". Or recreate this component to update - https
://sst.dev/docs/component/aws/cluster#forceupgrade

I am not explicitly creating a cluster currently.

When I just try to create a cluster I receive the same error:

    const vpc = new sst.aws.Vpc("MyVpc" );
    const cluster = new sst.aws.Cluster("MyCluster", { vpc, forceUpgrade: "v2" });
    const rds = new sst.aws.Postgres("MyDb", { vpc });

If I try to create a new VPC to move the Postgres instance into, I fail there too...

    const vpc = new sst.aws.Vpc.v1("MyVpc" );
    const vpcV2 = new sst.aws.Vpc("MyVpcV2" );
    const rds = new sst.aws.Postgres("MyDb", { vpc:vpcV2 });
✕  Failed
   BeetleDb sst:aws:Postgres → BeetleDbSubnetGroup aws:rds:SubnetGroup
     sdk-v2/provider2.go:509: sdk.helper_schema: updating RDS DB Subnet Group (x-x-x-xdbsubnetgroup): operation error RDS: ModifyDBSubnetGroup, https response error StatusCode: 400, RequestID: d2ca0d98-
48de-47e0-a1c2-9e00cd98e9ce, api error InvalidParameterValue: The new Subnets are not in the same Vpc as the exis
ting subnet group: [email protected]

Is there a way to upgrade my VPC without resorting to a new RDS instance?

Thanks!

PaulCampbell avatar Sep 30 '24 09:09 PaulCampbell