Criar uma instância particular com peering de VPC

Nesta página, descrevemos como criar uma instância do Cloud Data Fusion com um endereço IP interno. Crie a instância em uma rede VPC ou VPC compartilhada.

Uma instância privada do Cloud Data Fusion tem os seguintes benefícios:

  • As conexões com a instância são estabelecidas em uma rede VPC privada no projeto do Google Cloud. O tráfego na rede não passa pela Internet pública.

  • A instância pode se conectar aos recursos locais, como bancos de dados relacionais, porque a rede local se conecta à rede VPC particular do Google Cloud por meio do Cloud VPN ou do Cloud Interconnect. É possível acessar com segurança seus recursos locais, como bancos de dados, pela rede privada sem abrir o acesso ao Google Cloud.

Objetivos

  • Configure a rede VPC ou a rede VPC compartilhada.
  • Aloque um intervalo de IP que será usado para implantar a instância do Cloud Data Fusion no projeto de locatário.
  • Criar a instância particular do Cloud Data Fusion.
  • Configure o peering de rede VPC entre a VPC que contém a instância do Cloud Data Fusion e a VPC que contém o projeto de locatário associado.
  • Para redes VPC compartilhadas, configure as permissões do Identity and Access Management (IAM).
  • Se a instância particular usar o Cloud Data Fusion versão 6.2.0 ou anterior, crie uma regra de firewall.
  • Ative o Acesso privado do Google na sub-rede do Dataproc para permitir que diferentes serviços do Google Cloud se comuniquem internamente entre si.

Antes de começar

  • Para saber mais sobre a arquitetura de implantação do Cloud Data Fusion, consulte Rede.

Configurar a rede VPC

Se você ainda não fez isso, crie uma rede VPC ou uma rede VPC compartilhada.

Para configurar a rede VPC, é preciso alocar um intervalo de endereços IP.

Aloque um intervalo de IP

Rede VPC

Se você não estiver usando uma rede VPC compartilhada, o Cloud Data Fusion alocará um intervalo de IP por padrão quando você criar uma instância.

Rede VPC compartilhada

Para usar uma VPC compartilhada, você precisa alocar um intervalo de IP para sua instância do Cloud Data Fusion.

Para alocar um intervalo de IP da instância do Cloud Data Fusion, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Na coluna Nome, clique na rede VPC em que você quer criar uma instância privada do Cloud Data Fusion.

    A página Detalhes da rede VPC é aberta.

  3. Clique em Conexão de serviço privado. Se solicitado, ative a API Service Networking clicando em Ativar API.

    Configurar os detalhes da rede VPC.

  4. Clique em Alocar intervalo de IP.

    1. Dê um nome ao intervalo de IP.

    2. Em Intervalo de IP, clique em Automático.

    3. Especifique um tamanho de prefixo 22.

    4. Clique em Alocar.

      Aloque um intervalo de IP.

Criar uma instância particular

Crie a instância particular do Cloud Data Fusion em uma rede VPC ou em uma rede VPC compartilhada.

Rede VPC

Para criar a instância em uma rede VPC, use o Console do Google Cloud ou o cURL.

Se você usar o console do Google Cloud para criar uma instância particular, o Cloud Data Fusion vai alocar o intervalo de endereços IP /22 por padrão. Para escolher um intervalo de IP diferente, use o comando cURL.

Console

  1. Acesse a página Criar instância do Data Fusion.

    Acessar "Criar instância do Data Fusion"

  2. Digite um nome e uma descrição para a instância.

  3. Selecione a Região em que a instância será criada.

  4. Selecione uma versão e edição do Cloud Data Fusion.

  5. Especifique a conta de serviço do Dataproc a ser usada para executar o pipeline do Cloud Data Fusion no Dataproc. A conta padrão do Compute Engine é pré-selecionada.

  6. Expanda o menu Opções avançadas e clique em Ativar IP privado.

  7. No campo Rede, escolha uma rede para criar a instância.

  8. Clique em Criar. O processo de criação da instância leva até 30 minutos para ser concluído.

