AWS ECS - Can't connect to RabbitMQ EC2 instance from ECS container instance on the same subnet












-3















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.










share|improve this question


















  • 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
















-3















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.










share|improve this question


















  • 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














-3












-3








-3








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.










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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














  • 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












1 Answer
1






active

oldest

votes


















2














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.






share|improve this answer
























  • 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 the ipaddr was incorrect, I had a typo in my environment variable.

    – Nikolaj
    Dec 28 '18 at 15:29











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
});


}
});














draft saved

draft discarded


















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









2














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.






share|improve this answer
























  • 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 the ipaddr was incorrect, I had a typo in my environment variable.

    – Nikolaj
    Dec 28 '18 at 15:29
















2














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.






share|improve this answer
























  • 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 the ipaddr was incorrect, I had a typo in my environment variable.

    – Nikolaj
    Dec 28 '18 at 15:29














2












2








2







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.






share|improve this answer













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.







share|improve this answer












share|improve this answer



share|improve this answer










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 the ipaddr 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











  • @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

















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


















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Angular Downloading a file using contenturl with Basic Authentication

Olmecas

Can't read property showImagePicker of undefined in react native iOS