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 VPCand 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 VPCand 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 VPCand 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 VPCand 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.1is 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 theipaddrwas 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.1is 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 theipaddrwas 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.1is 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 theipaddrwas 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.1is 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 theipaddrwas 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.1is 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 theipaddrwas 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