cURL

Para sua conveniência, você pode exportar as seguintes variáveis ou substituir diretamente esses valores nos seguintes comandos:

export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com

Para criar a instância, chame o método create():

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instance_id=INSTANCE_ID -X POST -d '{"description": "Private CDF instance created through REST.", "type": "ENTERPRISE", "privateInstance": true, "networkConfig": {"network": "NETWORK_NAME", "ipAllocation": "IP_RANGE"}}'

Substitua:

  • INSTANCE_ID: a string do ID que a nova instância receberá.
  • NETWORK_NAME: o nome da rede VPC em que você quer criar a instância particular.
  • IP_RANGE: o intervalo de IP que você alocou. Para encontrar o intervalo de IP no console do Google Cloud, acesse Detalhes da rede VPC > Conexão de serviço particular > Intervalo de IP interno .

Rede VPC compartilhada

Para criar sua instância em uma rede VPC compartilhada, use cURL, não o console do Google Cloud.

cURL

Para sua conveniência, é possível exportar as seguintes variáveis. Como alternativa, é possível substituir diretamente esses valores nos seguintes comandos:

export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com

Para criar a instância, chame o método create():

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instanceId=INSTANCE_ID -X POST -d '{"description": "Private CDF instance created through REST.", "type": "ENTERPRISE", "privateInstance": true, "networkConfig": {"network": "projects/SHARED_VPC_HOST_PROJECT_ID/global/networks/NETWORK_NAME", "ipAllocation": "IP_RANGE"}}'

Substitua:

  • INSTANCE_ID: a string do ID que a nova instância receberá.
  • SHARED_VPC_HOST_PROJECT_ID: o ID do projeto que hospeda a rede VPC compartilhada.
  • NETWORK_NAME: o nome da rede VPC em que você quer criar a instância particular.
  • IP_RANGE: o intervalo de IP que você alocou. Para encontrar o intervalo de IP no console do Google Cloud, acesse a página Detalhes da rede VPC > Conexão de serviço particular > Intervalo de IP interno.

Configurar o peering de rede VPC

Os serviços do Cloud Data Fusion que você usa no ambiente de design (por exemplo: Wrangler, Gerenciador de conexão e validação de esquema) iniciam conexões de rede da VPC do projeto de locatário para os sistemas de origem. O Cloud Data Fusion usa o peering de rede VPC para estabelecer conectividade de rede com a VPC ou a VPC compartilhada que contém a instância. O peering de rede VPC permite que o Cloud Data Fusion acesse recursos na sua rede por meio de endereços IP internos usando sua própria VPC e os controles dela. Para se conectar a um recurso em outra rede, consulte as etapas para casos de uso de conexão.

Na seção a seguir, descrevemos como criar uma configuração de peering entre sua rede e a rede do projeto de locatário do Cloud Data Fusion.

Receber o ID do projeto de locatário

Para criar uma configuração de peering, você precisa do ID do projeto de locatário.

  1. Acesse a página Instâncias do Cloud Data Fusion.

    Acesse "Instâncias"

  2. Na coluna Nome da instância, selecione a instância.

  3. Na página Detalhes da instância, copie o ID do projeto de locatário, que é necessário para criar uma conexão de peering nas etapas a seguir.

Criar uma conexão de peering

  1. Acesse a página Peering de rede VPC.

    Acessar o peering de rede VPC

  2. Clique em Criar conexão > Continuar.

  3. Na página Criar conexão de peering que é aberta, faça o seguinte:

    1. Digite um Nome para a conexão de peering.
    2. Em Sua rede VPC, selecione a rede que contém a instância do Cloud Data Fusion.
    3. Em Rede VPC com peering, selecione Em outro projeto.
    4. Em ID do projeto, insira o ID do projeto de locatário que você encontrou anteriormente neste tutorial.
    5. Em Nome da rede VPC, selecione uma rede ou digite INSTANCE_REGION-INSTANCE_ID.

      Substitua:

      • INSTANCE_REGION: a região em que você criou a instância do Cloud Data Fusion.
      • INSTANCE_ID: o ID da instância do Cloud Data Fusion.
    6. Selecione a versão do protocolo de Internet da conexão de peering para trocar rotas IPv4 e IPv6 entre sua rede VPC e a rede VPC com peering. Para mais informações, consulte Peering de rede VPC.

    7. Selecione Exportar rotas personalizadas para que rotas personalizadas possam ser exportadas da rede VPC para a rede VPC de locatário.

    8. Escolha se quer permitir que as rotas de sub-rede com IPv4 público sejam importadas ou exportadas para sua rede VPC.

    9. Clique em Criar.

    O peering de rede VPC fica ativo logo após a criação.

