Я относительно новичок в Amazon Web Services, и я пытаюсь понять, как Elastic Load Balancing будет работать в контексте моей настройки WordPress. Кроме того, я хотел бы получить совет по предлагаемой инфраструктуре.
Моя первоначальная предлагаемая инфраструктура выглядит следующим образом:
EC2 Мой текущий EC2 (t1.micro) использует стек LAMP и настроен для запуска wordpress.
Я хотел бы сбалансировать это с помощью экземпляра m1.small, запустив клон экземпляра t1.micro.
Текущие неизвестные для меня следующие:
Это может быть довольно глупый вопрос, но я предполагаю, что некоторые проблемы не будут актуальными, поскольку инфраструктура ссылается на одну базу данных.
Наконец, есть ли лучший способ настроить инфраструктуру для балансировки нагрузки? Т.е. стоит ли рассматривать возможность использования Amazon S3 для хранения всех моих файлов и использования Cloudfront в качестве CDN для обеспечения эффективной работы и решения любых проблем с репликацией файлов EBS.
Любая помощь очень ценится.
Ллойд
Веб-приложения без сохранения состояния сложны.
Как вы знаете, wordpress в значительной степени полагается на то, что записывается на диск. Вот предлагаемая инфраструктура
Теперь самое сложное.
Давайте на секунду забудем об обновлениях кодовой базы и посмотрим, как сделать все это без состояния. Чтобы сделать эту штуку масштабируемой по горизонтали, необходимо сделать следующее:
Это позаботится о настройке
Как внедрить новые изменения
Вы будете использовать свой микро-экземпляр для всех будущих изменений в установке wordpress. Это включает в себя такие вещи, как обновление wordpress, обновление файлов вашей темы и почти все, что хранится на диске.
Вам нужно будет создать два скрипта:
Первый будет использован для развертывания изменений в группе автомасштабирования. Он должен сделать следующее:
Второй сценарий будет жить в экземплярах группы автоматического масштабирования и запускаться первым сценарием, а также запускаться при первой инициализации экземпляра. Он должен сделать следующее:
Каждый раз, когда вы вносите какие-либо изменения в системные файлы, вы должны запускать приведенный выше сценарий развертывания. это затем распространит изменения на все производственные экземпляры.
Теперь создайте базовый AMI для производственных экземпляров. Он должен быть очень похож на микро-экземпляр, однако wordpress не должен устанавливаться. Вы будете использовать пользовательские данные, переданные в экземпляры ec2 при запуске, чтобы запустить второй сценарий, указанный выше, чтобы загрузить последнюю версию кодовой базы из микро-экземпляра.
И последнее ... Если вы используете любую форму электронной коммерции, вам понадобится сертификат SSL, установленный на балансировщике нагрузки. взгляните на руководство здесь: http://www.nczonline.net/blog/2012/08/15/setting-up-ssl-on-an-amazon-elastic-load-balancer/