View a markdown version of this page

Práticas recomendadas para o Lambda MicroVMS - AWS Lambda

Práticas recomendadas para o Lambda MicroVMS

Siga essas práticas recomendadas para criar aplicações confiáveis, econômicas e seguras com o AWS Lambda MicroVMS.

Design de aplicações

Projete sua aplicação para que ela funcione bem com os snapshots de microVM e ganchos do ciclo de vida.

  • Use ganchos do ciclo de vida: implemente /run para a inicialização pós-execução, /suspend para uma limpeza gradual, /resume para o restabelecimento da conexão e /terminate para a descarga de dados.

  • Gerencie a reutilização de snapshots: gere UUIDs, segredos e valores aleatórios no hook /run e não durante a criação da imagem. Use CSPRNGs para toda geração de números aleatórios.

  • Projete para retomada: valide todas as conexões de rede e o estado em cache no hook /resume. As conexões do AWS SDK geralmente se recuperam de modo automático, mas esse pode não ser o caso das conexões personalizadas.

desempenho

Otimize o desempenho da microVM com as seguintes práticas:

  • Dimensione corretamente sua microVM: escolha o menor tamanho de microVM que atenda às suas necessidades de CPU, memória e largura de banda. A largura de banda escala de acordo com a memória configurada.

  • Minimize o tamanho do snapshot: mantenha o espaço reduzido ocupado pela aplicação para reduzir os tempos de execução e retomada. Remova as dependências do tempo de compilação e os arquivos temporários antes que o snapshot da imagem seja capturado.

  • Use suspensão/retomada para workloads sensíveis à latência: mantenha em estado suspenso os ambientes usados frequentemente para retomar rapidamente a execução.

Segurança

Siga estas práticas para proteger workloads de microVM:

  • Alterne os tokens de autenticação: gere tokens de curta duração (15 a 30 minutos). Implemente a lógica de atualização do token em seu cliente antes da expiração.

  • Defina o escopo dos tokens para portas específicas: use o parâmetro allowedPorts para limitar o escopo do token somente para as portas usadas por sua aplicação.

  • Use a saída de VPC para tráfego confidencial: direcione o tráfego para bancos de dados e APIs internas por meio de um conector de saída de VPC em vez de internet pública.

  • Aplique o IAM com privilégios mínimos: separe os perfis de compilação (criação de imagem) dos perfis de execução (runtime). Conceda as permissões mínimas necessárias.

Otimização de custos

Reduza custos com as seguintes estratégias:

  • Configure as políticas de inatividade: configure maxIdleDurationSeconds para suspender automaticamente as microVMs ociosas. As microVMs suspensas não incorrem em cobranças de computação.

  • Defina maximumDurationInSeconds: evite custos excessivos definindo um tempo de encerramento rígido em cada microVM.

  • Encerre as microVMS que não forem usadas: não deixe que as microVMS sejam executadas indefinidamente. Use suspendedDurationSeconds para encerrar automaticamente após longos períodos de inatividade.

  • Recursos de tags: use tags em imagens de microVM para alocação de custos e geração de relatórios no AWS Cost Explorer.

  • Dimensione corretamente suas microVMS: comece com um número mínimo que atenda às suas necessidades de desempenho. Você pode aumentar esse número mínimo em 4 vezes durante o pico de atividade sem precisar provisionar novamente.

  • Limpe as imagens não utilizadas: exclua as versões da imagem da microVM das quais você não precise mais para reduzir os custos de armazenamento.

Monitoramento

Monitore sua microVMS de forma eficaz:

  • Analise stateReason: quando as microVMs são encerradas inesperadamente, a resposta get-microvm inclui stateReason com o motivo da falha inesperada.