Como posso usar uma função do Lambda criada em uma conta da AWS com um recurso personalizado do AWS CloudFormation em outra conta da AWS?

2 minuto de leitura
0

Quero criar uma função do AWS Lambda em uma conta e, em seguida, invocar essa função a partir de um recurso personalizado do AWS CloudFormation em outra conta.

Breve descrição

Você só pode invocar uma função do Lambda a partir de um recurso personalizado em uma conta diferente se a função do Lambda e o recurso personalizado estiverem na mesma região da AWS. A propriedade ServiceToken do AWS::CloudFormation::CustomResource deve estar na mesma região em que você criou a pilha do AWS CloudFormation. Você deve usar uma política baseada em recursos para conceder às contas, com seus recursos personalizados, permissão para invocar sua função do Lambda.

Observação: quando você associa uma função do Lambda a um recurso personalizado, a função é invocada sempre que o recurso personalizado é criado, atualizado ou excluído. O AWS CloudFormation chama uma API Lambda para invocar a função e passar todos os dados da solicitação para a função. Por exemplo, os dados da solicitação incluem o tipo de solicitação e as propriedades do recurso.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se estar usando a versão mais recente da AWS CLI.

Para conceder à função do Lambda acesso ao recurso personalizado de outra conta (Conta B), execute o comando add-permission da AWS CLI em sua conta principal (Conta A).

-ou-

1.Quando uma função do Lambda é criada por meio de uma pilha na Conta A, use o recurso AWS::Lambda::Permission para conceder permissão à Conta B.

2.Na Conta B, inicie a pilha do AWS CloudFormation que contém seu recurso personalizado.

Observação: verifique se o ServiceToken se refere ao nome do recurso da Amazon (ARN) da função do Lambda da Conta A. Inclua quaisquer propriedades adicionais para enviar ao recurso personalizado como entrada.

3.Use o Amazon CloudWatch Logs para confirmar que o recurso personalizado da Conta B invocou sua função do Lambda na Conta A.


Informações relacionadas

Propriedades

Conceder a outras contas acesso à função

AWS OFICIAL
AWS OFICIALAtualizada há 3 anos