RabbitMQ Instance
Kensium POS uses the RabbitMQ message broker to coordinate communication amongst an organization’s POS servers and tenants. Like RDS, the RabbitMQ instances are typically shared by multiple organizations. Each organization is served with its own, dedicated virtual host within the RabbitMQ instance.
RabbitMQ instances are created and managed through Amazon MQ. To create a new RabbitMQ instance, use the AWS console web interface. Ensure that the console is pointing to the correct AWS region.
As RabbitMQ instances are typically shared by multiple organizations, the installation steps should be tracked in a separate checklist. The installation steps are not tracked in a specific organization’s install checklist.
a) Broker Engine
Amazon MQ supports different messaging systems. Ensure that you select Rabbit MQ.
b) Deployment Mode
Select Single-instance broker.
RabbitMQ supports optional clustering, which is useful for increasing performance and fault tolerance. We may use this mode for production environments in the future.
c) Broker Name
Enter the unique name of the broker:
- The name should follow the format mq-POS-01.
- Replace the number portion to make it unique.
d) Broker Instance Type
Determine and select the instance type of the RabbitMQ instance. This is typically micro for QA and staging environments, and large for production environments. However you can select other sizes as needed.
Determining instance types is an ongoing process. It’s important to monitor database performance to track organization usage requirements and performance of the POS system for each organization; with this understanding it will be easier to determine instance size for the organizations that will be hosted on a particular RabbitMQ instance.
e) Credentials
Enter the administrative credentials that will be used to access the RabbitMQ instance. These values should be:
- admin for the master username
- A strong master password, preferably generated by the Kensium password manager.
Record the following in the Kensium password manager:
- Instance identifier and region.
- Master UserName
- Master Password
f) Broker Engine Version
Ensure that the version is 3.9.13 or higher.
g) Access Type
Ensure that Public access is selected.
Public access is required for the current version of POS. A future version of POS will remove this requirement, by using VPNs to protect organization communications.
Note: an alternative to VPNs are described here: https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/accessing-web-console-of-broker-without-public-accessibility.html.
h) VPC and Subnets
Review and understand the Virtual Private Cloud documentation, and ensure that the standard VPC and database subnet for the region (i.e. POS-VPC) is already created.
- VPC: VPC-POS
- Subnet: choose the public subnet associated with the standard availability zone that is supported by POS for the AWS region, e.g. us-west-2c.