Guia de início rápido: implantar um serviço Next.js no Cloud Run
Saiba como criar um aplicativo Hello World simples, empacotá-lo em uma imagem de contêiner, fazer upload da imagem do contêiner no Artifact Registry e, em seguida, implantar a imagem do contêiner no Cloud Run.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Para definir o projeto padrão do serviço do Cloud Run:
Substitua PROJECT_ID pelo nome do projeto que você criou para este guia de início rápido.gcloud config set project PROJECT_ID
- Se você não tiver o Node.js 20 ou posterior instalado, instale o Node.js.
Se você precisa seguir uma política da organização de restrição de domínio que restringe invocações não autenticadas para seu projeto, será necessário acessar o serviço implantado, conforme descrito em Como testar serviços particulares.
Ative a API Cloud Run Admin e a API Cloud Build:
gcloud services enable run.googleapis.com \ cloudbuild.googleapis.com
Depois que a API Cloud Run Admin for ativada, a conta de serviço padrão do Compute Engine será criadas automaticamente.
- Para que o Cloud Build consiga criar suas origens, conceda o papel
Conta de serviço do Cloud Build
para a conta de serviço padrão do Compute Engine. Basta executar o comando a seguir:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/cloudbuild.builds.builder
Substitua
PROJECT_NUMBER
pelo número do projeto do Google Cloud ePROJECT_ID
pelo ID do projeto do Google Cloud. Para instruções detalhadas sobre como encontrar o ID e o número do projeto, consulte Criar e gerenciar projetos.A concessão do papel de conta de serviço do Cloud Build à conta de serviço padrão do Compute Engine leva alguns minutos para se propagar.
Gravar o serviço de amostra
Para criar e implantar um serviço Next.js, siga estas etapas:
Para criar um novo projeto Next.js chamado
helloworld
, use o comando:npx create-next-app@14.1.0 helloworld
Pressione
Enter
quando solicitado a aceitar os padrões.Altere o diretório para
helloworld
:cd helloworld
O app está concluído e pronto para ser implantado.
Implantar no Cloud Run da origem
Importante: este guia de início rápido pressupõe que você tenha papéis de proprietário ou editor no projeto que está usando para este guia. Caso contrário, consulte o papel de desenvolvedor de origem do Cloud Run para ter acesso às permissões necessárias para implantar um recurso do Cloud Run a partir da origem.
A implantação a partir da origem cria automaticamente uma imagem de contêiner com base no código-fonte e a implanta.
Para implantar a partir da origem:
No diretório do código-fonte, implante a pasta atual usando o seguinte comando:
gcloud run deploy --source .
Quando o nome do serviço for solicitado, pressione "Enter" para aceitar o nome padrão, por exemplo,
helloworld
.Se for solicitado que você ative APIs adicionais no projeto, por exemplo, a API Artifact Registry, responda pressionando
y
:Quando a região for solicitada, selecione a região que preferir, por exemplo,
us-central1
.Se você for solicitado a criar um repositório na região especificada, responda pressionando
y
.Se for solicitado que você permita invocações não autenticadas, siga estas etapas: responda
y
. Se houver um domínio, você não vai receber essa solicitação e a política de restrição da organização que impede isso. Para mais detalhes, consulte a seção Antes de começar.
Aguarde alguns instantes até a conclusão da implantação. Em caso de sucesso, a linha de comando exibe o URL de serviço.
Consulte o contêiner implantado abrindo o URL de serviço em um navegador da Web.
Locais do Cloud Run
O Cloud Run é regional, o que significa que a infraestrutura que executa seus serviços do Cloud Run está localizada em uma região específica e é gerenciada pelo Google para estar disponível de maneira redundante em todas as zonas da região.
Atender aos seus requisitos de latência, disponibilidade ou durabilidade são os principais fatores para selecionar a região em que seus serviços do Cloud Run são executados.
Geralmente, é possível selecionar a região mais próxima de seus usuários, mas considere a localização dos outros produtos do Google Cloud usados pelo serviço do Cloud Run.
O uso de produtos do Google Cloud em vários locais pode afetar a latência e o custo do serviço.
O Cloud Run está disponível nas regiões a seguir:
Sujeitas aos preços do nível 1
asia-east1
(Taiwan)asia-northeast1
(Tóquio)asia-northeast2
(Osaka)europe-north1
(Finlândia) Baixo CO2europe-southwest1
(Madri) Baixo CO2europe-west1
(Bélgica) Baixo CO2europe-west4
(Países Baixos) Baixo CO2europe-west8
(Milão)europe-west9
(Paris) Baixo CO2me-west1
(Tel Aviv)us-central1
(Iowa) Baixo CO2us-east1
(Carolina do Sul)us-east4
(Norte da Virgínia)us-east5
(Columbus)us-south1
(Dallas) Baixo CO2us-west1
(Oregon) Baixo CO2
Sujeitas aos preços do nível 2
africa-south1
(Johannesburgo)asia-east2
(Hong Kong)asia-northeast3
(Seul, Coreia do Sul)asia-southeast1
(Singapura)asia-southeast2
(Jacarta)asia-south1
(Mumbai, Índia)asia-south2
(Déli, Índia)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Varsóvia, Polônia)europe-west10
(Berlim) Baixo CO2europe-west12
(Turim)europe-west2
(Londres, Reino Unido) Baixo CO2europe-west3
(Frankfurt, Alemanha) Baixo CO2europe-west6
(Zurique, Suíça) Baixo CO2me-central1
(Doha)me-central2
(Damã)northamerica-northeast1
(Montreal) Baixo CO2northamerica-northeast2
(Toronto) Baixo CO2southamerica-east1
(São Paulo, Brasil) Baixo CO2southamerica-west1
(Santiago, Chile) Baixo CO2us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)
Se você já criou um serviço do Cloud Run, é possível visualizar a região no painel do Cloud Run no console do Google Cloud.
Parabéns! Você acabou de implantar uma imagem de contêiner a partir do código-fonte no Cloud Run. O Cloud Run escalona de maneira automática e horizontal a imagem de contêiner para processar as solicitações recebidas e reduz o escalonamento quando a demanda diminui. Você paga apenas pela CPU, memória e rede consumidas durante o processamento da solicitação.
Limpar
Remover o projeto de teste
Ainda que o Cloud Run não gere custos quando o serviço não estiver em uso, é possível que receba cobranças pelo armazenamento da imagem do contêiner no Artifact Registry. É possível excluir sua imagem de contêiner ou excluir seu projeto do Google Cloud para evitar cobranças. A exclusão do projeto do Google Cloud interrompe o faturamento de todos os recursos usados no projeto.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
A seguir
Para mais informações sobre como criar um contêiner a partir do código-fonte e enviá-lo para um repositório, consulte:
- Como desenvolver serviços do Cloud Run
- Como criar contêineres
- Testar um serviço do Cloud Run localmente
- Como implantar do código-fonte
Para integração automática do GitHub e implantações otimizadas com CDN para apps Next.js renderizados pelo servidor, considere usar o Firebase App Hosting.