Как зарегистрировать несколько целевых групп с помощью команды aws ecs cli service - PullRequest
1 голос
/ 08 марта 2020

В настоящее время я развернул веб-сервер с помощью команды aws ecs cli compose service up cli и дополнительно зарегистрировал домен в службе маршрута 53, зарегистрировал сертификат через Amazon Certificate Manager. Используя ALB (балансировщик нагрузки приложения), я могу выполнить динамическое сопоставление портов c и https для моего веб-приложения, но здесь есть проблема.

Использование docker составляет в качестве схемы для мое веб-приложение, которое состоит из 3-х контейнеров, веб-интерфейса, loopback и базы данных (пн go), динамическое c отображение порта моего контейнера-интерфейса и HTTPS в порядке и отлично работает

enter image description here

Однако проблема возникает в контейнере обратной петли, есть вероятность, что веб-интерфейсу необходимо получить что-то через сервер API обратной связи (который использует порт 3002), но контейнер обратной петли не настроен в https, вызывающий приведенную ниже ошибку при вызове API.

enter image description here

С помощью команды ecs cli compose service up я могу настроить целевую группу, чтобы elb мог пересылать запрос к интерфейсу внешнего интерфейса (используя атрибуты --target-group-arn, --container-name и --container-port для указания контейнера внешнего интерфейса с указанной целевой группой c), но это Кажется, mmand не может сопоставить 2-ю целевую группу с моим кольцевым контейнером. Чтение https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html, которое, как представляется, допускает возможность использования нескольких целевых групп для службы, но я не могу понять, как использовать команду create service для соединения моих контейнеров docker без использования пользователя ecs cli compose service up команда.

Есть ли способ

  1. Использовать команду ecs cli compose service up для регистрации нескольких целевых групп в моих контейнерах?
  2. Применить https также к моей обратной петле URL ( какое доменное имя myDomain.com:3002)?

=============================== ======================

Последующие задачи

  1. Создано 2 целевые группы

enter image description here

Настроенные правила и слушатели

enter image description here enter image description here

Зная, что служба ecs cli up не может зарегистрировать несколько групп, я пытался сделать это через консоль, все еще можно зарегистрировать только 1 контейнер enter image description here

Спасибо и благодарю за все помогает

1 Ответ

3 голосов
/ 08 марта 2020
  1. Что касается вашего вопроса, то возможно выполнить это с помощью консоли AWS, но ecs cli в настоящее время не поддерживает несколько целевых групп на данный момент.

вы можете проверить это ecs-cli compose service с балансировщиком нагрузки и учтите это amazon-ecs-cli-register-service .

Вторая ошибка произошла, когда приложение внешнего интерфейса пытается использовать ресурсы load mix HTTP и https. Вы можете посмотреть на ошибку, могут быть stati c или вызовы API, основанные на HTTP, преобразуйте все эти вызовы в HTTPS, тогда все должно работать нормально. Вы можете проверить, что ошибка выглядит как stati c загрузка файла с сайта http.

После применения HTTPS оно должно указывать на https://example.com или https://api.example.com, порт не требуется для HTTP вызовите его, если он связан со стандартным HTTPS-портом.

Обновление:

ALB traffi маршрута целевой группы c на основе целевой группы, поэтому целевая группа содержит нужный контейнер. добавив скриншот, чтобы сделать его более понятным. enter image description here

...