amazon-web-services #amazon-rds #aws-cli
#amazon-web-services #amazon-rds #aws-cli
Вопрос:
Как я могу получить самый последний моментальный снимок для конкретного экземпляра базы данных с помощью AWS CLI?
Я могу легко получить их через графический интерфейс, но я хотел бы автоматизировать это.
Ответ №1:
Вы можете использовать команду aws rds describe-db-snapshots
CLI для получения списка снимков БД, а затем запустить локальный запрос, используя --query
для получения последнего снимка БД с помощью SnapshotCreateTime
поля.
SnapshotCreateTime -> (временная метка)
Указывает, когда был сделан снимок по всемирному координированному времени (UTC). Изменения для копии при копировании моментального снимка.
Что-то вроде этого:
aws rds describe-db-snapshots
--db-instance-identifier your-id
--query "sort_by(DBSnapshots, amp;SnapshotCreateTime)[-1].{id:DBSnapshotIdentifier,time:SnapshotCreateTime}"
Обратите внимание, что этот запрос сортирует снимки по возрастанию SnapshotCreateTime, а затем просто выбирает последний в списке (как указано в [-1] ), который будет последним, который был создан последним.
[Добавлено] если вы ищете снимки кластеров Aurora DB, вам придется использовать describe-db-cluster-snapshots
вместо describe-db-snapshots
, но в остальном процесс аналогичен: используйте DBClusterSnapshots
and DBClusterSnapshotIdentifier
(вместо DBSnapshots
and DBSnapshotIdentifier
).
Комментарии:
1. i.stack.imgur.com/lTG1Q.jpg это то, что я вижу в Amazon, но когда я это делаю
aws rds describe-db-snapshots
{ "DBSnapshots": [] }
, я возвращаюсь. Разве я не должен возвращать все снимки, которые у меня есть?2. Вы используете awscli для правильного региона? Я ожидаю увидеть все автоматические (системные) и ручные снимки.
3. @jarmond — Оказывается, мне нужно было сделать
describe-db-cluster-snapshots
вместоdescribe-db-snapshots
.