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 que você escale muito seu aplicativo 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 da minha aplicação

Quando você navega até a página Todas as aplicações no console do Amplify, um quadro é exibido para cada uma das suas aplicações na região atual. Se você não vê o status de compilação, como Implantado, e a hora da Ultima atualização exibida para uma aplicação, a aplicação não tem uma ramificação de estágio de Production associada a ele.

Para listar as aplicações no console, o Amplify usa a API ListApps. O Amplify usa o atributo ProductionBranch.status para exibir o status da compilação e o atributo ProductionBranch.lastDeployTime 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 um estágio de Production à ramificação da aplicação.

  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 da aplicação, e, em seguida, Configurações da ramificação.

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

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

  6. Escolha Salvar.

  7. Volte para a página Todas as aplicações. O status da compilação e a hora da última atualização agora devem ser exibidos para sua aplicação.

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

O recurso de visualizações na Web permite que você visualize as alterações das solicitações de pull antes de mesclá-las em uma ramificação de integração. Uma visualização prévia da Web implanta cada solicitação de 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 a sua aplicação atingiu a cota máxima de serviço Branches per app. Para obter mais informações sobre cotas, consulte Service quotas do Amplify Hosting.

    Para permanecer dentro da cota padrão de 50 ramificações por aplicação, considere ativar a exclusão automática de ramificações em sua aplicação. 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. É possível usar uma das quatro opções de implantação a seguir.

  1. Arraste e solte a pasta da aplicação no console do Amplify.

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

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

  4. Use um URL público que aponte para um arquivo .zip (que contenha 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 aplicação para uma implantação manual no console do Amplify. Essas implantações podem apresentar falha 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 fazer o upload de 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 da aplicação.

É 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 simplifica 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 da minha aplicação

O suporte do Amplify para aplicações que usam as versões 14, 16 e 18 do Node.js termina em 15 de setembro de 2025. O comportamento após essa data depende do tipo de aplicação:

  • Aplicações SSR: ocorrerão falhas de compilação ao usar versões obsoletas do Node.js. Não será possível implantar atualizações até que você atualize para Node.js 20 ou posterior.

  • Aplicações não SSR: podem continuar usando versões obsoletas do Node.js se você instalá-las manualmente por meio de buildspec ou atualizações de pacotes ao vivo.

As aplicações que já estão implantadas continuarão em execução independentemente da versão do Node.js.

Se você estiver usando a imagem de compilação do Amazon Linux 2023, há suporte para a versão 20 do Node.js 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 você estiver usando atualmente AL2, recomendamos que você mude 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 de atualizar, recomendamos que você teste a aplicação em uma nova ramificação para verificar se ela funciona corretamente.

Opções de atualização

Console do Amplify

É possível usar o recurso de atualizações de pacotes em tempo real 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, será possível adicionar o 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, consulte Personalização da imagem de compilação.

Configurações de compilação

É possível especificar a versão do Node.js a ser usada nas configurações de compilação amplify.yml da sua aplicação adicionando o comando nvm use à seção de comandos preBuild. Para obter instruções sobre como atualizar as configurações de compilação de uma aplicação, consulte Definiçã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 chamada node-20.

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

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