Прежде чем перейти к вашим вопросам, я бы посоветовал вам сделать резервную копию базы данных MySQL в файл, который не хранится в виде моментального снимка или в EBS, прежде чем приступить к созданию образа. (И, конечно, проверьте, что вы можете восстановить его где-то еще, чем ваша производственная система.)
Я использую:
mysqldump --add-drop-table -u root -p databasename > database.sql
для резервного копирования и:
mysql -u root -p databasename < database.sql
восстановить.
- Нет, вам не нужно закрывать MySQL, но вы должны предотвратить записи в базу данных при создании AMI.
- Нет, создание AMI также создает новый снимок вашего тома EBS (с содержимым, каким оно было во время создания образа).
- да, см. 2
Немного больше информации:
Я предпочитаю закрывать базу данных, когда это возможно при создании снимков или создании снимков. Тем не менее, я ни в коем случае не эксперт MySQL, но вот некоторые рекомендации от http://aws.amazon.com/articles/1663?_encoding=UTF8&jiveRedirect=1
Запустите сеанс MySQL на экземпляре, используя пароль, который вы указали выше.
mysql -u root -p
В сеансе mysql сбросьте таблицы на диск и установите блокировку. Записать файловую систему на диск и заморозить ее. Не выходите из сеанса MySQL, иначе вы потеряете блокировку и снимок потенциально несовместимых файлов базы данных!
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
SYSTEM sudo xfs_freeze -f /vol