Мне нужно создать приложение веб-службы для моего клиента, используя следующую облачную среду:
Мне нужно установить сервер Tomcat на мой экземпляр Amazon EC2.
Мне нужна инфраструктура Elastic, использующая CloudWatch, Elastic Load Balancer (ELB) и службы AutoScale , предоставляемые API-интерфейсами Amazon Web Services (AWS) Java. По мере увеличения нагрузки мне нужно иметь возможность динамически масштабировать развертывание, а когда нагрузка уменьшается, мне нужно освободить потерянную емкость.
Может ли кто-нибудь научить меня, как начать с этого (желательно использовать Amazon JAVA API для выполнения большинства требований)?
Как я могу установить и настроить свой сервер Tomcat на экземпляре Amazon EC2 таким образом, чтобы он использовал использование Elasticity (ELB)? Лучше ли самому устанавливать сервер Tomcat, или я должен использовать AMI, на котором уже установлен Tomcat?
У меня уже есть файл приложения веб-службы (WAR), сгенерированный из моей среды Eclipse. Как я могу продолжить оттуда? Какие дополнительные настройки я должен выполнить, чтобы иметь возможность развернуть это приложение на моем экземпляре EC2?
Мне нужно масштабировать только этот экземпляр, чтобы продемонстрировать эластичность на этом уровне приложения. Мне нужно сгенерировать нагрузку на экземпляр - который, в свою очередь, сгенерирует предупреждение (CPUAvgUtil превышает пороговое значение) - который будет использоваться в AutoScale для запуска нового экземпляра - который ELB затем будет использовать для балансировки нагрузки входящие веб-запросы. Когда у меня много запросов, Load Balancer должен создать новый экземпляр для обслуживания веб-запроса клиента.
Может ли кто-нибудь объяснить мне, как я могу выполнить эти требования для достижения хорошей масштабируемости?
EDIT
Исходя из комментария от dtuckernet ниже, эта задача может быть автоматически выполнена с помощью Elastic beanstalk. Любые идеи о том, как сделать это вручную в Java (например, инициализировать cloudwatch, ELB и autoscale, и установить будильник для мониторинга использования процессора)? Я знаю, что это возможно, так как на самом деле Amazon имеет Java-API для этого. Однако я не смог найти пример кода на веб-сайте Amazon, который касается Cloudwatch, ELB и автомасштабирования. Я просто хочу попрактиковаться с базовой инфраструктурой, чтобы иметь полное представление об этом, вместо того, чтобы использовать бобовый стебель Amazon Elastic.