Приложение, запущенное в Настройки на ЕВ отказывается от подключения к собственн


У меня есть веб-приложение Play 2, которое я развертываю в Elastic Beanstalk с помощью Docker. В этом веб-приложении я запускаю кластер Akka. Начальная процедура включает добавление всех узлов в группу автоматического масштабирования в качестве начальных узлов (включая его самого). При первом развертывании в EB я указываю развернуть в VPC (я выбираю только одну зону доступности).

Когда я запускаю приложение и запускаю кластер, я получаю следующее сообщение:

AssociationError [акка.tcp://cluster@localhost:2551] - > [акка.tcp://cluster@172.31.13.25:2551]: ошибка [неверный адрес: akka.tcp://cluster@172.31.13.25:2551] [ акка.дистанционный.Invalidassocation: неверный адрес: akka.tcp://cluster@172.31.13.25:2551 Вызвано: акка.дистанционный.транспорт.Transport$InvalidAssociationException: отказано в подключении: /172.31.13.25: 2551

Где 172.31.13.25-IP экземпляра EC2, а 2551-порт. В моем Dockerfile у меня есть "EXPOSE 9000 2551". В группе безопасности EC2 я включил весь входящий трафик to
0.0.0.0/0 (и весь исходящий трафик). В Сети VPC ACL (и группах безопасности) я также открыл для всего трафика.

Это мой Dockerfile

FROM dockerfile/java:latest
MAINTAINER a <a@b.de>
EXPOSE 9000 2551
ADD files /
WORKDIR /opt/docker
RUN ["chown", "-R", "daemon", "."]
USER daemon
ENTRYPOINT ["bin/myapp"]
CMD []

Почему мой экземпляр EC2 отказывается от соединения с самим собой на порту 2551?

1 4

1 ответ:

Оказывается, что на данный момент это невозможно с помощью Docker на эластичном бобовом стебле. Это, однако, возможно с помощью Tomcat.

С помощью play / activator можно развернуть файл WAR. Путем инъекции следующего .файл конфигурации ebextensions в файл war, я смог получить дополнительный порт, открытый между экземплярами EC2:

Resources:
  ExtraPortsSGIngress:
    Type: AWS::EC2::SecurityGroupIngress
    Properties:
      GroupId: { "Ref" : "AWSEBSecurityGroup" }
      IpProtocol: "tcp"
      FromPort: "2551"
      ToPort: "2551"
      SourceSecurityGroupId: { "Ref" : "AWSEBSecurityGroup" }