Развертывание java-приложения в облаке с помощью AWS OPSWORK

#java #amazon-web-services #aws-opsworks

#java #amazon-веб-сервисы #aws-opsworks

Вопрос:

Я новичок в aws и в настоящее время нахожусь на уровне бесплатного использования. я пытался развернуть свое java-приложение с помощью opswork. Как было предложено в демонстрационном видео на «http://www.youtube.com/watch?v=9NnWJsS4Y2cI «я создал уровень сервера приложений Java и уровень прокси-сервера ha, а поверх этих слоев я добавил экземпляры java и экземпляр loadbalancer. Оба запущены и отображаются зеленым цветом . Я также связал URL-адрес репозитория GitHub, который содержит исходный код моего приложения, а затем развернул приложение во всех экземплярах. однако, когда я пытаюсь получить доступ к своему приложению, используя эластичный IP-адрес балансировщика нагрузки, он выдает мне ошибку 503. Также, когда я проверяю свою панель управления ec2, к моему удивлению, я вижу 0 запущенных instnces. Разве создание экземпляров не должно отражаться на панели мониторинга?? А также помогите мне разобраться с ошибкой 503.

Я долго искал решение в Интернете, но безуспешно. Пожалуйста, помогите мне в этом отношении. Пожалуйста, укажите, где я ошибаюсь??

Ответ №1:

ec2: экземпляры не запущены :

Обычно это происходит потому, что вы либо не обновили, либо находитесь в неправильном регионе. В правом верхнем углу убедитесь, что вы попали в нужную область.

изображение региона

Если вы уже запустили экземпляр AWS EC2 и видите что-то вроде этого :

изображение слоя opsworks

Нажмите на конкретный IP-адрес экземпляра. Убедитесь, что вы можете просматривать веб-сайт на ожидаемых портах. Вам также необходимо настроить ELB отдельно для экземпляров Opsworks. ELB должен знать, какие порты он должен включить. Проверьте отдельные уровни, а затем проверьте журналы уровня прокси-сервера HA. Обычно я не использую прокси-сервер HA, если только он не предназначен для чего-то, что AWS еще не поддерживает: websocket.

Комментарии:

1. Да, Имран! Я понял, что экземпляры ec2 были запущены в каком-то другом регионе. В любом случае спасибо за ответ. Однако не могли бы вы рассказать в первой части о том, почему я получаю ошибку 503 при попытке получить доступ к приложению через IP-адрес балансировщика нагрузки

2. Если вы видите веб-сайт на ОБЩЕДОСТУПНОМ IP-адресе экземпляра, но БАЛАНСИРОВЩИК НАГРУЗКИ равен 503, необходимо настроить балансировщик нагрузки. EC2> БАЛАНСИРОВЩИКИ НАГРУЗКИ> выберите балансировщики нагрузки. Измените его, чтобы указать на порт внешнего мира —-> порт экземпляра. Также проверьте используемые страницы проверки РАБОТОСПОСОБНОСТИ. ИСПОЛЬЗУЙТЕ TCP, если хотите убедиться, что он работает. 404 страницы нарушат проверку работоспособности ELB. Обязательно загляните также на страницу балансировки нагрузки в Opsworks. Чтобы увидеть, отмечены ли экземпляры галочками или нет.

3. сейчас я настраиваю балансировщик нагрузки в настройках сети на уровне сервера приложений. Я фактически создал laodbalancer в той же зоне, а затем изменил порты на 8080 (как предлагало большинство людей). Также время ожидания ответа было равно 60. но все же, когда я пытаюсь получить доступ к lb, это выдает ошибку отказа в подключении. я также пытался перезапустить экземпляры. Пожалуйста, помогите мне, где я ошибаюсь!

4. У меня была аналогичная проблема с моим elb, и переключение проверки работоспособности на TCP устранило мою проблему.