Connect to RabbitMQ from a different machine or network

IMPORTANT: We strongly discourage opening ports to allow inbound connections to the server from a different network. Making the application’s network ports public is a significant security risk. The recommended way for connecting two instances deployed in different networks is by using VPC network peering. If you must make it accessible over a public IP address, we recommend restricting access to a trusted list of source IP addresses and ports using firewall rules. To do so, follow the instructions below.

Connect from the same network

To connect to RabbitMQ from a different machine in the same network, use a command like the one below:

$ rabbitmqadmin -H SERVER-IP -u USER_NAME -p PASSWORD list vhosts

Connect from a different network

If you must connect to the application from a machine that it is not running in the same network as the RabbitMQ cluster, you can follow these approaches (these are shown in order of preference, from the most secure to the less recommended solution):

  • Option 1: Peer both virtual networks to secure the connections between the two instances. Check the following guide to learn how to connect instances in different networks using network peering.

  • Option 2: Create an SSH tunnel to connect the application using the public IP address. Refer to the FAQ for more information on this.

    NOTE: You should only access using an SSH tunnel if you wish to temporarily connect to, or use, the RabbitMQ console. This approach is not recommended to permanently connect your application to the RabbitMQ cluster, as a connectivity failure in the SSH tunnel would affect your application’s functionality.

  • Option 3: Make the server publicly accessible and restrict access to a trusted list of source IP addresses using firewall rules. Refer to the FAQ for information on opening ports in the server firewall.

Last modification May 22, 2023