Beanstalk UI env пытается получить доступ к Beanstalk API env, подключенному к RDS в том же VP C - приводит к превышению времени ожидания подключения - PullRequest
1 голос
/ 09 февраля 2020

Beanstalk A - Хостинг UI Beanstalk B - Хост API RDS - Хост SQL DB и не публикуемый c

1) Я не подключал B к RDS в конфигурации, но Я получаю доступ к RDS через B, устанавливая переменные env и устанавливая группу безопасности RDS, чтобы разрешить входящий MYSQL из B 2) Я могу s sh в B и получить доступ к RDS через B 3) У меня есть и A, и B балансировщик нагрузки и за https 4) Оба A и B, работающие на javascript / node js 5) B имеют правило входящего трафика, разрешающее все TCP из A

ПРОБЛЕМА:

Когда I go к URL-адресу A и выполнить поиск, который в конечном итоге попадет в B, я получаю сообщение об ошибке «Connect ETIMEDOUT».

Я понимаю, что это как-то связано с разрешением доступа, но у меня есть группа безопасности RDS, разрешающая B, и группа безопасности B, разрешающая A. Так что я делаю не так?

1 Ответ

1 голос
/ 09 февраля 2020

Как происходят вызовы API? Делает ли A вызовы API для B из кода на стороне сервера или в коде Front-end JavaScript?


Если A выполняет вызовы API для B из кода на стороне сервера:

Сначала убедитесь, что верно следующее: Балансировщик нагрузки B принимает трафики c из группы безопасности, назначенной серверу EC2 A. Сервер B EC2 принимает трафики c из группы безопасности, назначенной для Балансировщик нагрузки B.

Вам может потребоваться сделать балансировщик нагрузки для B частным, чтобы трафик c между A и B оставался в пределах VP C. Если трафик c идет из службы A из VP C и обратно в VP C для обращения к услуге B, то связь с группами безопасности теряется, и поэтому правило группы безопасности для балансировщика нагрузки B не будет работать.


Если A выполняет вызовы API из интерфейса JavaScript код:

Группа безопасности, назначенная для балансировщика нагрузки B должны будут иметь те же правила, что и балансировщик нагрузки A, который, как я предполагаю, разрешает все трафик HTTP / HTTPS c из любого источника. Это связано с тем, что вызовы API в действительности происходят через Inte rnet, исходящие из веб-браузера пользователя на его локальном компьютере, а не с сервера A.

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