Gere um endereço IP de saída estático usando uma função do Lambda, Amazon VPC e uma arquitetura de tecnologia sem servidor - Recomendações da AWS

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á.

Gere um endereço IP de saída estático usando uma função do Lambda, Amazon VPC e uma arquitetura de tecnologia sem servidor

Criado por Thomas Scott (AWS)

Ambiente: produção

Tecnologias: contêineres e microsserviços; DevelopmentAndTesting

Serviços da AWS: AWS Lambda

Resumo

Esse padrão descreve como gerar um endereço IP de saída estático na Nuvem da Amazon Web Services (AWS) usando uma arquitetura de tecnologia sem servidor. Sua organização pode se beneficiar dessa abordagem se quiser enviar arquivos para uma entidade comercial separada usando o Secure File Transfer Protocol (SFTP). Isso significa que a entidade comercial deve ter acesso a um endereço IP que permita que os arquivos passem pelo firewall. 

A abordagem do padrão ajuda você a criar uma função do AWS Lambda que usa um endereço IP elástico como endereço IP de saída. Seguindo as etapas desse padrão, você pode criar uma função do Lambda e uma nuvem privada virtual (VPC) que roteia o tráfego de saída por meio de um gateway da Internet com um endereço IP estático. Para usar o endereço IP estático, você anexa a função do Lambda à VPC e suas sub-redes. 

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta AWS ativa 

  • Permissões do AWS Identity and Access Management (IAM) para criar e implementar uma função do Lambda e criar uma VPC e suas sub-redes. Para obter mais informações, consulte Função de execução e permissões de usuário na documentação da AWS Lambda.

  • Se você planeja usar a infraestrutura como código (IaC) para implementar a abordagem desse padrão, você precisa de um ambiente de desenvolvimento integrado (IDE), como o AWS Cloud9. Para obter mais informações sobre isso, consulte O que é o AWS Cloud9? na documentação do AWS Cloud9.

Arquitetura

O diagrama a seguir mostra a arquitetura de tecnologia sem servidor desse padrão.

O diagrama mostra o seguinte fluxo de trabalho:

  1. O tráfego de saída de NAT gateway 1 em Public subnet 1.

  2. O tráfego de saída de NAT gateway 2 em Public subnet 2.

  3. A função do Lambda pode ser executada em Private subnet 1 ou Private subnet 2.

  4. Private subnet 1 e Private subnet 2 roteiam o tráfego para os gateways NAT nas sub-redes públicas.

  5. Os gateways NAT enviam tráfego de saída para o gateway da Internet a partir das sub-redes públicas.

  6. Os dados de saída são transferidos do gateway da Internet para o servidor externo.

Pilha de tecnologia

  • Lambda

  • Amazon Virtual Private Cloud (Amazon VPC)

 

Automação e escala

Você pode garantir a alta disponibilidade (HA) usando duas sub-redes públicas e duas privadas em diferentes zonas de disponibilidade. Mesmo que uma zona de disponibilidade fique indisponível, a solução do padrão continua funcionando.

Ferramentas

  • AWS Lambda: o AWS Lambda é um serviço de computação que permite a execução do código sem provisionar ou gerenciar servidores O Lambda executa o código somente quando necessário e dimensiona automaticamente, desde algumas solicitações por dia até milhares por segundo. Você paga apenas pelo tempo de computação consumido. Não haverá cobranças quando o código não estiver em execução.

  • Amazon VPC: a Amazon Virtual Private Cloud (Amazon VPC) permite provisionar uma seção logicamente isolada da Nuvem AWS, em que é possível executar recursos da AWS em uma rede virtual que você mesmo define. Essa rede virtual se assemelha a uma rede tradicional que você operaria no seu datacenter, com os benefícios de usar a infraestrutura dimensionável da AWS.

Épicos

TarefaDescriçãoHabilidades necessárias
Crie uma nova VPC.

Faça login no Console de Gerenciamento da AWS, abra o console Amazon VPC e crie uma VPC chamada Lambda VPC que tenha 10.0.0.0/25  como intervalo IPv4 CIDR.

Para obter mais informações sobre como criar uma VPC, consulte Conceitos básicos da Amazon VPC na documentação da Amazon VPC. 

