У меня есть 2 базы данных на AWS RDS, одна для stage
и одна для production
для двух учетных записей. Я пытаюсь скопировать данные из production
в stage
каждые x дней. Я планировал сделать копию самого последнего автоматического снимка резервной копии c в production
и поделиться им с учетной записью stage
перед созданием базы данных в stage
с использованием общего снимка из production
. Все шло как надо, пока я не наткнулся на то, что, по моему мнению, является ошибкой, но я мог легко ошибиться.
Когда я пытался получить самый последний общий снимок с идентификатором abcd
в Terraform с data "aws_db_snapshot"
я ничего не получил.
data "aws_db_snapshot" "latest_prod_snapshot" {
db_instance_identifier = "abcd"
snapshot_type = "shared"
include_shared = "true"
most_recent = "true"
}
Тогда я решил попробовать AWS CLI. Когда я запускаю это ...
aws rds describe-db-snapshots --snapshot-type shared --include-shared
... я получаю это ...
{
"DBSnapshots": [
{
"MasterUsername": "root",
"LicenseModel": "general-public-license",
"InstanceCreateTime": "2018-01-13T00:00:00.000Z",
"Engine": "mysql",
"VpcId": "vpc-0000000000000000",
"SourceRegion": "us-east-1",
"AllocatedStorage": 20,
"Status": "available",
"PercentProgress": 100,
"SourceDBSnapshotIdentifier": "arn:aws:rds:us-east-1:000000000000:snapshot:rds:abcd-2020-01-13-00-00",
"DBSnapshotIdentifier": "arn:aws:rds:us-east-1:000000000000:snapshot:rds:abcd-2020-01-13-00-00",
"DBSnapshotArn": "arn:aws:rds:us-east-1:000000000000:snapshot:rds:abcd-2020-01-13-00-00",
"EngineVersion": "5.6.41",
"ProcessorFeatures": [],
"OptionGroupName": "default:mysql-5-6",
"SnapshotCreateTime": "2020-01-13T00:00:00.000Z",
"AvailabilityZone": "us-east-1b",
"StorageType": "gp2",
"Encrypted": false,
"IAMDatabaseAuthenticationEnabled": false,
"DbiResourceId": "db-AAAAAAAAAAAAAAAAAAAAAAAAA",
"SnapshotType": "shared",
"Port": 3306,
"DBInstanceIdentifier": "abcd"
}
]
}
... что я и ожидал. Глядя на ответ, я ожидаю, что идентификатор экземпляра БД будет abcd
, но когда я запущу это ...
aws rds describe-db-snapshots --snapshot-type shared --include-shared --db-instance-identifier abcd
... или это ...
aws rds describe-db-snapshots --snapshot-type shared --include-shared --filters Name=db-instance-id,Values=abcd
... Я понял ...
{
"DBSnapshots": []
}
... что я не ожидал. Это ошибка или я что-то не так делаю? Я просмотрел их документацию, но, возможно, что-то пропустил.