Подключение внешнего интерфейса к внутреннему в AWS - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть приложение с пользовательским интерфейсом, написанное на Angular, у которого есть серверная часть, работающая на NodeJS. У меня также есть две другие службы, которые будут вызываться из серверной части NodeJS. Эти приложения работают в док-контейнерах и развернуты в кластере Kubernetes в AWS.

Поток такой:

AngularUI -> NodeJS -> Сервис1 / Сервис2

AngularUI & NodeJS находятся в одном и том же контейнере Docker, тогда как другие две службы находятся в 2 отдельных контейнерах.

Мне удалось запустить службы в Kubernetes на AWS. Звонки между сервисами (Сервис 1-> Сервис2) работают нормально, так как я вызываю их с помощью меток k8s.

Теперь я не могу понять, как совершать вызовы от внешнего интерфейса Angular к внутреннему интерфейсу NodeJS, поскольку запросы выполняются на стороне клиента. Я не могу дать IP-адрес ELB службы, так как IP-адрес меняется при каждом развертывании.

Я попытался создать AWS API Gateway, который указывает на ELB IP-адрес углового интерфейса, но не отображает страницу.

Как правильно это сделать? Любая помощь очень ценится.

1 Ответ

0 голосов
/ 04 сентября 2018

ELB имеет статическое DNS-имя хоста, например foobar.eu-west-4.elb.amazonaws.com. Когда у вас есть домен, создайте запись A (псевдоним), которая указывает на это имя хоста DNS. Э.Г.

webservice.mydomain.com -> mywebservicelb.eu-west-4.elb.amazonaws.com

Вы также можете использовать статический IP-адрес, который представляется довольно новой функцией:

Каждый сетевой балансировщик нагрузки предоставляет один IP-адрес для каждого Зона доступности в ее компетенции. Если у вас есть цели в нас-запад-2а и другие цели в us-west-2c, NLB создаст и будет управлять двумя IP адреса (по одному на AZ); подключения к этому IP-адресу будут распространяться трафик через экземпляры во всех подсетях VPC в AZ. Вы можете также укажите существующий Elastic IP для каждого AZ для еще большего контроль. С полным контролем ваших IP-адресов, сетевой нагрузки Балансер можно использовать в ситуациях, когда необходимо жестко закодированы в записи DNS, правила брандмауэра клиента и т. д.

https://aws.amazon.com/de/blogs/aws/new-network-load-balancer-effortless-scaling-to-millions-of-requests-per-second/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...