Este documento explica como usar o VPC Service Controls com o Batch. O VPC Service Controls permite proteger os recursos e dados dos serviços do Google Cloud isolando recursos específicos em perímetros de serviço. Um perímetro de serviço bloqueia conexões com serviços Google Cloud fora do perímetro e conexões da Internet que não são explicitamente permitidas.
- Para configurar um perímetro de serviço do VPC Service Controls para usar o Batch, consulte Configurar um perímetro de serviço para o Batch neste documento.
- Se o projeto ou a rede usar o VPC Service Controls para restringir o acesso à rede do Batch, configure os jobs do Batch para serem executados no perímetro de serviço necessário. Para saber como, consulte Criar um job que é executado em um perímetro de serviço neste documento.
Para mais informações sobre conceitos de rede e quando configurar a rede, consulte Visão geral da rede em lote.
Antes de começar
- Se você nunca usou o Batch, leia Começar a usar o Batch e ative o serviço concluindo os pré-requisitos para projetos e usuários.
-
Para receber as permissões necessárias para usar os VPC Service Controls com o Batch, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Para configurar um perímetro de serviço:
Editor do Access Context Manager (
roles/accesscontextmanager.policyEditor
) no projeto -
Para criar um job:
-
Editor de jobs em lote (
roles/batch.jobsEditor
) no projeto -
Usuário da conta de serviço (
roles/iam.serviceAccountUser
) na conta de serviço do job, que por padrão é a conta de serviço padrão do Compute Engine
-
Editor de jobs em lote (
-
Para identificar o perímetro de serviço de um projeto ou rede:
Leitor do Access Context Manager (
roles/accesscontextmanager.policyReader
) no projeto -
Para identificar a rede e a sub-rede de um job:
Leitor de rede do Compute (
roles/compute.networkViewer
) no projeto
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
-
Para configurar um perímetro de serviço:
Editor do Access Context Manager (
-
Se você criar um job que seja executado em um perímetro de serviço, será necessário identificar a
rede que você quer usar para o job. A rede especificada para um
job executado em um perímetro de serviço precisa atender aos seguintes requisitos:
- A rede é uma rede de nuvem privada virtual (VPC) que está no mesmo projeto do job ou é uma rede VPC compartilhada hospedada ou compartilhada com o projeto do job.
- A rede inclui uma sub-rede no local em que você quer executar o job.
- A rede está no perímetro de serviço necessário e usa o Acesso privado do Google para permitir o acesso aos domínios das APIs e dos serviços usados pelo seu job. Para mais informações, consulte Configurar um perímetro de serviço para o Batch neste documento.
Configurar um perímetro de serviço para o Batch
Para configurar um perímetro de serviço para o Batch, faça o seguinte:
Planeje a configuração do perímetro de serviço. Para uma visão geral dos estágios de configuração dos perímetros de serviço, consulte a documentação do VPC Service Controls sobre Detalhes e configuração do perímetro de serviço.
Para usar o Batch, o perímetro de serviço precisa atender aos seguintes requisitos:
Serviços restritos:para proteger o Batch em um perímetro de serviço, inclua os serviços Google Cloud necessários para seus jobs do Batch nesse perímetro, como os seguintes:
- API Batch (
batch.googleapis.com
) - API Cloud Logging (
logging.googleapis.com
): obrigatória se você quiser que seus jobs gravem registros no Cloud Logging. (Recomendado) - API Container Registry (
containerregistry.googleapis.com
): obrigatória se você enviar um job que usa contêineres com uma imagem do Container Registry. - API Artifact Registry (
artifactregistry.googleapis.com
): obrigatória se você enviar um job que usa contêineres com uma imagem do Artifact Registry. - API Filestore (
file.googleapis.com
): obrigatória se o trabalho usar um compartilhamento de arquivos do Filestore. - API Cloud Storage (
storage.googleapis.com
): necessária para alguns jobs que usam um bucket do Cloud Storage. Obrigatório se você usar uma imagem para seu job em lote que não tenha o agente de serviço em lote pré-instalado.
Para saber como ativar cada um desses serviços no seu perímetro de serviço, consulte Serviços acessíveis por VPC.
Para cada serviço incluído que não seja o Batch, também é necessário verificar se o perímetro de serviço atende aos requisitos listados para esse serviço na documentação Produtos e limitações compatíveis com o VPC Service Controls.
- API Batch (
Redes VPC:cada job do Batch requer uma rede VPC. Portanto, o perímetro de serviço precisa incluir uma rede VPC em que os jobs do Batch podem ser executados. Para saber como configurar uma rede VPC que pode executar seus jobs do Batch em um perímetro de serviço, consulte os seguintes documentos:
- Para uma visão geral do uso de redes VPC em um perímetro de serviço, consulte Gerenciamento de redes VPC em perímetros de serviço.
- Para saber como usar o Acesso privado do Google com o VPC Service Controls para configurar o acesso aos serviços do Google Cloud necessários para seus jobs em lote, consulte Configurar a conectividade particular com APIs e serviços do Google.
- Para mais informações sobre os requisitos de rede para jobs em lote, consulte Visão geral da rede de jobs.
Crie um perímetro de serviço ou atualize um perímetro de serviço atual para atender a esses requisitos.
Criar um job que seja executado em um perímetro de serviço
Ao criar um job que é executado em um perímetro de serviço, também é necessário bloquear o acesso externo para todas as VMs em que um job é executado e especificar uma rede e sub-rede que permitam que o job acesse as APIs necessárias.
Para criar um job que seja executado em um perímetro de serviço, siga as etapas na documentação para Criar um job que bloqueie o acesso externo para todas as VMs e especifique uma rede que atenda aos requisitos de rede para um job executado em um perímetro de serviço.
A seguir
- Se você tiver problemas para criar ou executar um job, consulte Solução de problemas.
- Saiba mais sobre redes.
- Saiba mais sobre como criar um job.
- Saiba como ver jobs e tarefas.