Хранение AMI в комплекте на Amazon EC2
Я совершенно новичок в настройке серверов и работе с EC2, поэтому, пожалуйста, потерпите меня.
Мне удалось после долгих усилий вытащить сервер с Ubuntu и запустить его с memcached и некоторыми другими вкусностями, которые могли бы стать для меня отличным пакетом.
Однако я подумал, что, сохраняя его как AMI с этим инструментом, я смогу иметь доступ к memcached в следующий раз, когда я запустил экземпляр, основанный на этом образе. Что я могу сделать, чтобы убедиться, что моя конфигурация правильно сохранена в экземпляре?
Вопрос номер два: - Могу ли я когда-нибудь создать команду, которая будет автоматически запускаться при создании сервера, например, инициировать memcache с помощью "memcache -d -m 1700 -u root" или даже пакет из них?
2 ответа
Я не знаю, поможет ли это, но я недавно написал статью в блоге о том, как сделать почти такую же вещь: http://winnersdontlose.com/?p=95
В AWS также есть рекомендуемый способ передачи переменных пользовательского пространства в экземпляры (я думаю, они называют их командами инициализации... похоже на предоставление параметров времени загрузки ядру). Тем не менее, лучший способ сделать то, о чем вы говорите, это настроить AMI, в котором ваш стартовый скрипт memcache (/etc/init.d/memcached) имеет параметры, которые вы хотите встроить. После этого вы захотите чтобы убедиться, что ваша конфигурация для уровня запуска 4 содержит сигнал запуска memcached (/etc/init.d/rc4.d/Sxxmemcached).
Если вы создаете свой собственный пользовательский AMI из своего запущенного экземпляра, вы можете сохранить его на S3 или, как это делает инструмент, на который вы ссылаетесь, на томе EBS. В любом случае, пользовательский AMI будет содержать все дополнительные пакеты, которые вы установили, а новые экземпляры, которые вы запускаете с использованием этого AMI, будут иметь все предустановленные пакеты.
Вы можете запустить команду автоматически при запуске экземпляра, просто создав обычный скрипт запуска в /etc/init.d - экземпляры EC2 всегда запускаются на уровне выполнения 4, поэтому просто убедитесь, что ваш сценарий настроен на выполнение на этом уровне, и вы будет хорошо идти.