AWS ECS - 无法从同一子网上的 ECS 容器实例连接到 RabbitMQ EC2 实例
AWS ECS - Can't connect to RabbitMQ EC2 instance from ECS container instance on the same subnet
我正在构建一个应用程序,我将在 ECS container instance
上有多个 Docker services
运行 通过 RabbitMQ
相互通信,后者在单独的 EC2 instance
上运行] 在同一个 VPC
和同一个子网中。 RabbitMQ
安全组配置为允许来自该子网的所有流量。
但是,当我启动 service
并尝试连接到 RabbitMQ
时,我收到一条错误消息 ECONNREFUSED 127.0.0.1:5672
。这是我正在使用 t 连接 amqp://username:password@ipaddr:5672/?heartbeat=60
的 url。 Docker
的网络模式是 default/Bridge
.
我正在通过环境变量设置连接 url,我 ssh
进入 ECS
容器实例,然后 docker exec -it cntainerID /bin/bash
并且能够验证环境变量已设置。
127.0.0.1
不是 EC2 RabbitMQ 服务器的 IP 地址。该地址将始终指向代码 运行 所在的任何机器,它被称为 "localhost"。
您需要使用 EC2 服务器 运行 RabbitMQ 的 私有 IP。
我正在构建一个应用程序,我将在 ECS container instance
上有多个 Docker services
运行 通过 RabbitMQ
相互通信,后者在单独的 EC2 instance
上运行] 在同一个 VPC
和同一个子网中。 RabbitMQ
安全组配置为允许来自该子网的所有流量。
但是,当我启动 service
并尝试连接到 RabbitMQ
时,我收到一条错误消息 ECONNREFUSED 127.0.0.1:5672
。这是我正在使用 t 连接 amqp://username:password@ipaddr:5672/?heartbeat=60
的 url。 Docker
的网络模式是 default/Bridge
.
我正在通过环境变量设置连接 url,我 ssh
进入 ECS
容器实例,然后 docker exec -it cntainerID /bin/bash
并且能够验证环境变量已设置。
127.0.0.1
不是 EC2 RabbitMQ 服务器的 IP 地址。该地址将始终指向代码 运行 所在的任何机器,它被称为 "localhost"。
您需要使用 EC2 服务器 运行 RabbitMQ 的 私有 IP。