π‘οΈ AWS MQ ActiveMQ Broker uses the single instance deployment modeπ’
- Contextual name: π‘οΈ ActiveMQ Broker uses the single instance deployment modeπ’
- ID:
/ce/ca/aws/mq/activemq-broker-deployment-mode - Tags:
- π’ Policy with categories
- π’ Policy with type
- π’ Production policy
- Policy Type:
COMPLIANCE_POLICY - Policy Categories:
RELIABILITY
Logicβ
- π§ prod.logic.yamlπ’
- π AWS MQ Broker
- π AWS MQ Broker - object.extracts.yaml
- π§ͺ test-data.json
Similar Policiesβ
- Cloud Conformity: MQ Deployment Mode
Descriptionβ
Descriptionβ
This policy identifies AWS MQ ActiveMQ Brokers that are configured with the single-instance deployment mode.
For high availability, AWS MQ brokers should use the active/standby deployment mode, which consists of two broker instances in a redundant configuration. In this model, AWS MQ deploys one broker instance in a primary Availability Zone and a standby instance in a different AZ to ensure failover capability.
Rationaleβ
A single-instance deployment presents a significant risk to application reliability. If the underlying instance or its Availability Zone fails, the broker becomes unavailable, potentially halting all message processing for your application.
Additionally, during software updates or maintenance windows, a single-instance broker experiences temporary downtime, as there is no standby instance to assume the workload. While Amazon MQ uses redundant storage, service availability is inherently limited in single-instance mode.
Impactβ
Migrating to an active/standby configuration incurs additional costs for running a standby broker.
... see more
Remediationβ
Remediationβ
Migrate the Broker to Active/Standby Deployment Modeβ
AWS MQ does not allow changing the deployment mode of an existing broker. To remediate a single-instance broker, you must create a new broker with the active/standby deployment mode and migrate the configuration and users from the original broker.
From Command Lineβ
Retrieve the configuration of the existing single-instance broker:
aws mq describe-broker \
--broker-id {{broker-id}}The output includes the brokerβs settings, such as engine type, version, instance type, subnets, and security groups:
{
"EngineVersion": "5.15.0",
"EngineType": "ActiveMQ",
"DeploymentMode": "SINGLE_INSTANCE",
"HostInstanceType": "mq.m5.large",
---
"SubnetIds": [
"subnet-0abcd1234abcd1234",
"subnet-01234abcd1234abcd"
],
"SecurityGroups": [
"sg-01234abcd1234abcd"
]
}Create a new broker with the active/standby multi-AZ deployment mode using the retrieved configuration and appropriate parameters:
... see more