mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-08 21:34:25 +00:00
refactor(aws/rds/snippets): give rds its own file
This commit is contained in:
@@ -382,88 +382,6 @@ aws kms list-aliases --query 'Aliases[?AliasName.contains(@,`staging`)]'
|
||||
aws kms list-aliases --query 'Aliases[?AliasName.contains(@,`prod`)]|[*].{"Alias":@.AliasName,"KeyId":@.TargetKeyId}'
|
||||
|
||||
|
||||
###
|
||||
# RDS
|
||||
# ------------------
|
||||
# Names are case-insensitive and will be shown as lowercase.
|
||||
###
|
||||
|
||||
aws rds describe-db-instances --db-instance-identifier 'some-test' --output 'yaml' \
|
||||
--query 'DBInstances[].{"DBInstanceStatus":DBInstanceStatus,"PendingModifiedValues":PendingModifiedValues}'
|
||||
|
||||
aws rds start-export-task \
|
||||
--export-task-identifier 'db-finalSnapshot-2024' \
|
||||
--source-arn 'arn:aws:rds:eu-west-1:012345678901:snapshot:db-prod-final-2024' \
|
||||
--s3-bucket-name 'backups' --s3-prefix 'rds' \
|
||||
--iam-role-arn 'arn:aws:iam::012345678901:role/CustomRdsS3Exporter' \
|
||||
--kms-key-id 'arn:aws:kms:eu-west-1:012345678901:key/abcdef01-2345-6789-abcd-ef0123456789'
|
||||
|
||||
# Change the storage type
|
||||
aws rds modify-db-instance --db-instance-identifier 'instance-name' --storage-type 'gp3' --apply-immediately
|
||||
|
||||
# Show available upgrade target versions for a given DB engine version.
|
||||
aws rds describe-db-engine-versions --engine 'postgres' --engine-version '13' \
|
||||
--query 'DBEngineVersions[*].ValidUpgradeTarget[*]'
|
||||
aws rds describe-db-engine-versions --engine 'postgres' --engine-version '13.12' \
|
||||
--query 'DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}[?AutoUpgrade==`true`][]'
|
||||
|
||||
# Start upgrading.
|
||||
# Requires downtime.
|
||||
aws rds modify-db-instance --db-instance-identifier 'my-db-instance' --engine-version '14.20' --apply-immediately
|
||||
aws rds modify-db-instance --db-instance-identifier 'my-db-instance' \
|
||||
--engine-version '14.15' --allow-major-version-upgrade --no-apply-immediately
|
||||
|
||||
# Max 5 running at any given time, RDS cannot queue
|
||||
echo {1..5} | xargs -p -n '1' -I '{}' aws rds start-export-task …
|
||||
|
||||
aws rds describe-export-tasks --query 'ExportTasks[].WarningMessage' --output 'json'
|
||||
|
||||
aws rds restore-db-instance-to-point-in-time \
|
||||
--source-db-instance-identifier 'awx' --target-db-instance-identifier 'awx-pitred' \
|
||||
--restore-time '2024-07-31T09:29:40+00:00' \
|
||||
--allocated-storage '20'
|
||||
|
||||
aws rds restore-db-instance-from-db-snapshot \
|
||||
--db-instance-identifier 'awx-pitr-snapshot' \
|
||||
--db-snapshot-identifier 'rds:awx-2024-07-30-14-15'
|
||||
|
||||
aws rds delete-db-instance --db-instance-identifier 'awx'
|
||||
aws rds delete-db-instance --db-instance-identifier 'awx-with-backups' \
|
||||
--skip-final-snapshot --delete-automated-backups --no-cli-pager
|
||||
|
||||
aws rds describe-db-parameters --db-parameter-group-name 'default.postgres15'
|
||||
aws rds describe-db-parameters --db-parameter-group-name 'default.postgres15' \
|
||||
--query "Parameters[?ParameterName=='shared_preload_libraries']" --output 'table'
|
||||
aws rds describe-db-parameters --db-parameter-group-name 'default.postgres15' \
|
||||
--query "Parameters[?ParameterName=='shared_preload_libraries'].ApplyMethod" --output 'text'
|
||||
aws rds describe-db-parameters --db-parameter-group-name 'default.postgres15' \
|
||||
--output 'json' --query "Parameters[?ApplyType!='dynamic']"
|
||||
|
||||
aws rds create-db-snapshot --db-instance-identifier 'some-db-instance' --db-snapshot-identifier 'some-db-snapshot'
|
||||
|
||||
aws rds describe-db-instances --db-instance-identifier 'some-instance' \
|
||||
--query 'DBInstances[0].InstanceCreateTime' --output 'text'
|
||||
|
||||
aws rds describe-db-instances --db-instance-identifier 'some-db-instance' --output 'text' \
|
||||
--query 'DBInstances[0].Endpoint|join(`:`,[Address,to_string(Port)])'
|
||||
aws rds describe-db-instances --db-instance-identifier 'some-db-instance' --output 'text' \
|
||||
--query '
|
||||
DBInstances[0]
|
||||
| join(``, [
|
||||
`postgresql://`,
|
||||
MasterUsername,
|
||||
`:`,
|
||||
`PASSWORD_PLACEHOLDER`,
|
||||
`@`,
|
||||
Endpoint.Address,
|
||||
`:`,
|
||||
to_string(Endpoint.Port),
|
||||
`/`,
|
||||
DBName || `postgres`
|
||||
])
|
||||
'
|
||||
|
||||
|
||||
###
|
||||
# Route53
|
||||
# ------------------
|
||||
|
||||
92
snippets/aws/rds.fish
Normal file
92
snippets/aws/rds.fish
Normal file
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/env fish
|
||||
|
||||
###
|
||||
# DB instances' names are case-insensitive.
|
||||
# Keep them here in lowercase.
|
||||
###
|
||||
|
||||
aws rds describe-db-instances --db-instance-identifier 'some-test' --output 'yaml' \
|
||||
--query 'DBInstances[].{"DBInstanceStatus":DBInstanceStatus,"PendingModifiedValues":PendingModifiedValues}'
|
||||
|
||||
aws rds start-export-task \
|
||||
--export-task-identifier 'db-finalSnapshot-2024' \
|
||||
--source-arn 'arn:aws:rds:eu-west-1:012345678901:snapshot:db-prod-final-2024' \
|
||||
--s3-bucket-name 'backups' --s3-prefix 'rds' \
|
||||
--iam-role-arn 'arn:aws:iam::012345678901:role/CustomRdsS3Exporter' \
|
||||
--kms-key-id 'arn:aws:kms:eu-west-1:012345678901:key/abcdef01-2345-6789-abcd-ef0123456789'
|
||||
|
||||
# Change the storage type
|
||||
aws rds modify-db-instance --db-instance-identifier 'instance-name' --storage-type 'gp3' --apply-immediately
|
||||
|
||||
# Show available upgrade target versions for a given DB engine version.
|
||||
aws rds describe-db-engine-versions --engine 'postgres' --engine-version '13' \
|
||||
--query 'DBEngineVersions[*].ValidUpgradeTarget[*]'
|
||||
aws rds describe-db-engine-versions --engine 'postgres' --engine-version '13.12' \
|
||||
--query 'DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}[?AutoUpgrade==`true`][]'
|
||||
|
||||
# Start upgrading.
|
||||
# Requires downtime.
|
||||
aws rds modify-db-instance --db-instance-identifier 'my-db-instance' --engine-version '14.20' --apply-immediately
|
||||
aws rds modify-db-instance --db-instance-identifier 'my-db-instance' \
|
||||
--engine-version '14.15' --allow-major-version-upgrade --no-apply-immediately
|
||||
|
||||
# Max 5 running at any given time, RDS cannot queue
|
||||
echo {1..5} | xargs -p -n '1' -I '{}' aws rds start-export-task …
|
||||
|
||||
aws rds describe-export-tasks --query 'ExportTasks[].WarningMessage' --output 'json'
|
||||
|
||||
aws rds restore-db-instance-to-point-in-time \
|
||||
--source-db-instance-identifier 'awx' --target-db-instance-identifier 'awx-pitred' \
|
||||
--restore-time '2024-07-31T09:29:40+00:00' \
|
||||
--allocated-storage '20'
|
||||
aws rds restore-db-instance-to-point-in-time \
|
||||
--source-db-instance-identifier 'awx' --target-db-instance-identifier 'awx-pitred' \
|
||||
--use-latest-restorable-time \
|
||||
--db-instance-class 'db.m8g.xlarge' \
|
||||
--no-multi-az --availability-zone 'eu-west-1a' \
|
||||
--db-subnet-group-name 'default' --no-publicly-accessible \
|
||||
--db-parameter-group-name 'postgresql14' --option-group-name 'default:postgres-14' \
|
||||
--storage-type 'gp3' \
|
||||
--no-dedicated-log-volume \
|
||||
--no-auto-minor-version-upgrade \
|
||||
--no-deletion-protection
|
||||
|
||||
aws rds restore-db-instance-from-db-snapshot \
|
||||
--db-instance-identifier 'awx-pitr-snapshot' \
|
||||
--db-snapshot-identifier 'rds:awx-2024-07-30-14-15'
|
||||
|
||||
aws rds delete-db-instance --db-instance-identifier 'awx'
|
||||
aws rds delete-db-instance --db-instance-identifier 'awx-with-backups' \
|
||||
--skip-final-snapshot --delete-automated-backups --no-cli-pager
|
||||
|
||||
aws rds describe-db-parameters --db-parameter-group-name 'default.postgres15'
|
||||
aws rds describe-db-parameters --db-parameter-group-name 'default.postgres15' \
|
||||
--query "Parameters[?ParameterName=='shared_preload_libraries']" --output 'table'
|
||||
aws rds describe-db-parameters --db-parameter-group-name 'default.postgres15' \
|
||||
--query "Parameters[?ParameterName=='shared_preload_libraries'].ApplyMethod" --output 'text'
|
||||
aws rds describe-db-parameters --db-parameter-group-name 'default.postgres15' \
|
||||
--output 'json' --query "Parameters[?ApplyType!='dynamic']"
|
||||
|
||||
aws rds create-db-snapshot --db-instance-identifier 'some-db-instance' --db-snapshot-identifier 'some-db-snapshot'
|
||||
|
||||
aws rds describe-db-instances --db-instance-identifier 'some-instance' \
|
||||
--query 'DBInstances[0].InstanceCreateTime' --output 'text'
|
||||
|
||||
aws rds describe-db-instances --db-instance-identifier 'some-db-instance' --output 'text' \
|
||||
--query 'DBInstances[0].Endpoint|join(`:`,[Address,to_string(Port)])'
|
||||
aws rds describe-db-instances --db-instance-identifier 'some-db-instance' --output 'text' \
|
||||
--query '
|
||||
DBInstances[0]
|
||||
| join(``, [
|
||||
`postgresql://`,
|
||||
MasterUsername,
|
||||
`:`,
|
||||
`PASSWORD_PLACEHOLDER`,
|
||||
`@`,
|
||||
Endpoint.Address,
|
||||
`:`,
|
||||
to_string(Endpoint.Port),
|
||||
`/`,
|
||||
DBName || `postgres`
|
||||
])
|
||||
'
|
||||
Reference in New Issue
Block a user