Управление AWS RDS через AWS CLI: создание, снимки и удаление
Кратко: этот материал показывает команды aws-cli для создания и удаления экземпляра RDS MySQL, создания и удаления снапшотов, а также добавления и просмотра тегов. Включены практические примеры команд, рекомендации по безопасности ключей и чек-листы для DevOps и DBA.
Введение

Вы можете легко создавать и управлять ресурсами Amazon RDS с помощью команд aws-cli. В этой статье показаны команды для создания RDS MySQL-инстанса и создания его снапшота. Также рассмотрены команды для добавления тегов, удаления инстанса и удаления снапшота.
Перечень команд, которые мы разберём:
- describe-db-instances — получить детали RDS-инстанса
- describe-db-snapshots — получить информацию о снапшотах
- describe-db-clusters — получить информацию о кластерах Aurora
- create-db-instance — создать RDS-инстанс
- add-tags-to-resource — добавить метаданные к ресурсу
- list-tags-for-resource — перечислить метаданные ресурса
- create-db-snapshot — сделать снапшот инстанса
- delete-db-snapshot — удалить существующий снапшот
- delete-db-instance — удалить RDS-инстанс
Важно: полная документация по aws-cli для RDS доступна на официальной странице AWS.
Предварительные требования
- Учетная запись AWS. Если у вас её нет — создайте.
- Базовое понимание AWS RDS.
- IAM-пользователь с политикой AdministratorAccess и его access key / secret key. (Создание IAM-пользователя и ключей описано в документации.)
- Установленный AWS CLI на локальной машине.
Что мы сделаем
- Проверим доступность aws-cli и экспортируем AWS ключи в терминал.
- Создадим тестовый RDS-инстанс MySQL, сделаем снапшот, добавим теги и затем удалим ресурсы.
Проверка aws-cli и экспорт ключей в терминал
Начнём с проверки версии aws-cli на локальной машине:
aws --verson #aws-cli/2.0.0 Python/3.8.2 Darwin/19.2.0 botocore/2.0.0dev7Экспортируем IAM-ключи в терминал (пример для Linux/macOS). Не храните ключи в скриптах в открытом виде.
export AWS_ACCESS_KEY_ID=export AWS_SECRET_ACCESS_KEY=Проверим идентичность вызывающего (caller):
aws sts get-caller-identityВажно: никогда не публикуйте и не передавайте свои access/secret ключи третьим лицам. Используйте роли IAM и ограниченные права для рабочих задач.
Управление RDS через aws-cli — базовые проверки
Проверим, какие ресурсы RDS уже существуют в аккаунте:
aws rds describe-db-instancesaws rds describe-db-snapshotsaws rds describe-db-clusters
Если ресурсов нет, команды вернут пустые списки.
Создание RDS MySQL-инстанса
Ниже пример создания простого тестового инстанса. Параметры можно подставлять свои: идентификатор, класс инстанса, объём хранилища, логин и пароль. Пароль должен быть не короче 8 символов и соответствовать требованиям безопасности.
aws rds create-db-instance --db-instance-identifier my-test-rds-mysql-instance --db-instance-class db.t3.micro --engine mysql --master-username rahul --master-user-password rahul123 --allocated-storage 5
Зайдите в консоль AWS RDS, чтобы проверить состояние создания инстанса.

После создания вы можете описать инстанс и увидеть все его параметры и статус:
aws rds describe-db-instances --db-instance-identifier my-test-rds-mysql-instance
Важно: при создании реального инстанса укажите параметры сети (VPC, subnet group), security group, параметры автоматического бэкапа, multi-AZ и т. д. В этом простом примере они опущены.
Работа с тегами RDS
Добавление тега к ресурсу — стандартный способ пометить окружение или владельца:
aws rds add-tags-to-resource --resource-name --tags "[{\"Key\": \"Env\",\"Value\": \"Test\"}]" Проверка тегов:
aws rds list-tags-for-resource --resource-name 
Совет: используйте теги для автоматизации (CI/CD), биллинга и политики безопасности.
Создание и описание снапшота
Чтобы создать снапшот существующего инстанса:
aws rds create-db-snapshot --db-instance-identifier my-test-rds-mysql-instance --db-snapshot-identifier my-test-snapshotВы можете проверить статус снапшота:
aws rds describe-db-snapshots --db-snapshot-identifier my-test-snapshot
Или посмотрите снапшоты в консоли AWS RDS.

