

# Conceder acesso a funções do Lambda para um recurso em uma Amazon VPC em outra conta
<a name="configuration-vpc-cross-account"></a>

Você pode conceder à sua função do AWS Lambda acesso a um recurso em uma Amazon VPC na Amazon Virtual Private Cloud gerenciada por outra conta, sem expor nenhuma VPC à internet. Esse padrão de acesso permite que você compartilhe dados com outras organizações usando a AWS. Usando esse padrão de acesso, você pode compartilhar dados entre VPCs com um nível maior de segurança e performance do que pela internet. Configure a função do Lambda para usar uma conexão de emparelhamento da Amazon VPC para acessar esses recursos.

**Atenção**  
Ao permitir o acesso entre contas ou VPCs, verifique se o plano atende aos requisitos de segurança das respectivas organizações que gerenciam essas contas. Seguir as instruções deste documento afetará a postura de segurança dos recursos.

Neste tutorial, você conecta duas contas com uma conexão de emparelhamento usando IPv4. Você configura uma função do Lambda que ainda não está conectada a uma Amazon VPC. Você configura a resolução de DNS para conectar a função a recursos que não fornecem IPs estáticos. Para adaptar essas instruções a outros cenários de emparelhamento, consulte o [Guia de emparelhamento de VPCs](https://docs.aws.amazon.com//vpc/latest/peering/what-is-vpc-peering.html).

## Pré-requisitos
<a name="w2aac15c43c67b9"></a>

Para conceder acesso a uma função do Lambda a um recurso em outra conta, você deve ter:
+ Uma função do Lambda, configurada para se autenticar e depois ler seu recurso.
+ Um recurso em outra conta, como um cluster do Amazon RDS, disponível por meio da Amazon VPC.
+ Credenciais para a conta da função do Lambda e a conta do recurso. Se você não estiver autorizado a usar a conta do recurso, entre em contato com um usuário autorizado para preparar essa conta.
+ Permissão para criar e atualizar uma VPC (e ser compatível com recursos da Amazon VPC) para associá-la à função do Lambda.
+ Permissão para atualizar o perfil de execução e a configuração da VPC para a função do Lambda.
+ Permissão para criar uma conexão de emparelhamento da VPC na conta da função do Lambda.
+ Permissão para aceitar uma conexão de emparelhamento da VPC na conta do recurso.
+ Permissão para atualizar a configuração da VPC do recurso (e ser compatível com os recursos da Amazon VPC).
+ Permissão para invocar a função do Lambda.

## Criar uma Amazon VPC na conta da função
<a name="w2aac15c43c67c11"></a>

Crie uma Amazon VPC, sub-redes, tabelas de rotas e um grupo de segurança na conta da função do Lambda. 

**Para criar uma VPC, sub-redes e outros recursos de VPC usando o console**

1. Abra o console da Amazon VPC em [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel, escolha **Criar VPC**.

1. Para o **bloco CIDR IPv4**, forneça um bloco CIDR privado. Seu bloco CIDR não deve se sobrepor aos blocos usados na VPC do recurso. Não escolha um bloco que a VPC de recursos usa para atribuir IPs aos recursos ou um bloco já definido nas tabelas de rotas da VPC de recursos. Para obter mais informações sobre como definir blocos CIDR apropriados, consulte [Blocos CIDR da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html).

1. Escolha **Personalizar AZs**.

1. Selecione as mesmas AZs do recurso.

1. Para **Número de sub-redes públicas**, escolha **0**.

1. Em **VPC endpoints** (Endpoints de VPC), escolha **None** (Nenhum).

1. Escolha **Criar VPC**.

## Conceda permissões da VPC ao perfil de execução da função.
<a name="w2aac15c43c67c13"></a>

Anexe [AWSLambdaVPCAccessExecutionRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaVPCAccessExecutionRole.html) ao perfil de execução da função para permitir que ela se conecte às VPCs. 

**Para conceder permissões da VPC ao perfil de execução da função**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha o nome da sua função.

1. Escolher **configuração**.

1. Escolha **Permissões**.

1. Em **Nome do perfil**, escolha o perfil de execução.

1. Na seção **Políticas de permissões**, escolha **Adicionar permissões**.

1. Escolha **Anexar políticas** na lista suspensa.

1. Na caixa de pesquisa, insira `AWSLambdaVPCAccessExecutionRole`.

1. À esquerda do nome da política, marque a caixa de seleção.

1. Escolha **Adicionar permissões**.

**Para anexar a função à Amazon VPC**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha o nome da sua função.

1. Escolha a guia **Configuração** e depois **VPC**.

1. Escolha **Editar**.

1. Em **VPC**, selecione a VPC.

1. Em **Sub-redes**, escolha as sub-redes.

1. Em **Grupos de segurança**, escolha o grupo de segurança padrão da VPC.

1. Escolha **Salvar**.

## Criar uma solicitação de conexão de emparelhamento da VPC
<a name="w2aac15c43c67c17"></a>

Crie uma solicitação de conexão de emparelhamento da VPC da função da VPC (a VPC solicitante) para a VPC do recurso (a VPC aceitante).

**Para solicitar uma conexão de emparelhamento da VPC da VPC da função**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, escolha **Peering Connections** (Conexões de emparelhamento).

1. Selecione **Create Peering Connection** (Criar conexão de emparelhamento).

1. Em **ID da VPC (Solicitante)**, selecione a VPC da função.

1. Em **ID da conta**, insira o ID da conta do recurso.

1. Em **ID da VPC ID (Aceitante)**, insira a VPC do recurso.

## Preparar a conta do recurso
<a name="w2aac15c43c67c19"></a>

Para criar a conexão de emparelhamento e preparar a VPC do recurso para usar a conexão, faça login na conta do recurso com um perfil que tenha as permissões listadas nos pré-requisitos. As etapas para fazer login podem ser diferentes com base em como a conta está protegida. Para obter mais informações sobre como fazer login na conta da AWS, consulte o [Guia do usuário de Início de Sessão da AWS](https://docs.aws.amazon.com//signin/latest/userguide/what-is-sign-in.html). Na conta do recurso, execute os procedimentos a seguir.

**Para aceitar uma solicitação de conexão de emparelhamento da VPC**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, escolha **Peering Connections** (Conexões de emparelhamento).

1. Selecione a conexão pendente de emparelhamento da VPC (o status é pending-acceptance).

1. Escolha **Ações**.

1. Na lista suspensa, escolha **Aceitar solicitação**.

1. Quando a confirmação for solicitada, escolha **Aceitar solicitação**.

1. Escolha **Modificar as tabelas de rotas agora** para adicionar uma rota à tabela de rotas principal da VPC para que você possa enviar e receber tráfego pela conexão de emparelhamento.

Inspecione as tabelas de rotas da VPC do recurso. A rota gerada pela Amazon VPC pode não estabelecer conectividade, com base em como a VPC do recurso está configurada. Verifique se há conflitos entre a nova rota e a configuração existente da VPC. Para obter mais informações sobre solução de problemas, consulte [Solucionar problemas com a conexão de emparelhamento da VPC](https://docs.aws.amazon.com/vpc/latest/peering/troubleshoot-vpc-peering-connections.html) no *Guia de emparelhamento de VPC da Amazon Virtual Private Cloud*.

**Para atualizar o grupo de segurança do recurso**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, selecione **Grupos de segurança**.

1. Selecione o grupo de segurança do recurso.

1. Escolha **Ações**.

1. Na lista suspensa, escolha **Editar regras de entrada**.

1. Escolha **Adicionar regra**.

1. Para **Origem**, insira o ID do grupo de segurança o ID da conta da função, separados por uma barra inclinada (por exemplo, 111122223333/sg-1a2b3c4d).

1. Escolha **Editar regras de saída**.

1. Verifique se o tráfego de saída é restrito. As configurações de VPC padrão permitem todo o tráfego de saída. Se o tráfego de saída for restrito, continue para a próxima etapa.

1. Escolha **Adicionar regra**.

1. Para **Destino**, insira o ID do grupo de segurança o ID da conta da função, separados por uma barra inclinada (por exemplo, 111122223333/sg-1a2b3c4d).

1. Selecione **Salvar regras**.

**Para habilitar a resolução de DNS para a conexão de emparelhamento**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, escolha **Peering Connections** (Conexões de emparelhamento).

1. Selecione a conexão de emparelhamento.

1. Escolha **Ações**.

1. Escolha **Editar as configurações de DNS**.

1. Abaixo de **Resolução de DNS aceitante**, selecione **Permitir que a VPC solicitante resolva o DNS dos hosts da VPC aceitante para IP privado**.

1. Escolha **Salvar alterações**.

## Atualizar a configuração da VPC na conta da função
<a name="w2aac15c43c67c21"></a>

Faça login na conta da função e atualize a configuração da VPC.

**Para adicionar uma rota à conexão de emparelhamento da VPC**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, escolha **Route tables**.

1. Marque a caixa de seleção próxima ao nome da tabela de rotas para a sub-rede que você associou à função.

1. Escolha **Ações**.

1. Escolha **Edit routes (Editar rotas)**.

1. Selecione **Adicionar rota**.

1. Em **Destino**, insira o bloco CIDR da VPC do recurso.

1. Em **Destino**, selecione a conexão de emparelhamento da VPC.

1. Escolha **Salvar alterações**.

Para obter mais informações sobre as considerações que você pode encontrar ao atualizar as tabelas de rotas, consulte [Atualizar suas tabelas de rotas para uma conexão de emparelhamento da VPC](https://docs.aws.amazon.com//vpc/latest/peering/vpc-peering-routing.html).

**Para atualizar o grupo de segurança da função do Lambda**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, selecione **Grupos de segurança**.

1. Escolha **Ações**.

1. Escolha **Editar regras de entrada**.

1. Escolha **Adicionar regra**.

1. Para **Origem**, insira o ID do grupo de segurança o ID da conta do recurso, separados por uma barra inclinada (por exemplo, 111122223333/sg-1a2b3c4d).

1. Selecione **Salvar regras**.

**Para habilitar a resolução de DNS para a conexão de emparelhamento**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, escolha **Peering Connections** (Conexões de emparelhamento).

1. Selecione a conexão de emparelhamento.

1. Escolha **Ações**.

1. Escolha **Editar as configurações de DNS**.

1. Abaixo de **Resolução de DNS solicitante**, selecione **Permitir que a VPC aceitante resolva o DNS dos hosts da VPC solicitante para IP privado**.

1. Escolha **Salvar alterações**.

## Testar a função
<a name="w2aac15c43c67c23"></a>

**Para criar um evento de teste e inspecionar a saída da função**

1. No painel **Origem do código**, escolha **Testar**.

1. Selecione **Criar novo evento**.

1. No painel **Event JSON**, substitua os valores padrão por uma entrada apropriada para a função do Lambda.

1. Escolha **Invoke (Invocar)**.

1. Na guia **Resultados da execução**, confirme se a **resposta** contém a saída esperada.

Além disso, você pode checar os logs da função para verificar se os logs estão conforme o esperado.

**Para visualizar os registros de invocação da sua função no CloudWatch Logs**

1. Escolha a guia **Monitor** (Monitorar).

1. Escolha **Visualizar logs do CloudWatch**.

1. Na guia **Fluxos de log**, escolha o fluxo de logs para a invocação da sua função.

1. Confirme se os logs estão conforme o esperado.