Administrador da AWS
TarefaDescriçãoHabilidades necessárias
Crie a primeira sub-rede pública.
  1. No console do Amazon VPC, escolha Sub-redes e, em seguida, escolha Criar sub-rede

  2. Em Nomear tag, insira public-one.

  3. Em VPC, escolha Lambda VPC.

  4. Escolha uma zona de disponibilidade e registre-a. 

  5. Para o bloco CIDR IPv4, insira 10.0.0.0/28 e escolha Criar sub-rede.

Administrador da AWS
Crie a segunda sub-rede pública.
  1. No console do Amazon VPC, escolha Sub-redes e, em seguida, escolha Criar sub-rede

  2. Em Nomear tag, insira public-two.

  3. Em VPC, escolha Lambda VPC.

  4. Escolha uma zona de disponibilidade e registre-a. Importante: não é possível usar a zona de disponibilidade que contém a sub-rede public-one

  5. Para o bloco CIDR IPv4, insira 10.0.0.16/28e escolha Criar sub-rede.

Administrador da AWS
TarefaDescriçãoHabilidades necessárias
Criar a primeira sub-rede privada.
  1. No console do Amazon VPC, escolha Sub-redes e, em seguida, escolha Criar sub-rede

  2. Em Nomear tag, insira private-one.

  3. Em VPC, escolha Lambda VPC.

  4. Escolha a zona de disponibilidade que contém a sub-rede public-one que você criou anteriormente. 

  5. Para o bloco CIDR IPv4, insira 10.0.0.32/28 e escolha Criar sub-rede.

Administrador da AWS
Crie a segunda sub-rede privada.
  1. No console do Amazon VPC, escolha Sub-redes e, em seguida, escolha Criar sub-rede

  2. Em Nomear tag, insira private-two.

  3. Em VPC, escolha Lambda VPC.

  4. Escolha a mesma zona de disponibilidade que contém a sub-rede public-two que você criou anteriormente. 

  5. Para o bloco CIDR IPv4, insira 10.0.0.64/28 e escolha Criar sub-rede.

Administrador da AWS
TarefaDescriçãoHabilidades necessárias
Crie o primeiro endereço IP elástico.
  1. No console do Amazon VPC, escolha Elastic IPs e, em seguida, escolha Alocar novo endereço.

  2. Escolha Alocar e registre o ID de alocação para seu endereço IP elástico recém-criado.

Observação: esse endereço IP elástico é usado para seu primeiro gateway NAT. 

Administrador da AWS
Crie o segundo endereço IP elástico.
  1. No console do Amazon VPC, escolha Elastic IPs e, em seguida, escolha Alocar novo endereço.

  2. Escolha Alocar e registre o ID de alocação para esse segundo endereço IP elástico.

Observação: esse endereço IP elástico é usado para seu segundo gateway NAT.

Administrador da AWS
TarefaDescriçãoHabilidades necessárias
Crie um gateway da Internet.
  1. No console da Amazon VPC escolha Gateway da Internet e escolha Criar gateway da Internet.

  2. Insira Lambda internet gateway como nome e escolha Criar gateway da internet. Certifique-se de registrar o ID do gateway da internet. 

Administrador da AWS
Anexar o Gateway da Internet à VPC.

Selecione o gateway da internet criado e escolha Actions, Attach to VPC (Ações, anexar à VPC).

Administrador da AWS
TarefaDescriçãoHabilidades necessárias
Crie o primeiro gateway NAT.
  1. No console do Amazon VPC, escolha NAT Gateways e, em seguida, escolha Create NAT Gateway.

  2. Insira nat-one como o nome do gateway NAT. 

  3. Selecione a public-one como a sub-rede na qual o gateway NAT deve ser criado.

  4. Em Tipo de conectividade, escolha Público.

  5. Em ID de alocação do IP elástico, escolha o ID do endereço IP elástico que você criou anteriormente e o associe ao gateway NAT.

  6. Escolha Criar um gateway NAT.

Administrador da AWS
Crie o segundo gateway NAT.
  1. No console do Amazon VPC, escolha NAT Gateways e, em seguida, escolha Create NAT Gateway.

  2. Insira nat-two como o nome do gateway NAT. 

  3. Selecione a sub-rede public-two na qual o gateway NAT deve ser criado.

  4. Em Tipo de conectividade, escolha Público.

  5. Em ID de alocação do IP elástico, escolha o ID do endereço IP elástico que você criou anteriormente e associe ao gateway NAT.

  6. Escolha Criar um gateway NAT.