Configurar permissões do IAM

Rede VPC

Pule esta etapa e acesse Criar uma regra de firewall.

Rede VPC compartilhada

Se você criar uma instância do Cloud Data Fusion em uma rede VPC compartilhada, conceda o papel de usuário da rede do Compute às contas de serviço a seguir. Para dar permissões a todas as sub-redes, conceda o papel ao projeto host da VPC compartilhada.

Para controlar ainda mais o acesso, conceda o papel a uma sub-rede específica e o papel de Leitor de rede no projeto host.

  • Conta de serviço do Cloud Data Fusion: service-PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
  • Conta de serviço do Dataproc: service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com

PROJECT_NUMBER é o número do projeto do Google Cloud que contém a instância do Cloud Data Fusion.

Para mais informações, consulte Como conceder acesso às contas de serviço necessárias.

Criar uma regra de firewall

Crie uma regra de firewall na rede VPC que permita conexões SSH de entrada do intervalo de IP especificado quando você criou a instância particular do Cloud Data Fusion.

Esta etapa é necessária para as versões do Cloud Data Fusion anteriores à 6.2.0. Ela permite a comunicação entre os clusters do Cloud Data Fusion e do Dataproc que executam pipelines.

É possível criar a regra de firewall usando o console do Google Cloud ou a CLI gcloud.

Console

Consulte Como criar regras de firewall.

gcloud

Execute este comando:

gcloud compute firewall-rules create FIREWALL_NAME-allow-ssh --allow=tcp:22 --source-ranges=IP_RANGE --network=NETWORK_NAME --project=PROJECT_ID

Substitua:

  • FIREWALL_NAME: o nome da regra de firewall a ser criada.
  • IP_RANGE: o intervalo de IP que você alocou.
  • NETWORK_NAME: o nome da rede a que a regra de firewall está anexada. É o nome da rede VPC em que você criou a instância particular.
  • PROJECT_ID: o ID do projeto que está hospedando a rede VPC.

Etapas para casos de uso de conexão

As seções a seguir descrevem casos de uso relacionados à conexão para instâncias particulares.

Ative o Acesso privado do Google

Para acessar recursos por meio de endereços IP internos, o Cloud Data Fusion precisa criar os clusters do Dataproc e executar os pipelines de dados em uma sub-rede que tenha Acesso privado do Google. Ative o Acesso privado do Google para a sub-rede que contém os clusters do Dataproc.

  • Se apenas uma sub-rede estiver presente na região em que os clusters do Dataproc são iniciados, o cluster será iniciado nessa sub-rede.
  • Se houver várias sub-redes em uma região, configure o Cloud Data Fusion para selecionar a sub-rede com Acesso privado do Google para iniciar clusters do Dataproc.

Para ativar o Acesso privado do Google para a sub-rede, consulte Configuração do Acesso privado do Google.

Opcional: conectar a outras fontes

Depois de criar uma instância particular no Cloud Data Fusion, conecte-se a outras fontes, como os seguintes casos de uso:

Opcional: ativar o peering de DNS

Ative o peering de DNS nos seguintes casos:

  • Quando o Cloud Data Fusion se conecta a sistemas por nomes de host, e não por endereços IP.
  • Quando o sistema de destino é implantado por trás de um balanceador de carga, como acontece em algumas implantações do SAP

A seguir