As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Agente de mensagens Amazon MQ como fonte no Pipes EventBridge
Você pode usar o EventBridge Pipes para receber registros de um agente de mensagens do Amazon MQ. Opcionalmente, é possível filtrar ou aprimorar esses registros antes de enviá-los para um dos destinos disponíveis para processamento. Há configurações específicas para o Amazon MQ que você pode escolher ao configurar um canal. EventBridge O Pipes mantém a ordem dos registros do agente de mensagens ao enviar esses dados para o destino.
O Amazon MQ é um serviço gerenciado de agente de mensagem para o Apache ActiveMQ
O Amazon MQ também pode gerenciar instâncias do Amazon Elastic Compute Cloud (AmazonEC2) em seu nome instalando os corretores ActiveMQ ou RabbitMQ. Depois que um agente é instalado, ele fornece diferentes topologias de rede e outras necessidades de infraestrutura para suas instâncias.
A origem do Amazon MQ tem as seguintes restrições de configuração:
-
Conta cruzada — EventBridge não suporta processamento entre contas. Você não pode usar EventBridge para processar registros de um agente de mensagens do Amazon MQ que esteja em uma conta diferente AWS .
-
Autenticação — Para o ActiveMQ, somente o ActiveMQ é suportado. SimpleAuthenticationPlugin
Para o RabbitMQ, somente o mecanismo de PLAIN autenticação é suportado. Para gerenciar credenciais, use AWS Secrets Manager. Para obter mais informações sobre a autenticação ActiveMQ, consulte Integração de agentes LDAP ActiveMQ com o Guia do Desenvolvedor do Amazon MQ. -
Cota de conexão: os agentes têm um número máximo de conexões permitidas por cada protocolo de nível de transmissão de dados. Essa cota é baseada no tipo de instância do agente. Para obter mais informações, consulte a seção Agentes do *Cotas no Amazon MQ* no Guia do desenvolvedor do Amazon MQ.
-
Conectividade — Você pode criar corretores em uma nuvem privada virtual pública ou privada (VPC). Para uso privadoVPCs, seu canal precisa acessar o VPC para receber mensagens.
-
Destinos de eventos: somente destinos de fila são compatíveis. No entanto, é possível usar um tópico virtual, que se comporta como um tópico internamente e como uma fila externamente enquanto interage com seus pipes. Para obter mais informações, consulte Destinos virtuais
no site do Apache ActiveMQ e Hosts virtuais nio site do the RabbitMQ. -
Topologia de rede: para o ActiveMQ, somente um agente de instância única ou em espera é aceito por pipe. No RabbitMQ, apenas um agente de instância única ou implantação de cluster é aceito por cada pipe. Os agentes de instância única requerem um endpoint de failover. Para obter mais informações sobre esses modos de implantação do agente, consulte Arquitetura do agente ativo do MQ e Arquitetura do agente de MQ do Rabbit noGuia do desenvolvedor do Amazon MQ.
-
Protocolos: os protocolos compatíveis dependem do tipo de integração do Amazon MQ.
-
Para integrações com o ActiveMQ EventBridge , usa OpenWire o protocolo /Java Message Service JMS () para consumir mensagens. O consumo de mensagens não é compatível com nenhum outro protocolo. EventBridge suporta somente as BytesMessage
operações TextMessage e dentro do JMS protocolo. Para obter mais informações sobre o OpenWire protocolo, consulte o OpenWire site do Apache ActiveMQ. -
Para integrações com o RabbitMQ, EventBridge usa o protocolo AMQP 0-9-1 para consumir mensagens. Nenhum outro protocolo é compatível para o consumo de mensagens. Para obter mais informações sobre a implementação do protocolo 0-9-1 pelo RabbitMQ, consulte AMQP o AMQP Guia de Referência Completo
0-9-1 no site do RabbitMQ.
-
EventBridge suporta automaticamente as versões mais recentes do ActiveMQ e do RabbitMQ suportadas pelo Amazon MQ. Para obter as versões compatíveis mais recentes, consulte Notas de versão do Amazon MQ no Guia do desenvolvedor do Amazon MQ.
nota
Por padrão, o Amazon MQ tem uma janela de manutenção semanal para agentes. Durante essa janela de tempo, os agentes não estão disponíveis. Para corretores sem espera, não EventBridge processará mensagens até que a janela termine.
Eventos de exemplo
O exemplo de evento a seguir mostra as informações recebidas pelo pipe. É possível usar esse evento para criar e filtrar seus padrões de eventos ou para definir a transformação de entrada. Nem todos os campos podem ser filtrados. Para mais informações sobre quais campos podem ser filtrados, consulte Filtragem de eventos no Amazon Pipes EventBridge .
ActiveMQ
[ { "eventSource": "aws:amq", "eventSourceArn": "arn:aws:mq:us-west-2:112556298976:broker:test:b-9bcfa592-423a-4942-879d-eb284b418fc8", "messageID": "ID:b-9bcfa592-423a-4942-879d-eb284b418fc8-1---mq---us-west-2.amazonaws.com.rproxy.goskope.com-37557-1234520418293-4:1:1:1:1", "messageType": "jms/text-message", "data": "QUJDOkFBQUE=", "connectionId": "myJMSCoID", "redelivered": false, "destination": { "physicalname": "testQueue" }, "timestamp": 1598827811958, "brokerInTime": 1598827811958, "brokerOutTime": 1598827811959 }, { "eventSource": "aws:amq", "eventSourceArn": "arn:aws:mq:us-west-2:112556298976:broker:test:b-9bcfa592-423a-4942-879d-eb284b418fc8", "messageID": "ID:b-9bcfa592-423a-4942-879d-eb284b418fc8-1---mq---us-west-2.amazonaws.com.rproxy.goskope.com-37557-1234520418293-4:1:1:1:1", "messageType": "jms/bytes-message", "data": "3DTOOW7crj51prgVLQaGQ82S48k=", "connectionId": "myJMSCoID1", "persistent": false, "destination": { "physicalname": "testQueue" }, "timestamp": 1598827811958, "brokerInTime": 1598827811958, "brokerOutTime": 1598827811959 } ]
RabbitMQ
[ { "eventSource": "aws:rmq", "eventSourceArn": "arn:aws:mq:us-west-2:111122223333:broker:pizzaBroker:b-9bcfa592-423a-4942-879d-eb284b418fc8", "eventSourceKey": "pizzaQueue::/", "basicProperties": { "contentType": "text/plain", "contentEncoding": null, "headers": { "header1": { "bytes": [ 118, 97, 108, 117, 101, 49 ] }, "header2": { "bytes": [ 118, 97, 108, 117, 101, 50 ] }, "numberInHeader": 10 }, "deliveryMode": 1, "priority": 34, "correlationId": null, "replyTo": null, "expiration": "60000", "messageId": null, "timestamp": "Jan 1, 1970, 12:33:41 AM", "type": null, "userId": "AIDACKCEVSQ6C2EXAMPLE", "appId": null, "clusterId": null, "bodySize": 80 }, "redelivered": false, "data": "eyJ0aW1lb3V0IjowLCJkYXRhIjoiQ1pybWYwR3c4T3Y0YnFMUXhENEUifQ==" } ]
Grupo de consumidores
Para interagir com o Amazon MQ, EventBridge crie um grupo de consumidores que pode ler seus corretores do Amazon MQ. O grupo de consumidores é criado com a mesma ID do canalUUID.
Para fontes do Amazon MQ, agrupa registros em EventBridge lotes e os envia para sua função em uma única carga útil. Para controlar o comportamento, é necessário configurar a janela de lotes e o tamanho do lote. EventBridge extrai mensagens até que ocorra uma das seguintes situações:
-
Os registros processados atingem o tamanho máximo da carga útil de 6 MB.
-
A janela de processamento de lotes expira.
-
O número de registros atinge o tamanho total do lote.
EventBridge converte seu lote em uma única carga útil e, em seguida, invoca sua função. As mensagens não são persistentes nem desserializadas. Em vez disso, o grupo de consumidores os recupera BLOB como bytes. Em seguida, ele os codifica em base64 em uma carga útil. JSON Se o pipe retornar um erro para qualquer uma das mensagens em um lote, EventBridge tente novamente o lote inteiro de mensagens até que o processamento seja bem-sucedido ou as mensagens expirem.
Configuração de rede
Por padrão, os agentes do Amazon MQ são criados com o a sinalização PubliclyAccessible
definida como falsa. Somente quando PubliclyAccessible
é definido como verdadeiro que o agente recebe um endereço IP público. Para ter acesso total ao seu canal, seu corretor deve usar um endpoint público ou fornecer acesso aoVPC.
Se seu agente do Amazon MQ não estiver acessível ao público, EventBridge deverá ter acesso aos recursos da Amazon Virtual Private Cloud VPC (Amazon) associados ao seu corretor.
Para acessar seus corretores VPC do Amazon MQ, EventBridge você pode usar o acesso externo à Internet para as sub-redes de sua fonte. Para sub-redes públicas, esse deve ser um gateway gerenciadoNAT. Para sub-redes privadas, pode ser um NAT gateway ou seu próprio. NAT Certifique-se de que NAT tenha um endereço IP público e possa se conectar à Internet.
EventBridge O Pipes também suporta a entrega de eventos AWS PrivateLink
, permitindo que você envie eventos de uma fonte de eventos localizada em um Amazon Virtual Private Cloud (Amazon VPC) para um destino do Pipes sem atravessar a Internet pública. Você pode usar o Pipes para pesquisar Amazon Managed Streaming for Apache Kafka (Amazon MSK), Apache Kafka autogerenciado e Amazon MQ fontes residentes em uma sub-rede privada sem a necessidade de implantar um gateway de internet, configurar regras de firewall ou configurar servidores proxy. Para configurar um VPC endpoint, consulte Criar um VPC endpoint no Guia do AWS PrivateLink usuário. Para nome do serviço, selecione
com.amazonaws.
.region
.pipes-data
Configure seus grupos VPC de segurança da Amazon com as seguintes regras (no mínimo):
-
Regras de entrada — Permita todo o tráfego na porta do agente Amazon MQ para os grupos de segurança especificados para sua origem.
-
Regras de saída: permitir todo o tráfego na porta 443 para todos os destinos. Permita todo o tráfego na porta do agente Amazon MQ para os grupos de segurança especificados para sua origem.
As portas do broker incluem:
9092 para texto sem formatação
9094 para TLS
9096 para SASL
9098 para IAM
nota
Sua VPC configuração da Amazon pode ser descoberta por meio do Amazon API MQ. Não é necessário defini-la durante a configuração.