Skip to content
Menu
e-lo [IT Engineer life]
  • Home
    • Note
  • Database
    • T-SQL
    • SQL Server quick
    • SQL server docs
    • MySql quick sheet
    • Postgre
    • InfluxDB
  • Programming
    • MS Azure Powershell
    • MS Azure Command-Line Interface (CLI) doc
    • Python Docs
    • Python Logging
    • Python-cheat-sheet
    • Git-guide
  • Azure
    • MS Windows virtual machines in Azure
    • MS ARM Docs
    • MS ARM Template Docs
    • MS ARM Functions
    • MS Bicep+ARM
    • MS ARM Tutorial
    • MS Deployment scripts (intern/extern)
    • MS Virtual Network
  • Az-nutshell
    • ms-technology-choices-compute-decision-tree
    • ms-data-store-decision-tree
    • ms-data-explorer
    • ms-storage-explorer
    • ms-azure-sql
    • ms-common-data-services
    • ms-azure-mysql-daas
    • ms-sla
    • az paas
    • az glossary-quicksheet
    • az-test-vm-script-quickguide
  • Linux
    • Top CMD’s
    • Useful CMD Linux
    • ss64 Linux
    • Ubuntu
    • 30 things Ubuntu 18.04
    • Bootable Ubuntu USB
    • LinuxFilesystemTreeOverview
  • Sys Admin
    • System Administrator
    • Sys News
  • Zen
    • Not thinking about anything is Zen
e-lo [IT Engineer life]

Rabbitmq bidirectional shovel (GET/PUT) from VM1. VM2 server using SSL (VM1 SSL, client)

Posted on January 25, 2022March 20, 2022 by espenk

https://stackoverflow.com/questions/50045150/how-to-configure-rabbitmq-bidirectional-shovel-and-avoid-infinite-loop

To simulate the scenario:

VM1 setup:
Deny inbound AMQP 5672 (NON-SSL) added to FW
VM1 initiate connection over AMQP to VM1 (advanced.config file) (uses outbound 5672 to VM2)

With two shovel in the advanced config

VM2 setup:
Allow inbound AMQP 5672 (NON-SSL) added to FW
Just listener with empty advanced config

Result:
We can send data to VM2 from VM1 and the other way around on two different queue and that is sufficent.
As long as we initiate the connection from VM1 where all the config is.

  • FW open inbound 5672, (5671 if cert and SSL) to VM2 (reciever host)
  • Add both the queue in management or programatically (i.e Python)
  • Add a user mysuer, administrator vhost / on VM1, 2
  • FW (sender host) open outbound 5672 (5671)
  • Advanced config on VM2 is empty, advancec config on VM1 has all the configuration

VM1 shovel_get_remote_data recieve on queue11 where source is VM2 and destination is VM1

VM1 shovel_put_local_data publish on queue22 where source is VM1 and destination is VM2

Information before you proceeed.

  • Durable exchanges survive broker restart
  • Topic exchanges route messages to one or many queues based on matching between a message routing key and the pattern that was used to bind a queue to an exchange.
  • Before a queue can be used it has to be declared. Declaring a queue will cause it to be created if it does not already exist.
  • Bindings are rules that exchanges use (among other things) to route messages to queues.

  • Queue is like your destination in New York city
  • Exchange is like JFK airport
  • Bindings are routes from JFK to your destination. There can be zero or many ways to reach it

ref:

https://www.rabbitmq.com/tutorials/amqp-concepts.html

Shovel with self signed VM2 Server TLS

  • 1 VM1->VM2, VM1<-VM2 Shovel 5672, empty config and VM2 Inbound 5672, VM1 Outbound 5672
  • 2 VM1->VM2, VM1<-VM2 Shovel 5672 and 5671, add tcp listener in advanced.config to VM2, inbound 5671 VM2, Out 5671
  • 3 1 VM1->VM2, VM1<-VM2 Shovel 5671 for uris, or keep 5672 one one uri
  • 4 SSL:
  • 5 Make CA, sever, key, pass for VM2
  • 6 VM2 edit advanced, now just 5672 tcp listner, 5671 edit to ssl listner
  • 7 VM2 add cert config

RSS Azure

  • Scale your cloud-native apps and accelerate app modernization with Azure, the best cloud for your apps May 24, 2022

RSS RabbitMQ

  • RabbitMQ 3.8.15 release

RSS Python

  • PEP 691: JSON-based Simple API for Python Package Indexes May 4, 2022

Tags

5 min (26) Ansible (1) ARM (10) azure (40) cmd (3) Django (4) Docker (1) e-lo (2) Flask (2) Github (9) Grafana (2) Information (7) Information Retrieval (13) JAVA (1) kivy (2) Kotlin (6) linux (15) mobile (2) Natural Language Prossesing (NLP) (2) Net.Core (1) Networking and Security (6) OPC (2) PEP8 (1) Philosophy (3) Python (47) Python Networking and Security (5) Reason (2) RMQ (3) Solr (11) Sql (10) Uncategorized (2) VSC (1) Warframe (2) WMVARE (4) Zabbix (7)

Recent Posts

  • 5 min Logic App Storage Table
  • 5 min Logic App PSQL
  • 5 min Logic App
  • 5 MIN Azure Data Explorer
  • TODO Build a Hash Table in Python With TDD Real Python

Archives

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Photo by Markus Spiske from Pexels "Matrix"

©2022 e-lo [IT Engineer life] | Powered by WordPress & Superb Themes