AWS ECS - Can't connect to RabbitMQ EC2 instance from ECS container instance on the same subnet
I am building an application where I will have multiple Docker services
running on ECS container instance
communicating with each other via RabbitMQ
which runs on a separate EC2 instance
in the same VPC
and in the same subnet. The RabbitMQ
security group is configured to allow all the traffic from that subnet.
However, when I start the service
and it tries to connect to RabbitMQ
I get an error saying ECONNREFUSED 127.0.0.1:5672
. This is the url that I am using t connect amqp://username:password@ipaddr:5672/?heartbeat=60
. The network mode for Docker
is default/Bridge
.
I am setting the connection url via an environment variable and I did ssh
into the ECS
container instance and then docker exec -it cntainerID /bin/bash
and was able to verify that the environment variable is set.
amazon-web-services docker amazon-ec2 rabbitmq amazon-ecs
add a comment |
I am building an application where I will have multiple Docker services
running on ECS container instance
communicating with each other via RabbitMQ
which runs on a separate EC2 instance
in the same VPC
and in the same subnet. The RabbitMQ
security group is configured to allow all the traffic from that subnet.
However, when I start the service
and it tries to connect to RabbitMQ
I get an error saying ECONNREFUSED 127.0.0.1:5672
. This is the url that I am using t connect amqp://username:password@ipaddr:5672/?heartbeat=60
. The network mode for Docker
is default/Bridge
.
I am setting the connection url via an environment variable and I did ssh
into the ECS
container instance and then docker exec -it cntainerID /bin/bash
and was able to verify that the environment variable is set.
amazon-web-services docker amazon-ec2 rabbitmq amazon-ecs
2
Are you trying to connect to 127.0.0.1? You should use the rabbitmq host ip address.
– Carlos
Dec 28 '18 at 14:51
add a comment |
I am building an application where I will have multiple Docker services
running on ECS container instance
communicating with each other via RabbitMQ
which runs on a separate EC2 instance
in the same VPC
and in the same subnet. The RabbitMQ
security group is configured to allow all the traffic from that subnet.
However, when I start the service
and it tries to connect to RabbitMQ
I get an error saying ECONNREFUSED 127.0.0.1:5672
. This is the url that I am using t connect amqp://username:password@ipaddr:5672/?heartbeat=60
. The network mode for Docker
is default/Bridge
.
I am setting the connection url via an environment variable and I did ssh
into the ECS
container instance and then docker exec -it cntainerID /bin/bash
and was able to verify that the environment variable is set.
amazon-web-services docker amazon-ec2 rabbitmq amazon-ecs
I am building an application where I will have multiple Docker services
running on ECS container instance
communicating with each other via RabbitMQ
which runs on a separate EC2 instance
in the same VPC
and in the same subnet. The RabbitMQ
security group is configured to allow all the traffic from that subnet.
However, when I start the service
and it tries to connect to RabbitMQ
I get an error saying ECONNREFUSED 127.0.0.1:5672
. This is the url that I am using t connect amqp://username:password@ipaddr:5672/?heartbeat=60
. The network mode for Docker
is default/Bridge
.
I am setting the connection url via an environment variable and I did ssh
into the ECS
container instance and then docker exec -it cntainerID /bin/bash
and was able to verify that the environment variable is set.
amazon-web-services docker amazon-ec2 rabbitmq amazon-ecs
amazon-web-services docker amazon-ec2 rabbitmq amazon-ecs
asked Dec 28 '18 at 14:46
NikolajNikolaj
5310
5310
2
Are you trying to connect to 127.0.0.1? You should use the rabbitmq host ip address.
– Carlos
Dec 28 '18 at 14:51
add a comment |
2
Are you trying to connect to 127.0.0.1? You should use the rabbitmq host ip address.
– Carlos
Dec 28 '18 at 14:51
2
2
Are you trying to connect to 127.0.0.1? You should use the rabbitmq host ip address.
– Carlos
Dec 28 '18 at 14:51
Are you trying to connect to 127.0.0.1? You should use the rabbitmq host ip address.
– Carlos
Dec 28 '18 at 14:51
add a comment |
1 Answer
1
active
oldest
votes
127.0.0.1
is not the IP address of the EC2 RabbitMQ server. That address will always point to what ever machine the code is running on, it is called "localhost".
You need to be using the private IP of the EC2 server running RabbitMQ.
In a Docker context 127.0.0.1 usually resolves to this container, which is different from the machine as a whole.
– David Maze
Dec 28 '18 at 15:09
@DavidMaze yes physical machine/virtual machine/container,127.0.0.1
is going to resolve to the "local" environment, which is certainly not correct in the context of the question being asked.
– Mark B
Dec 28 '18 at 15:17
@MarkB Thanks for your answer! Indeed theipaddr
was incorrect, I had a typo in my environment variable.
– Nikolaj
Dec 28 '18 at 15:29
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53960287%2faws-ecs-cant-connect-to-rabbitmq-ec2-instance-from-ecs-container-instance-on%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
127.0.0.1
is not the IP address of the EC2 RabbitMQ server. That address will always point to what ever machine the code is running on, it is called "localhost".
You need to be using the private IP of the EC2 server running RabbitMQ.
In a Docker context 127.0.0.1 usually resolves to this container, which is different from the machine as a whole.
– David Maze
Dec 28 '18 at 15:09
@DavidMaze yes physical machine/virtual machine/container,127.0.0.1
is going to resolve to the "local" environment, which is certainly not correct in the context of the question being asked.
– Mark B
Dec 28 '18 at 15:17
@MarkB Thanks for your answer! Indeed theipaddr
was incorrect, I had a typo in my environment variable.
– Nikolaj
Dec 28 '18 at 15:29
add a comment |
127.0.0.1
is not the IP address of the EC2 RabbitMQ server. That address will always point to what ever machine the code is running on, it is called "localhost".
You need to be using the private IP of the EC2 server running RabbitMQ.
In a Docker context 127.0.0.1 usually resolves to this container, which is different from the machine as a whole.
– David Maze
Dec 28 '18 at 15:09
@DavidMaze yes physical machine/virtual machine/container,127.0.0.1
is going to resolve to the "local" environment, which is certainly not correct in the context of the question being asked.
– Mark B
Dec 28 '18 at 15:17
@MarkB Thanks for your answer! Indeed theipaddr
was incorrect, I had a typo in my environment variable.
– Nikolaj
Dec 28 '18 at 15:29
add a comment |
127.0.0.1
is not the IP address of the EC2 RabbitMQ server. That address will always point to what ever machine the code is running on, it is called "localhost".
You need to be using the private IP of the EC2 server running RabbitMQ.
127.0.0.1
is not the IP address of the EC2 RabbitMQ server. That address will always point to what ever machine the code is running on, it is called "localhost".
You need to be using the private IP of the EC2 server running RabbitMQ.
answered Dec 28 '18 at 14:53
Mark BMark B
100k15156172
100k15156172
In a Docker context 127.0.0.1 usually resolves to this container, which is different from the machine as a whole.
– David Maze
Dec 28 '18 at 15:09
@DavidMaze yes physical machine/virtual machine/container,127.0.0.1
is going to resolve to the "local" environment, which is certainly not correct in the context of the question being asked.
– Mark B
Dec 28 '18 at 15:17
@MarkB Thanks for your answer! Indeed theipaddr
was incorrect, I had a typo in my environment variable.
– Nikolaj
Dec 28 '18 at 15:29
add a comment |
In a Docker context 127.0.0.1 usually resolves to this container, which is different from the machine as a whole.
– David Maze
Dec 28 '18 at 15:09
@DavidMaze yes physical machine/virtual machine/container,127.0.0.1
is going to resolve to the "local" environment, which is certainly not correct in the context of the question being asked.
– Mark B
Dec 28 '18 at 15:17
@MarkB Thanks for your answer! Indeed theipaddr
was incorrect, I had a typo in my environment variable.
– Nikolaj
Dec 28 '18 at 15:29
In a Docker context 127.0.0.1 usually resolves to this container, which is different from the machine as a whole.
– David Maze
Dec 28 '18 at 15:09
In a Docker context 127.0.0.1 usually resolves to this container, which is different from the machine as a whole.
– David Maze
Dec 28 '18 at 15:09
@DavidMaze yes physical machine/virtual machine/container,
127.0.0.1
is going to resolve to the "local" environment, which is certainly not correct in the context of the question being asked.– Mark B
Dec 28 '18 at 15:17
@DavidMaze yes physical machine/virtual machine/container,
127.0.0.1
is going to resolve to the "local" environment, which is certainly not correct in the context of the question being asked.– Mark B
Dec 28 '18 at 15:17
@MarkB Thanks for your answer! Indeed the
ipaddr
was incorrect, I had a typo in my environment variable.– Nikolaj
Dec 28 '18 at 15:29
@MarkB Thanks for your answer! Indeed the
ipaddr
was incorrect, I had a typo in my environment variable.– Nikolaj
Dec 28 '18 at 15:29
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53960287%2faws-ecs-cant-connect-to-rabbitmq-ec2-instance-from-ecs-container-instance-on%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
Are you trying to connect to 127.0.0.1? You should use the rabbitmq host ip address.
– Carlos
Dec 28 '18 at 14:51