Neste documento, explicamos como usar o VPC Service Controls com o Batch. Com o VPC Service Controls, você pode 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 do Google Cloud fora do perímetro e todas as 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 para o Batch, será preciso configurar os jobs do Batch para serem executados no perímetro de serviço necessário. Para saber como, consulte Criar um job executado em um perímetro de serviço neste documento.
Para mais informações sobre conceitos de rede e quando configurá-la, consulte Visão geral da rede em lote.
Antes de começar
- Se você nunca usou o Batch, leia os Primeiros passos com o Batch e ative-o com os pré-requisitos para projetos e usuários.
-
Para ter as permissões necessárias para usar o 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, faça o seguinte:
-
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 uma 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 como conceder papéis, consulte Gerenciar acesso.
Talvez você também consiga receber as permissões necessárias por meio de papéis personalizados ou outros papéis predefinidos.
-
Para configurar um perímetro de serviço:
Editor do Access Context Manager (
-
Se você criar um job executado em um perímetro de serviço, precisará identificar a
rede que 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 (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 serviços usados pelo 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
Se quiser configurar um perímetro de serviço para o Batch, faça o seguinte:
Planejar a configuração do perímetro de serviço. Para uma visão geral dos estágios de configuração de perímetros de serviço, consulte a documentação do VPC Service Controls para 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 do Google Cloud necessários para os jobs do Batch nesse perímetro, como os seguintes serviços:
- API Batch (
batch.googleapis.com
) - API Cloud Logging (
logging.googleapis.com
): necessária se você quiser que os jobs gravem registros no Cloud Logging. (Recomendado) - API Container Registry (
containerregistry.googleapis.com
): necessária se você enviar um job que usa contêineres com uma imagem do Container Registry. - API Artifact Registry (
artifactregistry.googleapis.com
): necessária se você enviar um job que usa qualquer contêiner com uma imagem do Artifact Registry. - API Filestore (
file.googleapis.com
): necessária se o job usa 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 o job em lote que não tenha o agente de serviço Batch pré-instalado.
Para saber como ativar cada um desses serviços no perímetro de serviço, consulte Serviços acessíveis por VPC.
Para cada serviço que você incluir que não seja o Batch, também será 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 com suporte do 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 possam ser executados. Para saber como configurar uma rede VPC que pode executar jobs em lote dentro de um perímetro de serviço, consulte os documentos a seguir:
- Para ter 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.
- Se quiser 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 jobs em lote, consulte Configurar 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 novo perímetro de serviço ou atualize um perímetro de serviço atual para atender a esses requisitos.
Criar um job que é executado em um perímetro de serviço
Ao criar um job executado em um perímetro de serviço, você também precisa 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 da documentação sobre 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 visualizar jobs e tarefas.