Administrador da AWS
TarefaDescriçãoHabilidades necessárias
Crie a tabela de rotas para a sub-rede pública.
  1. No console do Amazon VPC, escolha Tabela de rotas e, em seguida, escolha Criar tabela de rotas.

  2. Insira public-one-subnet como nome da tabela de rotas e escolha Criar tabela de rotas.

  3. Escolha a tabela de rotas public-one-subnet, escolha Editar rotas e, em seguida, escolha Adicionar rota.

  4. Especifique 0.0.0.0 na caixa de Destino e selecione o ID do gateway da internet na lista Target.

  5. Na guia Associações de sub-rede, escolha Editar associações de sub-rede, marque a caixa de seleção da sub-rede public-one com o 10.0.0.0/28 intervalo CIDR e, em seguida, escolha Salvar associações.

  6. Escolha Salvar alterações.

Administrador da AWS
Crie a tabela de rotas para a sub-rede pública dois.
  1. No console do Amazon VPC, escolha Tabela de rotas e, em seguida, escolha Criar tabela de rotas.

  2. Insira public-two-subnet como nome da tabela de rotas e escolha Criar tabela de rotas.

  3. Escolha a tabela de rotas public-two-subnet, escolha Editar rotas e, em seguida, escolha Adicionar rota.

  4. Especifique 0.0.0.0 na caixa de Destino e selecione o ID do gateway da internet na lista Target.

  5. Na guia Associações de sub-rede, escolha Editar associações de sub-rede, marque a public-two sub-rede com o 10.0.0.16/28 intervalo CIDR e, em seguida, escolha Salvar associações.

  6. Escolha Salvar alterações.

Administrador da AWS
Crie a tabela de rotas para a sub-rede privada-um.
  1. No console do Amazon VPC, escolha Tabela de rotas e, em seguida, escolha Criar tabela de rotas.

  2. Insira private-one-subnet como nome da tabela de rotas e escolha Criar tabela de rotas.

  3. Escolha a tabela de rotas private-one-subnet, escolha Editar rotas e, em seguida, escolha Adicionar rota.

  4. Especifique 0.0.0.0 na caixa Destino e selecione o gateway NAT da internet na sub-rede public-one na lista do Target.

  5. Na guia Associações de sub-rede, escolha Editar associações de sub-rede, marque a 10.0.0.32/28sub-rede private-one com o intervalo CIDR e, em seguida, escolha Salvar associações.

  6. Escolha Salvar alterações.

Administrador da AWS
Crie a tabela de rotas para a sub-rede privada.
  1. No console do Amazon VPC, escolha Tabela de rotas e, em seguida, escolha Criar tabela de rotas.

  2. Insira private-two-subnet como nome da tabela de rotas e escolha Criar tabela de rotas.

  3. Escolha a tabela de rotas private-two-subnet, escolha Editar rotas e, em seguida, escolha Adicionar rota.

  4. Especifique 0.0.0.0 na caixa Destino e selecione o gateway NAT da internet na sub-rede public-two na lista do Target.

  5. Na guia Associações de sub-rede, escolha Editar associações de sub-rede, marque a sub-rede private-two com o intervalo CIDR 10.0.0.64/28 e, em seguida, escolha Salvar associações.

  6. Escolha Salvar alterações.

Administrador da AWS
TarefaDescriçãoHabilidades necessárias
Crie uma nova função do Lambda.
  1. Abra o console do AWS Lambda e escolha Criar função.

  2. Em Informações básicas, insira Lambda test em Nome da função e escolha o idioma de sua preferência em Runtime.  

  3. Escolha a opção Criar função.

Administrador da AWS
Adicione a função do Lambda ao seu VPC.
  1. Abra a página Funções do console do AWS Lambda, escolha a função que você criou anteriormente. 

  2. Escolha Configuration (Configuração) e, em seguida, escolha VPC.

  3. Escolha Editar e, em seguida, escolha Lambda VPC as duas sub-redes privadas.

  4. Escolha Grupo de segurança padrão para fins de teste e, em seguida, escolha Salvar.

Administrador da AWS
Escreva o código para chamar um serviço externo.
  1. Na linguagem de programação de sua escolha, escreva um código para chamar um serviço externo que retorna seu endereço IP.

  2. Verifique se o endereço IP retornado corresponde a um dos seus endereços IP elásticos.

Administrador da AWS

Recursos relacionados