Solução de problemas gerais do Amplify - AWS Amplify Hospedagem

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

Solução de problemas gerais do Amplify

As informações a seguir podem ajudá-lo a solucionar problemas gerais com o Amplify Hosting.

Código de status 429 de HTTP (excesso de solicitações)

O Amplify controla o número de solicitações por segundo (RPS) para seu site com base no tempo de processamento e na transferência de dados que as solicitações recebidas consomem. Se a sua aplicação retornar um código de status 429 de HTTP, as solicitações recebidas excederão a quantidade de tempo de processamento e transferência de dados atribuída à sua aplicação. Esse limite de aplicação é gerenciado pela cota de serviço REQUEST_TOKENS_PER_SECOND do Amplify. Para obter mais informações sobre cotas, consulte Service quotas do Amplify Hosting.

Para corrigir esse problema, recomendamos otimizar sua aplicação para reduzir a duração da solicitação e a transferência de dados para aumentar o RPS da aplicação. Por exemplo, com os mesmos 20.000 tokens, uma página SSR altamente otimizada que responda em 100 milissegundos pode suportar um RPS mais alto em comparação com uma página com latência superior a 200 milissegundos.

Da mesma forma, uma aplicação que retorne um tamanho de resposta de 1 MB consumirá mais tokens do que uma aplicação que retorne um tamanho de resposta de 250 KB.

Também recomendamos que você aproveite o CloudFront cache da Amazon configurando Cache-Control cabeçalhos que maximizem o tempo em que uma determinada resposta é mantida no cache. As solicitações atendidas pelo CloudFront cache não contam para o limite de taxa. Cada CloudFront distribuição pode lidar com até 250.000 solicitações por segundo, permitindo a você escalar bastante sua aplicação usando o cache. Para obter mais informações sobre o CloudFront cache, consulte Otimizando o armazenamento em cache e a disponibilidade no Amazon CloudFront Developer Guide.

O console do Amplify não exibe o status de compilação e a hora da última atualização do meu aplicativo

Quando você navega até a página Todos os aplicativos no console do Amplify, um quadro é exibido para cada um dos seus aplicativos na região atual. Se você não vê o status de compilação, como Implantado, e a hora da última atualização exibida para um aplicativo, o aplicativo não tem uma ramificação de Production estágio associada a ele.

Para listar os aplicativos no console, o Amplify usa a ListApps API. Amplify usa o ProductionBranch.status atributo para exibir o status da compilação e o ProductionBranch.lastDeployTime atributo para exibir a hora da última atualização. Para obter mais informações sobre essa API, consulte a ProductionBranchdocumentação da API Amplify Hosting.

Use as instruções a seguir para associar uma Production etapa à ramificação do seu aplicativo.

  1. Faça login no console do Amplify.

  2. Na página Todas as aplicações, escolha a aplicação que deseja atualizar.

  3. No painel de navegação, escolha Configurações do aplicativo e, em seguida, Configurações de ramificação.

  4. Na seção Configurações de ramificação, escolha Editar.

  5. Em Ramificação de produção, selecione o nome da ramificação que você deseja usar.

  6. Escolha Salvar.

  7. Volte para a página Todos os aplicativos. O status da compilação e a hora da última atualização agora devem ser exibidos para seu aplicativo.

As visualizações na Web não estão sendo criadas para novas pull requests

O recurso de visualizações na web permite que você visualize as alterações das pull requests antes de mesclá-las em uma ramificação de integração. Uma visualização prévia da web implanta cada solicitação pull feita em seu repositório em um URL de visualização exclusiva que é diferente do URL que seu site principal usa.

Se você ativou as visualizações na web para seu aplicativo, mas elas não estão sendo criadas para novas PRs, investigue se uma das situações a seguir é a causa do problema.

  1. Verifique se seu aplicativo atingiu a cota máxima Branches per app de serviço. Para obter mais informações sobre cotas, consulte Service quotas do Amplify Hosting.

    Para permanecer dentro da cota padrão de 50 filiais por aplicativo, considere ativar a exclusão automática de filiais em seu aplicativo. Isso evitará que você acumule ramificações na sua conta que não existem mais no seu repositório.

  2. Se você estiver usando um GitHub repositório público e seu aplicativo Amplify tiver uma função de serviço do IAM associada a ele, o Amplify não cria visualizações por motivos de segurança. Por exemplo, aplicativos com backends e aplicativos implantados na plataforma de WEB_COMPUTE hospedagem exigem um perfil de serviço do IAM. Portanto, não é possível habilitar visualizações na web para esses tipos de aplicativos se o repositório deles for público.

    Para permitir que as visualizações na web funcionem para seu aplicativo, você pode desassociar a função de serviço (se o aplicativo não tiver um back-end ou não for um WEB_COMPUTE aplicativo) ou tornar o GitHub repositório privado.

