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
/runpara a inicialização pós-execução,/suspendpara uma limpeza gradual,/resumepara o restabelecimento da conexão e/terminatepara a descarga de dados. -
Gerencie a reutilização de snapshots: gere UUIDs, segredos e valores aleatórios no hook
/rune 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
allowedPortspara 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
maxIdleDurationSecondspara 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
suspendedDurationSecondspara 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-microvmincluistateReasoncom o motivo da falha inesperada.