Ao usar scripts de escalonamento automático ou serviços de ambiente de execução no Compute Engine, é possível automatizar pipelines de integração e implantação contínuas (CI/CD). No entanto, como esses recursos dependem muito das definições de recursos globais ao consultar endpoints de API globais, essa abordagem pode introduzir um único ponto de falha na arquitetura multirregional.
Para reduzir esse risco, configure seus serviços para acessar visualizações regionais de recursos globais. Ao enviar solicitações GET e LIST para endpoints somente leitura regionalizados na região exata em que as cargas de trabalho de computação são executadas, seus serviços isolam o consumo de API de possíveis interrupções no plano de controle global ou em outras regiões. Para mais informações sobre
endpoints somente leitura regionalizados e práticas recomendadas de resiliência, consulte Usar visualizações regionais para leituras resilientes do plano de controle.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a Google Cloud serviços e APIs do. Para executar
código ou amostras de um ambiente de desenvolvimento local, faça a autenticação no
Compute Engine com uma destas opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o Google Cloud console para acessar Google Cloud serviços e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Funções exigidas
Para ter as permissões necessárias para acessar recursos globais regionalmente, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1) no projeto ou nas imagens do SO.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para acessar recursos globais regionalmente. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para acessar recursos globais regionalmente:
-
Para receber visualizações regionais de um projeto:
compute.projects.getno projeto -
Para receber visualizações regionais de imagens do SO:
compute.images.getecompute.images.listno projeto ou nas imagens do SO
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Recurso do projeto
É possível receber visualizações regionais do recurso de projeto global usando o endpoint somente leitura projectViews.
Ao consultar o endpoint projectViews, o Compute Engine
retorna o objeto de recurso compute.Project
global padrão. O recurso em si permanece global.
Receber uma visualização regional de um recurso de projeto
É possível receber uma visualização regional do projeto global usando a Google Cloud CLI ou a API REST.
gcloud
Para descrever seu projeto global pelo plano de controle de uma região específica, execute o
gcloud compute project-views describe comando:
gcloud compute project-views describe \
--region=REGION \
--project=PROJECT_ID
Substitua:
REGION: a Google Cloud região da solicitação de API, por exemplo,us-central1.PROJECT_ID: o ID do projeto.
REST
Para descrever seu projeto global pelo plano de controle de uma região específica, envie uma GET solicitação para o
projectViews método.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/projectViews"
Substitua:
PROJECT_ID: o ID do projeto.REGION: a Google Cloud região da solicitação de API , por exemplo,us-central1.
A API retorna a representação de recurso compute.Project padrão diretamente.
{
"kind": "compute#project",
"id": "1234567890123456789",
"creationTimestamp": "2024-01-15T10:00:00.000-08:00",
"name": "my-project12345",
"commonInstanceMetadata": {
"items": [
{
"key": "example-key",
"value": "example-value"
}
]
},
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project12345",
"defaultServiceAccount": "SERVICE_ACCOUNT_EMAIL"
}
Recurso de imagem do SO
É possível receber visualizações regionais do recurso de imagem do SO global usando o endpoint somente leitura imageViews.
Ao consultar o endpoint imageViews, o Compute Engine
retorna o objeto de recurso compute.Image
global padrão. O recurso em si permanece global.
Receber uma lista regional de recursos de imagem do SO
É possível listar todas as imagens do SO globais disponíveis para seu projeto por um endpoint regional específico usando a CLI gcloud ou a API REST.
gcloud
Para listar imagens do SO globais usando um endpoint regional, execute o
gcloud compute image-views list comando:
gcloud compute image-views list \
--region=REGION \
--project=PROJECT_ID
Substitua:
REGION: a Google Cloud região da solicitação de API , por exemplo,us-central1.PROJECT_ID: o ID do projeto.
REST
Para listar imagens do SO globais usando um endpoint regional, envie uma solicitação GET para o método imageViews:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews"
Substitua:
PROJECT_ID: o ID do projeto.REGION: a Google Cloud região da solicitação de API , por exemplo,us-central1.
Receber uma visualização regional de um recurso de imagem do SO
É possível recuperar informações de uma imagem do SO global específica por um endpoint regional usando a CLI gcloud ou a API REST.
gcloud
Para recuperar detalhes de uma imagem do SO global usando um endpoint regional, execute
o gcloud compute image-views describe comando:
gcloud compute image-views describe IMAGE_NAME \
--region=REGION \
--project=PROJECT_ID
Substitua:
IMAGE_NAME: o nome do recurso de imagem do SO global.REGION: a Google Cloud região da solicitação de API , por exemplo,us-central1.PROJECT_ID: o ID do projeto.
REST
Para recuperar detalhes de uma imagem do SO global usando um endpoint regional, envie uma GET solicitação para o específico
imageViews método:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews/IMAGE_NAME"
Substitua:
PROJECT_ID: o ID do projeto.REGION: a Google Cloud região da solicitação de API, por exemplo,us-central1.IMAGE_NAME: o nome do recurso de imagem do SO global.
A API retorna a representação de recurso compute.Image padrão diretamente.
{
"kind": "compute#image",
"id": "1234567890123456789",
"creationTimestamp": "2024-01-15T10:00:00.000-08:00",
"name": "my-image12345",
"sourceDisk": "https://www.googleapis.com/compute/v1/projects/my-project12345/zones/us-central1-a/disks/my-disk12345",
"sourceDiskId": "1234567890123456789",
"sourceType": "RAW",
"status": "READY",
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project12345/global/images/my-image12345"
}
A seguir
- Saiba mais sobre o recurso de projeto.
- Saiba mais sobre imagens do SO.
- Saiba como solucionar problemas de visualizações regionais de recursos globais.