Я хочу, чтобы мои экземпляры EC2 в группе автоматического масштабирования могли подключаться к классическому балансировщику нагрузки, за которым стоят серверы RabbitMQ.
Вот мои конфигурации:
EC2s 'группа безопасности:
my-private-sg
(sg-00xxxxxxxxxxxxxxx
)
Классическая группа безопасности классического балансировщика нагрузки:
rabbitmq-elb-sg
(sg-11xxxxxxxxxxxxxxx
)
rabbitmq-elb-sg
группа безопасности содержит следующее входящее правило
![enter image description here](https://i.stack.imgur.com/rhtrl.png)
Клиент RabbitMQ внутри EC2 не может подключиться к балансировщику нагрузки в этой конфигурации.
Однако он может подключиться к балансировщику нагрузки после того, как я установил источник на AnyWhere
.
![enter image description here](https://i.stack.imgur.com/9XIJ0.png)
Почему это происходит?
В этом документе написано
Another security group. This allows instances associated with the specified security group to access instances associated with this security group.
EC2, балансировщик нагрузки и EC2 за балансировщиком нагрузки находятся в одном и том же VPC.
Я использую классический балансировщик нагрузки, потому что я использую этот сценарий terraform для построения службы RabbitMQ.
Я только что проверил журнал в классическом балансировщике нагрузки и вижу что-то вроде следующего:
2019-10-16T03:45:09.124234Z rabbitmq-elb 54.178.178.85:45990 172.31.39.217:5672 0.000274 0.000008 0.000015 - - 516 604 "- - - " "-" - -
2019-10-16T03:45:10.340119Z rabbitmq-elb 54.178.178.85:46006 172.31.0.79:5672 0.001159 0.000008 0.000015 - - 516 604 "- - - " "-" - -
54.178.178.85
- это публичный IP-адрес моего экземпляра EC2.
172.31.39.217
и 172.31.0.79
- это частные IP-адреса серверов RabbitMQ за балансировщиком нагрузки.