Broker
The Broker resource allows you to manage AWS AmazonMQ Brokers for messaging services in the cloud.
Minimal Example
Section titled “Minimal Example”Create a basic AmazonMQ Broker with required properties and a couple of common optional settings.
import AWS from "alchemy/aws/control";
const basicBroker = await AWS.AmazonMQ.Broker("myBasicBroker", { BrokerName: "my-amazonmq-broker", HostInstanceType: "mq.m5.large", Users: [ { Username: "admin", Password: "SecurePassword123!", ConsoleAccess: true, Groups: ["admins"] } ], PubliclyAccessible: true, DeploymentMode: "SINGLE_INSTANCE", EngineType: "ACTIVEMQ", EngineVersion: "5.15.14"});
Advanced Configuration
Section titled “Advanced Configuration”Configure an AmazonMQ Broker with advanced settings, including logging, maintenance windows, and data replication.
const advancedBroker = await AWS.AmazonMQ.Broker("myAdvancedBroker", { BrokerName: "my-advanced-broker", HostInstanceType: "mq.m5.large", Users: [ { Username: "user1", Password: "AnotherSecurePassword456!", ConsoleAccess: true, Groups: ["developers"] } ], PubliclyAccessible: true, DeploymentMode: "ACTIVE_STANDBY_MULTI_AZ", EngineType: "RABBITMQ", EngineVersion: "3.8.9", Logs: { General: true, Audit: true }, MaintenanceWindowStartTime: { DayOfWeek: "SUNDAY", TimeOfDay: "05:00:00", TimeZone: "UTC" }, DataReplicationPrimaryBrokerArn: "arn:aws:mq:us-east-1:123456789012:broker:my-replica-broker"});
Security and Encryption Options
Section titled “Security and Encryption Options”Set up an AmazonMQ Broker with LDAP server metadata and encryption options for enhanced security.
const secureBroker = await AWS.AmazonMQ.Broker("mySecureBroker", { BrokerName: "my-secure-broker", HostInstanceType: "mq.t3.medium", Users: [ { Username: "secureUser", Password: "SuperSecurePassword789!", ConsoleAccess: true, Groups: ["secureGroup"] } ], PubliclyAccessible: false, DeploymentMode: "SINGLE_INSTANCE", EngineType: "ACTIVEMQ", EngineVersion: "5.15.14", LdapServerMetadata: { Hosts: ["ldap.example.com"], Port: 389, UserDN: "cn=admin,dc=example,dc=com", Password: "ldapAdminPassword" }, EncryptionOptions: { UseAwsOwnedKey: true, KmsKeyId: "arn:aws:kms:us-east-1:123456789012:key/my-kms-key" }});
Custom Configuration with Tags
Section titled “Custom Configuration with Tags”Create an AmazonMQ Broker with custom configuration and tags for resource organization.
const taggedBroker = await AWS.AmazonMQ.Broker("myTaggedBroker", { BrokerName: "my-tagged-broker", HostInstanceType: "mq.m5.large", Users: [ { Username: "taggedUser", Password: "TaggedPassword123!", ConsoleAccess: true, Groups: ["taggedGroup"] } ], PubliclyAccessible: true, DeploymentMode: "SINGLE_INSTANCE", EngineType: "RABBITMQ", EngineVersion: "3.8.9", Tags: [ { Key: "Environment", Value: "Production" }, { Key: "Project", Value: "MessagingService" } ]});