Open timckt opened 2 months ago
We have a user would like to upgrade to gp3 for their RDS. Created this branch for them and its working in their namespace.
We may continue to use this branch for further testing/development.
The cost per GB is the same for gp2 or gp3 in RDS (unlike in EC2 where gp3 is cheaper). However, gp3 provides more baseline IOPS (for volumes up to 4,000 GB) without the limitation of bursting...In almost all cases, your default choice should be gp3. Simple change to update the module and no need to force update to existing RDS instances would only affect new RDS releases.
Background
Currently our RDS module is using previous generation of storage class which is
gp2
orio1
.We need to update the module to use the current generation of storage class (
gp3
orio2
) by default.This would save money - https://aws.amazon.com/blogs/storage/migrate-your-amazon-ebs-volumes-from-gp2-to-gp3-and-save-up-to-20-on-costs/
Bug in current branch
There is a bug if we directly use the working branch to deploy
gp3
type RDS.We can run use Concourse to deploy
gp3
RDS with the working branch. Example PR hereHowever, after completion and when that namespace is in the apply pipeline, we will have the below error.
https://concourse.cloud-platform.service.justice.gov.uk/teams/main/pipelines/environments-live/jobs/apply-live-c/builds/3014#L66bcb001:25407
When we run
terraform plan
manually in that namespace, we can find below updateThe change in iops
~ iops = 3000 -> 0
is the fatal reason.According to RDS guide, we cannot change IOPS or storage throughput for engine postgres and a storage size less than 400.
However, in our RDS current module version logic, the default value of variable
db_iops
is0
and if we change it to non 0 value, the module will deployio2
type instead ofgp3
type RDS.Fix this logic so
Proposed user journey
Approach
gp2
and upgrade it togp3
io1
and upgrade it toio2
Which part of the user docs does this impact
Communicate changes
Questions / Assumptions
Definition of done
Reference
How to write good user stories