Удаление ресурсов
Если вы создавали тестовые ресурсы, не забудьте их удалить, чтобы не платить за них дальше.
Сначала удалим снапшот:
aws rds delete-db-snapshot --db-snapshot-identifier my-test-snapshotЗатем удалим инстанс. Если хотите избежать финального снапшота, укажите –skip-final-snapshot. В противном случае система предложит создать финальный снапшот перед удалением.
aws rds delete-db-instance --db-instance-identifier my-test-rds-mysql-instance --skip-final-snapshot
Проверяем отсутствие ресурсов:
aws rds describe-db-snapshotsaws rds describe-db-instances
Полезные советы по безопасности и управлению ключами
- Никогда не храните AWS ключи в репозиториях. Используйте aws-vault, профиль с MFA или IAM-роли для EC2/Lambda.
- Ограничивайте права IAM принципом наименьших привилегий. Для управления конкретными RDS-операциями создайте политику с минимальными необходимыми правами.
- Для резервного копирования и восстановления протестируйте процедуру восстановления из снапшота в отдельном аккаунте или изолированной сети.
Альтернативные подходы
- Консоль AWS — удобна для однократных операций и визуальной проверки.
- AWS SDK (Python boto3, JavaScript AWS SDK) — для автоматизации и интеграции с приложениями.
- Infrastructure as Code (Terraform, CloudFormation) — для декларативного управления инфраструктурой и повторяемости.
Когда указанные команды могут не сработать
- Нехватка прав IAM: пользователь не имеет нужной политики.
- Ограничения квот AWS: превышение лимитов инстансов или объёма хранилища.
- Регион: ресурсы создаются в конкретном регионе; проверьте aws configure или параметр –region.
- Неправильный ARN при добавлении тегов.
Чек-листы по ролям
DevOps:
- Убедиться в наличии профиля AWS CLI и прав.
- Проверить VPC/subnet и security group перед созданием инстанса.
- Автоматизировать создание снапшотов и ротацию.
DBA:
- Настроить параметры бэкапа и retention policy.
- Тестировать восстановление из снапшотов.
- Контролировать производительность и параметры экземпляра.
Security:
- Проверить IAM-политики и удалить чрезмерные права.
- Настроить мониторинг CloudWatch на подозрительную активность.
- Хранить бэкапы в зашифрованном виде.
Шпаргалка команд (cheat sheet)
- Показать инстансы: aws rds describe-db-instances
- Показать снапшоты: aws rds describe-db-snapshots
- Создать инстанс: aws rds create-db-instance –db-instance-identifier
–db-instance-class –engine mysql –master-username –master-user-password –allocated-storage - Добавить теги: aws rds add-tags-to-resource –resource-name
–tags “[{\”Key\”:\”KeyName\”,\”Value\”:\”Value\”}]” - Создать снапшот: aws rds create-db-snapshot –db-instance-identifier
–db-snapshot-identifier - Удалить снапшот: aws rds delete-db-snapshot –db-snapshot-identifier
- Удалить инстанс: aws rds delete-db-instance –db-instance-identifier
–skip-final-snapshot
Процедура восстановления из снапшота — мини-методология
- Найдите идентификатор снапшота: aws rds describe-db-snapshots
- Восстановите инстанс из снапшота:
aws rds restore-db-instance-from-db-snapshot --db-instance-identifier restored-instance --db-snapshot-identifier my-test-snapshot- Проверьте статус: aws rds describe-db-instances –db-instance-identifier restored-instance
- Присвойте необходимые security group и параметры сети.
Ментальные модели и эвристики
- «Create, Describe, Tag, Snapshot, Delete» — последовательность операций при работе с тестовыми инстансами.
- Всегда думайте о стоимости: ненужные инстансы и снапшоты создают расходы.
- Используйте теги для автоматизации жизненного цикла (например, удалить ресурсы с тегом temp через 24 часа).
Диаграмма принятия решения
flowchart TD
A[Нужно создать RDS?] -->|Да| B{Это тест или прод?}
B -->|Тест| C[Использовать простой инстанс db.t3.micro]
B -->|Прод| D[Выбрать подходящий класс, Multi-AZ, backup windows]
C --> E[Добавить теги и snapshot policy]
D --> E
E --> F{Нужна автоматизация?}
F -->|Да| G[Использовать Terraform или CloudFormation]
F -->|Нет| H[Использовать aws-cli или консоль]Критерии приёмки
- Инстанс создан и в состоянии available.
- Снапшот создан и имеет статус available.
- Теги присутствуют и корректны по ключам/значениям.
- Ресурсы успешно удаляются без остаточных данных.
Заключение
В этой статье мы рассмотрели базовые команды aws-cli для работы с Amazon RDS: создание MySQL-инстанса, добавление тегов, создание и описание снапшотов, а также удаление ресурсов. Используйте представленный чек-лист и шпаргалку для быстрого старта, а также внедряйте IAM-роли и автоматизацию для безопасной и предсказуемой эксплуатации.
Важно: тестируйте восстановление из снапшотов и применяйте принцип наименьших привилегий в IAM.
Примечания
- Если вы планируете использовать этот материал в проде, расширьте команды параметрами VPC, subnet, security group и шифрованием.
- Для сценариев CI/CD рекомендуется переводить команды в скрипты с использованием переменных окружения и ограниченных ролей.
Похожие материалы
Herodotus: механизм и защита Android‑трояна
Включить новое меню «Пуск» в Windows 11
Панель полей сводной таблицы в Excel — руководство
Включить новое меню «Пуск» в Windows 11
Дубликаты Диспетчера задач в Windows 11 — как исправить