Minha implantação manual está bloqueada com um status pendente no console do Amplify

As implantações manuais permitem que você publique sua aplicação da Web com o Amplify Hosting sem conectar um provedor do Git. Você pode usar uma das quatro opções de implantação a seguir.

  1. Arraste e solte a pasta do aplicativo no console do Amplify.

  2. Arraste e solte um arquivo.zip (que contém os artefatos de construção do seu site) no console do Amplify.

  3. Faça upload de um arquivo.zip (que contém os artefatos de construção do seu site) em um bucket do Amazon S3 e conecte o bucket a um aplicativo no console do Amplify.

  4. Use uma URL pública que aponte para um arquivo.zip (que contém os artefatos de construção do seu site) no console do Amplify.

Estamos cientes dos problemas com a funcionalidade de arrastar e soltar ao usar uma pasta de aplicativo para uma implantação manual no console do Amplify. Essas implantações podem falhar pelos motivos a seguir.

  • Ocorrem problemas transitórios de rede.

  • Há uma alteração local nos arquivos durante o upload.

  • A sessão do navegador tenta carregar uma grande quantidade de ativos estáticos simultaneamente.

Enquanto trabalhamos para melhorar a confiabilidade de nossos uploads de arrastar e soltar, recomendamos que você use um arquivo.zip em vez de arrastar e soltar as pastas do aplicativo.

É altamente recomendável fazer o upload de um arquivo.zip em um bucket do Amazon S3, pois isso evita o upload de arquivos do console do Amplify e fornece maior confiabilidade para implantações manuais. A integração do Amplify com o Amazon S3 simplify esse processo. Para obter mais informações, consulte Implantar um site estático para o Amplify a partir de um bucket do Amazon S3.

Preciso atualizar a versão Node.js do meu aplicativo

O suporte do Amplify para aplicativos que usam as versões 16 e 18 do Node.js termina em 15 de setembro de 2025. Os aplicativos que já estão implantados continuarão em execução. No entanto, após essa data, você não poderá implantar atualizações em seu aplicativo até que você atualize para a versão 20 ou posterior do Node.js.

Se você estiver usando a imagem de compilação do Amazon Linux 2023, a versão 20 do Node.js é suportada por padrão. A partir de 15 de setembro de 2025, a imagem AL2 023 oferecerá suporte automático ao Node.js 22 e alterará sua versão padrão do Node.js de 18 para 22.

O Amazon Linux 2 (AL2) não oferece suporte automático ao Node.js versão 20 ou posterior. Se atualmente você estiver usando AL2, recomendamos mudar para AL2 023. É possível alterar a imagem de compilação no console do Amplify. Você também pode usar uma imagem de compilação personalizada que ofereça suporte à versão do Node.js especificada por você.

Antes da atualização, recomendamos que você teste a aplicação em uma nova ramificação para verificar se ela funciona corretamente.

Opções de atualização

Amplify Console

Você pode usar o recurso de atualizações de pacotes ao vivo no console do Amplify para especificar a versão do Node.js a ser usada. Para instruções, consulte Uso de versões específicas de pacotes e dependências na imagem de compilação.

Imagem de compilação personalizada

Se você estiver usando uma imagem de compilação personalizada e o NVM estiver instalado em sua imagem, você poderá adicioná-la nvm install 20 ao seu Dockerfile. Para saber mais sobre os requisitos e as instruções de configuração de uma imagem de compilação personalizada, consultePersonalização da imagem de compilação.

Configurações de compilação

Você pode especificar a versão do Node.js a ser usada nas configurações de amplify.yml compilação do seu aplicativo adicionando o nvm use comando à seção de comandos do PreBuild. Para obter instruções sobre como atualizar as configurações de compilação de um aplicativo, consulteDefinição das configurações de compilação de uma aplicação do Amplify.

O exemplo a seguir demonstra como personalizar as configurações de compilação para definir a versão padrão do Node.js como Node.js 18 e atualizar para Node.js versão 20 em uma ramificação de teste chamadanode-20.

frontend: phases: preBuild: commands: - nvm use 18 - if [ "${AWS_BRANCH}" = "node-20" ]; then nvm use 20; fi
Atenção

Esteja ciente de que preBuild os comandos são executados após as atualizações ativas do pacote. A versão do Node.js especificada pelo nvm use comando substituirá a versão do Node.js definida pelas atualizações dinâmicas do pacote.