Uma arquitetura multicontas na AWS é essencial para aprimorar a segurança, a conformidade e o gerenciamento de recursos, isolando cargas de trabalho, permitindo a alocação granular de custos e facilitando a colaboração em ambientes distintos. Também mitiga riscos, melhora a escalabilidade e permite configurações de rede avançadas.
Em uma arquitetura de streaming, você pode ter produtores de eventos, armazenamento de stream e consumidores de eventos em uma única conta ou espalhados por diferentes contas, dependendo do seu negócio e dos requisitos de TI. Por exemplo, sua empresa pode querer centralizar seus dados de fluxo de cliques ou registrar dados de vários produtores diferentes em contas diferentes. Os consumidores de dados de marketing, engenharia de produto ou análise exigem acesso aos mesmos dados de streaming entre contas, o que requer a capacidade de fornecer uma arquitetura de streaming de várias contas.
Para construir uma arquitetura de streaming com várias contas, você pode usar Fluxos de dados do Amazon Kinesis como o armazenamento de fluxo e AWS Lambda como consumidor do evento. O Amazon Kinesis Data Streams permite o processamento em tempo real de dados de streaming em escala. Quando integrado ao Lambda, permite o processamento de dados sem servidor, permitindo analisar e reagir a fluxos de dados em tempo real sem gerenciar a infraestrutura. Essa integração oferece suporte a vários casos de uso, incluindo análise em tempo real, processamento de log, ingestão de dados da Internet das Coisas (IoT) e muito mais, tornando-a valiosa para empresas que exigem insights oportunos de seus dados de streaming. Nesta postagem, demonstramos como você pode processar dados ingeridos em um stream em uma conta com uma função Lambda em outra conta.
O recente lançamento do suporte do Kinesis Data Streams para políticas baseadas em recursos permite invocar um Lambda de outra conta. Com uma política baseada em recursos, você pode especificar contas da AWS, Gerenciamento de acesso e identidade da AWS (IAM) ou funções do IAM e as ações exatas do Kinesis Data Streams para as quais você deseja conceder acesso. Depois que o acesso for concedido, você poderá configurar uma função Lambda em outra conta para começar a processar o fluxo de dados pertencente à sua conta. Isso reduz custos e simplifica o pipeline de processamento de dados, porque você não precisa mais copiar dados de streaming usando funções Lambda em ambas as contas. Compartilhar o acesso aos seus fluxos de dados ou consumidores registrados não gera cobranças adicionais em sua conta. O uso de recursos do Kinesis Data Streams entre contas continuará a ser cobrado dos proprietários dos recursos.
Nesta postagem, usamos Kinesis Data Streams com fan-out aprimorado recurso, capacitando os consumidores com taxa de transferência de leitura dedicada e adaptada às suas aplicações. Por padrão, o Kinesis Data Streams oferece taxa de transferência de leitura compartilhada de 2 MB/s por fragmento entre consumidores, mas com distribuição aprimorada, cada consumidor pode aproveitar uma taxa de transferência dedicada de 2 MB/s por fragmento. Essa flexibilidade permite adaptar perfeitamente o Kinesis Data Streams aos seus requisitos específicos, escolhendo entre distribuição aprimorada para taxa de transferência dedicada ou taxa de transferência compartilhada de acordo com suas necessidades.
Visão geral da solução
Para nossa solução, implantamos o Kinesis Data Streams na conta 1 e o Lambda como consumidor na conta 2 para receber dados do fluxo de dados. O diagrama a seguir ilustra a arquitetura de alto nível.
A configuração requer os seguintes elementos principais:
- Fluxo de dados do Kinesis na conta 1 e função Lambda na conta 2
- Políticas de recursos do Kinesis Data Streams na conta 1, permitindo que uma função de execução do Lambda entre contas execute operações no fluxo de dados do Kinesis
- Uma função de execução do Lambda na conta 2 e uma política aprimorada de distribuição de recursos do consumidor na conta 1, permitindo que a função de execução do Lambda entre contas execute operações no fluxo de dados do Kinesis
Para a configuração, você usa três Formação da Nuvem AWS modelos para criar os principais recursos:
- O modelo 1 do CloudFormation cria os seguintes recursos principais na Conta 1:
- Fluxo de dados do Kinesis
- Consumidor de distribuição aprimorada do fluxo de dados do Kinesis
- O modelo 2 do CloudFormation cria os seguintes recursos principais na Conta 2:
- Função Lambda do consumidor
- Função de execução da função Lambda do consumidor
- O modelo 3 do CloudFormation cria o seguinte recurso na conta 2:
- Mapeamento de origem de eventos da função Consumer Lambda
A solução oferece suporte à implantação em uma única região, e os modelos do CloudFormation devem ser implantados na mesma região em diferentes contas da AWS. Nesta solução, usamos a distribuição aprimorada do Kinesis Data Streams, que é uma prática recomendada para implantar arquiteturas que exigem grande taxa de transferência em vários consumidores. Conclua as etapas nas seções a seguir para implantar esta solução.
Pré-requisitos
Você deve ter duas contas AWS e as permissões necessárias para executar um modelo CloudFormation para criar os serviços mencionados na arquitetura da solução. Você também precisa do Interface de linha de comando da AWS (AWS CLI) instalado, versão 2.15 e superior.
Inicie o modelo CloudFormation 1
Conclua as etapas a seguir para iniciar o primeiro modelo CloudFormation:
- Entre no Console de gerenciamento da AWS como Conta 1 e selecione a região da AWS apropriada.
- Faça o download e inicie Modelo CloudFormation 1 onde você deseja implantar seu fluxo de dados do Kinesis.
- Escolha LambdaConsumerAccountId, insira o ID da sua conta de consumidor do Lambda e clique em enviar. A implantação do modelo CloudFormation levará alguns minutos para ser concluída.
- Quando a pilha estiver concluída, no console do AWS CloudFormation, navegue até a pilha Saídas guia e copie os valores dos seguintes parâmetros:
KinesisStreamArn
KinesisStreamEFOConsumerArn
KMSKeyArn
Você precisará desses valores em etapas posteriores.
Inicie o modelo CloudFormation 2
Conclua as etapas a seguir para iniciar o segundo modelo CloudFormation:
- Faça login no console como Conta 2 e selecione a região apropriada.
- Faça o download e inicie Modelo CloudFormation 2 onde você deseja hospedar o consumidor Lambda.
- Forneça os seguintes parâmetros de entrada capturados na etapa anterior:
KinesisStreamArn
KinesisStreamEFOConsumerArn
KMSKeyArn
O modelo CloudFormation cria os seguintes recursos principais:
- Consumidor lambda
- Função de execução do Lambda
A função de execução da função Lambda é uma função do IAM que concede à função permissão para acessar serviços e recursos da AWS. Aqui, você cria uma função de execução do Lambda que tem o Kinesis Data Streams e as permissões de invocação do Lambda necessárias.
A implantação do modelo CloudFormation levará alguns minutos para ser concluída.
- Quando a pilha estiver concluída, no console do AWS CloudFormation, navegue até a pilha Saídas guia e copie os valores dos seguintes parâmetros:
KinesisStreamCreateResourcePolicyCommand
KinesisStreamEFOConsumerCreateResourcePolicyCommand
- Execute os seguintes comandos da AWS CLI na conta 1 usando AWS CloudShell. Recomendamos o uso do CloudShell porque ele terá a versão mais recente do AWS CLI e evitará qualquer tipo de falha.
- KinesisStreamCreateResourcePolicyCommand – Isso cria a política de recursos na conta 1 para Kinesis Data Stream. Veja a seguir um exemplo de política de recursos:
- KinesisStreamEFOConsumerCreateResourcePolicyCommand – Isso cria a política de recursos para o consumidor de distribuição aprimorada para o fluxo de dados do Kinesis na conta 1. Veja a seguir um exemplo de política de recursos:
Você também pode acessar essa política no console do Kinesis Data Streams, em Fan-out aprimorado, Nome do consumidor e Política baseada em recursos de compartilhamento do consumidor.
Inicie o modelo CloudFormation 3
Agora que você criou políticas de recursos na Conta 1 para o fluxo de dados do Kinesis e seu consumidor de distribuição aprimorado, você pode criar o mapeamento de origem de eventos do Lambda para a função Lambda do consumidor na Conta 2. Conclua as seguintes etapas:
- Faça login no console como Conta 2 e selecione a região apropriada.
- Faça o download e inicie Modelo CloudFormation 3 para atualizar a pilha que você criou usando o modelo 2 do CloudFormation.
O modelo CloudFormation cria o mapeamento de origem de eventos do Lambda.
Valide a solução
Neste ponto, a implantação está concluída. Um fluxo de dados do Kinesis está disponível para consumir as mensagens e uma função Lambda recebe essas mensagens na conta de destino. Para enviar mensagens de amostra para o fluxo de dados na conta 1, execute o seguinte comando da AWS CLI usando o CloudShell:
A função Lambda na Conta 2 é capaz de receber as mensagens, e você deve poder verificar o mesmo usando Amazon CloudWatch Histórico:
- No console do CloudWatch, escolha Grupos de registro no painel de navegação.
- Localize o grupo de logs /aws/lambda/kds-cross-account-stream-efo-consumer.
- Escolha Grupo de registros de pesquisa para visualizar as mensagens de log relevantes. A seguir está um exemplo de mensagem:
limpar
É sempre uma boa prática limpar todos os recursos que você criou como parte desta postagem para evitar custos adicionais.
Para limpar seus recursos, exclua as respectivas pilhas do CloudFormation das contas 1 e 2 e impeça o produtor de enviar eventos por push para o fluxo de dados do Kinesis. Isso garante que você não seja cobrado desnecessariamente.
Resumo
Nesta postagem, demonstramos como configurar uma integração Lambda entre contas com Kinesis Data Streams usando políticas baseadas em recursos da AWS. Isso permite o processamento de dados ingeridos em um stream dentro de uma conta da AWS por meio de uma função Lambda localizada em outra conta. Para oferecer suporte aos clientes que usam um fluxo de dados do Kinesis em sua conta central e têm vários consumidores lendo dados dele, usamos o recurso de distribuição aprimorada do Kinesis Data Streams.
Para começar, abra o console do Kinesis Data Streams ou use a nova API PutResourcePolicy para anexar uma política de recursos ao seu fluxo de dados ou consumidor.
Sobre os autores
Pratik Patel é gerente técnico sênior de contas e especialista em análise de streaming. Ele trabalha com clientes da AWS e fornece suporte contínuo e orientação técnica para ajudar a planejar e criar soluções usando as melhores práticas e manter proativamente os ambientes da AWS dos clientes operacionalmente saudáveis.
Amar é arquiteto de soluções sênior na Amazon AWS no Reino Unido. Ele trabalha com clientes de energia, serviços públicos, manufatura e automotivo em implementações estratégicas, especializando-se no uso de AWS Streaming e soluções avançadas de análise de dados para gerar resultados de negócios ideais.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/big-data/invoke-aws-lambda-functions-from-cross-account-amazon-kinesis-data-streams/
- :tem
- :é
- :não
- :onde
- $UP
- 1
- 100
- 14
- 15%
- 16
- 19
- 2%
- 4
- 5
- 8
- a
- habilidade
- Capaz
- acima
- Acesso
- Segundo
- Conta
- Contas
- em
- Açao Social
- ações
- adaptar
- Adicional
- avançado
- Depois de
- Todos os Produtos
- alocação
- permitir
- Permitindo
- permite
- tb
- sempre
- Amazon
- Amazon Kinesis
- Amazon Web Services
- an
- analítica
- analisar
- e
- Outro
- qualquer
- api
- aplicações
- apropriado
- arquitetura
- Arquiteturas
- SOMOS
- AS
- At
- anexar
- automotivo
- disponível
- evitar
- AWS
- Formação da Nuvem AWS
- AWS Lambda
- BE
- Porque
- pertença
- MELHOR
- melhores práticas
- entre
- faturado
- ambos
- construir
- negócio
- negócios
- mas a
- by
- CAN
- capturados
- casos
- central
- carregada
- acusações
- Escolha
- escolha
- limpar
- cli
- clique
- colaboração
- Empresa
- completar
- compliance
- configurações
- cônsul
- consumir
- consumidor
- Consumidores
- continuar
- cópia
- Custo
- crio
- criado
- cria
- Atravessar
- Clientes
- dados,
- Análise de Dados
- informática
- dedicado
- Padrão
- excluir
- entregar
- demonstrar
- demonstraram
- Dependendo
- implantar
- implantado
- Implantação
- desenvolvimento
- destino
- diagrama
- diferente
- distinto
- parece
- distância
- cada
- efeito
- elementos
- capacitação
- permite
- permitindo
- Engenharia
- aprimorada
- aprimorando
- desfrutar
- Entrar
- ambientes
- essencial
- Éter (ETH)
- Evento
- eventos
- exato
- exemplo
- execução
- facilitando
- falhas
- Característica
- poucos
- Primeiro nome
- Flexibilidade
- seguinte
- Escolha
- da
- função
- funções
- ter
- Bom estado, com sinais de uso
- conceder
- concedido
- subsídios
- granular
- Grupo
- orientações
- Ter
- he
- saudável
- ajudar
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- de alto nível
- hospedeiro
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTML
- http
- HTTPS
- IAM
- ID
- Identidade
- ilustra
- implementações
- melhora
- in
- Incluindo
- Infraestrutura
- entrada
- insights
- instalado
- integrado
- integração
- Internet
- internet das coisas
- para dentro
- iot
- IT
- ESTÁ
- jpg
- Guarda
- Chave
- Tipo
- Streams de dados Kinesis
- grande
- mais tarde
- mais recente
- lançamento
- Line
- localizado
- log
- mais
- FAZ
- Fazendo
- de grupos
- Gerente
- gestão
- fabrica
- mapeamento
- Marketing
- Posso..
- mencionado
- mensagem
- mensagens
- minutos
- mais
- múltiplo
- devo
- Navegar
- Navegação
- você merece...
- Cria
- networking
- Novo
- não
- of
- Oferece
- on
- ONE
- contínuo
- aberto
- Operações
- ideal
- or
- A Nossa
- resultados
- proprietários
- pão
- parâmetros
- parte
- para
- realizar
- permissão
- permissões
- oleoduto
- plano
- platão
- Inteligência de Dados Platão
- PlatãoData
- ponto
- políticas
- Privacidade
- Publique
- poder
- prática
- práticas
- anterior
- Diretor
- processo
- em processamento
- produtor
- Produtores
- Produto
- fornece
- Empurrando
- Reagir
- Leia
- Leitura
- reais
- em tempo real
- receber
- recebe
- recentemente
- recomendar
- registros
- reduz
- região
- registrado
- relevante
- requerer
- requeridos
- Requisitos
- exige
- recurso
- Recursos
- aqueles
- riscos
- Tipo
- papéis
- Execute
- mesmo
- amostra
- AMPLIAR
- Escala
- sem problemas
- Segundo
- seções
- segurança
- selecionar
- enviar
- senior
- Serverless
- Serviços
- instalação
- compartilhado
- compartilhando
- rede de apoio social
- simplifica
- solteiro
- solução
- Soluções
- fonte
- especialista
- especializando
- específico
- propagação
- pilha
- Pilhas
- começo
- começado
- Declaração
- Passo
- Passos
- Dê um basta
- armazenamento
- Estratégico
- transmitir canais
- de streaming
- córregos
- enviar
- ajuda
- suportes
- certo
- adaptados
- Tire
- Dados Técnicos:
- modelo
- modelos
- que
- A
- do Reino Unido
- deles
- Este
- coisas
- isto
- três
- Através da
- Taxa de transferência
- tempo
- oportuno
- para
- dois
- Uk
- para
- desnecessariamente
- Atualizar
- Uso
- usar
- usava
- usuários
- utilização
- utilitários
- Valioso
- Valores
- vário
- verificar
- versão
- Ver
- queremos
- we
- web
- serviços web
- quando
- qual
- QUEM
- precisarão
- de
- dentro
- sem
- trabalho
- Você
- investimentos
- zefirnet