Criar uma instância particular com o Private Service Connect

Nesta página, descrevemos como configurar o Private Service Connect no Cloud Data Fusion.

Sobre o Private Service Connect no Cloud Data Fusion

As instâncias do Cloud Data Fusion podem precisar se conectar a recursos localizados no local, no Google Cloudou em outros provedores de nuvem. Ao usar o Cloud Data Fusion com endereços IP internos, as conexões com recursos externos são estabelecidas em uma rede de nuvem privada virtual (VPC) no seu projetoGoogle Cloud . O tráfego na rede não passa pela Internet pública. Quando o Cloud Data Fusion recebe acesso à sua rede VPC usando o peering de VPC, há limitações que ficam evidentes quando você usa redes de grande escala.

Com as interfaces do Private Service Connect, o Cloud Data Fusion se conecta à sua VPC sem usar o peering de VPC. A interface do Private Service Connect é um tipo de Private Service Connect que oferece uma maneira para o Cloud Data Fusion iniciar conexões particulares e seguras com redes VPC do consumidor. Isso não apenas oferece a flexibilidade e a facilidade de acesso (como o peering de VPC), mas também autorização explícita e controle do lado do consumidor, que o Private Service Connect oferece.

O diagrama a seguir mostra como a interface do Private Service Connect é implantada no Cloud Data Fusion:

Implantação da interface do Private Service Connect.

Figura 1. Implantação da interface do Private Service Connect

Descrição da Figura 1:

  • As máquinas virtuais (VMs) que executam o Cloud Data Fusion são hospedadas em um projeto de locatário do Google. Para acessar recursos na VPC do cliente, as VMs do Cloud Data Fusion usam o endereço IP atribuído pela interface de rede do Private Service Connect, da sub-rede do cliente. Essa sub-rede é adicionada ao anexo de rede usado pelo Cloud Data Fusion.

  • Os pacotes IP originados da interface do Private Service Connect são tratados de maneira semelhante aos de uma VM na mesma sub-rede. Essa configuração permite que o Cloud Data Fusion acesse diretamente os recursos na VPC do cliente ou em uma VPC pareada sem precisar de um proxy.

  • Os recursos da Internet ficam acessíveis quando o Cloud NAT é ativado na VPC do cliente, enquanto os recursos locais podem ser acessados por uma interconexão.

  • Para gerenciar a entrada ou saída do Private Service Connect, é possível implementar regras de firewall.

Principais vantagens

Confira os principais benefícios de usar o Cloud Data Fusion com o Private Service Connect:

  • Melhor controle do espaço de IP. Você controla os endereços IP que o Cloud Data Fusion usa para se conectar à sua rede. Você escolhe as sub-redes de onde os endereços IP são alocados para o Cloud Data Fusion. Todo o tráfego do Cloud Data Fusion tem um endereço IP de origem da sub-rede configurada.

    O Private Service Connect elimina a necessidade de endereços IP reservados de uma VPC do cliente. O peering de VPC exige um bloco CIDR /22 (1.024 endereços IP) por instância do Cloud Data Fusion.

  • Segurança e isolamento aprimorados. Ao configurar um anexo de rede, você controla quais serviços podem acessar sua rede.

  • Configuração simplificada da instância do Cloud Data Fusion. Crie um anexo de rede por VPC do cliente apenas uma vez. Não é necessário usar VMs de proxy para se conectar a recursos na Internet, VPCs de peering ou locais.

Principais conceitos

Esta seção explica os conceitos envolvidos no Private Service Connect no Cloud Data Fusion.

Anexo de rede

O anexo de rede é um recurso regional usado para autorizar o Cloud Data Fusion a usar e estabelecer conexões de rede de forma privada para acessar recursos na sua VPC. Para mais informações, consulte Sobre anexos de rede.

VPC compartilhada

Confira a seguir um caso de uso de interfaces do Private Service Connect com a VPC compartilhada:

  • A rede ou a equipe de infraestrutura é proprietária das sub-redes em um projeto host. Elas permitem que as equipes de aplicativos usem essas sub-redes do projeto de serviço.

  • As equipes de aplicativos são proprietárias dos anexos de rede em um projeto de serviço. O anexo de rede define quais projetos de locatário do Cloud Data Fusion podem se conectar às sub-redes vinculadas a ele.

É possível criar um anexo de rede em um projeto de serviço. As sub-redes usadas em um anexo de rede só podem estar no projeto host.

O diagrama a seguir ilustra esse caso de uso:

Caso de uso para interfaces do Private Service Connect com a VPC compartilhada

Figura 2. Caso de uso para interfaces do Private Service Connect com a VPC compartilhada

Descrição da Figura 2:

  • O anexo de rede está presente no projeto de serviço. O anexo de rede usa uma sub-rede que pertence a uma VPC compartilhada no projeto host.

  • A instância do Cloud Data Fusion está presente no projeto de serviço e usa o anexo de rede do projeto para estabelecer conectividade particular.

  • A instância do Cloud Data Fusion recebe endereços IP da sub-rede na VPC compartilhada.

Antes de começar

  • O Private Service Connect está disponível apenas no Cloud Data Fusion versão 6.10.0 e mais recente.

  • Só é possível ativar o Private Service Connect ao criar uma nova instância do Cloud Data Fusion. Não é possível migrar as instâncias atuais para usar o Private Service Connect.

Preços

A entrada e saída de dados pelo Private Service Connect são cobradas. Para mais informações, consulte os preços do Private Service Connect.

Papéis e permissões necessárias

Para receber as permissões necessárias para criar uma instância do Cloud Data Fusion e um anexo de rede, peça ao administrador para conceder a você os seguintes papéis do Identity and Access Management (IAM) no seu projeto:

Para garantir que o Cloud Data Fusion tenha as permissões necessárias para validar a configuração de rede, peça ao administrador para conceder ao agente de serviço do Cloud Data Fusion (no formato service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com) os seguintes papéis do IAM no seu projeto:

  • Para a VPC associada ao anexo de rede: Leitor de rede do Compute (roles/compute.networkViewer)

  • Para que o Cloud Data Fusion adicione o projeto de locatário à lista de aceitação do produtor do anexo de rede:

    • compute.networkAttachments.get
    • compute.networkAttachments.update
    • compute.networkAttachments.list

    O papel mais restritivo com essas permissões é o de administrador de rede do Compute (roles/compute.networkAdmin). Essas permissões fazem parte do papel de Agente de serviço da API Cloud Data Fusion (roles/datafusion.serviceAgent), que é concedido automaticamente ao agente de serviço do Cloud Data Fusion. Portanto, nenhuma ação é necessária, a menos que a concessão de papel do agente de serviço tenha sido removida explicitamente.

Para mais informações sobre como conceder papéis, consulte Gerenciar o acesso.

Também é possível receber as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Para mais informações sobre as opções de controle de acesso no Cloud Data Fusion, consulte Controle de acesso com o IAM.

Criar uma rede VPC ou VPC compartilhada

Verifique se você criou uma rede VPC ou uma rede VPC compartilhada.

Configure o Private Service Connect

Para configurar o Private Service Connect no Cloud Data Fusion, primeiro crie um anexo de rede e depois uma instância do Cloud Data Fusion com o Private Service Connect.

Criar um anexo de rede

O anexo de rede fornece um conjunto de sub-redes. Para criar um anexo de rede, siga estas etapas:

Console

  1. No console Google Cloud , acesse a página Anexos de rede:

    Acessar "Anexos de rede"

  2. Clique em Criar anexo de rede.

  3. No campo Nome, insira um nome para seu anexo de rede.

  4. Na lista Rede, selecione uma rede VPC ou uma rede VPC compartilhada.

  5. Na lista Região, selecione uma região Google Cloud . Essa região precisa ser a mesma da instância do Cloud Data Fusion.

  6. Na lista Sub-rede, selecione um intervalo de sub-rede.

  7. Em Preferência de conexão, selecione Aceitar conexões para projetos selecionados.

    O Cloud Data Fusion adiciona automaticamente o projeto de locatário do Cloud Data Fusion à lista Projetos aceitos quando você cria a instância do Cloud Data Fusion.

  8. Não adicione Projetos aceitos nem Projetos rejeitados.

  9. Clique em Criar anexo de rede.

    Criar um anexo de rede

gcloud

  1. Crie uma ou mais sub-redes. Exemplo:

    gcloud compute networks subnets create subnet-1 --network=network-0 --range=10.10.1.0/24 --region=REGION
    

    O anexo de rede usa essas sub-redes nas etapas subsequentes.

  2. Crie um recurso de anexo de rede na mesma região da instância do Cloud Data Fusion, com a propriedade connection-preference definida como ACCEPT_MANUAL:

    gcloud compute network-attachments create NAME
    --region=REGION
    --connection-preference=ACCEPT_MANUAL
    --subnets=SUBNET
    

    Substitua:

    • NAME: o nome do anexo de rede.
    • REGION: o nome da região Google Cloud . Essa região precisa ser a mesma da instância do Cloud Data Fusion.
    • SUBNET: o nome da sub-rede.

    A saída desse comando é um URL de vinculação de rede no seguinte formato:

    projects/PROJECT/locations/REGION/network-attachments/NETWORK_ATTACHMENT_ID.

    Anote esse URL porque o Cloud Data Fusion precisa dele para conectividade.

API REST

  1. Criar uma sub-rede.

  2. Crie um anexo de rede:

    alias authtoken="gcloud auth print-access-token"
    NETWORK_ATTACHMENT_NAME=NETWORK_ATTACHMENT_NAME
    REGION=REGION
    SUBNET=SUBNET
    PROJECT_ID=PROJECT_ID
    
    read -r -d '' BODY << EOM
    {
      "name": "$NETWORK_ATTACHMENT_NAME",
      "description": "Network attachment for private Cloud Data Fusion",
      "connectionPreference": "ACCEPT_MANUAL",
      "subnetworks": [
        "projects/$PROJECT_ID/regions/$REGION/subnetworks/$SUBNET"
      ]
    }
    EOM
    
    curl -H "Authorization: Bearer $(authtoken)" \
    -H "Content-Type: application/json" \
    -X POST   -d "$BODY" "https://compute.googleapis.com/compute/v1/projects/$PROJECT_ID/regions/$REGION/networkAttachments"
    

    Substitua:

    • NETWORK_ATTACHMENT_NAME: o nome do anexo de rede.
    • REGION: o nome da região Google Cloud . Essa região precisa ser a mesma da instância do Cloud Data Fusion.
    • SUBNET: o nome da sub-rede.
    • PROJECT_ID: ID do projeto.

crie uma instância do Cloud Data Fusion

O Cloud Data Fusion usa um bloco CIDR /25 (128 IPs) para recursos no projeto de locatário. Esse é o intervalo inacessível ou reservado. É possível usar os mesmos endereços IP em VPCs, mas as VMs do Cloud Data Fusion não poderão se conectar aos seus recursos usando esse intervalo.

Na maioria dos casos, isso não é um problema, já que o bloco CIDR inacessível fica em um intervalo não RFC 1918 (240.0.0.0/8), por padrão. Se você quiser controlar o intervalo inacessível, consulte Configurações avançadas.

Para criar uma instância do Cloud Data Fusion com o Private Service Connect ativado, siga estas etapas:

Console

  1. No console do Google Cloud , acesse a página Instâncias do Cloud Data Fusion e clique em Criar instância.

    Criar uma instância

  2. No campo Nome da instância, digite um nome para a nova instância.

  3. No campo Descrição, digite uma descrição para a instância.

  4. Na lista Região, selecione a região Google Cloud em que você quer criar a instância.

  5. Na lista Versão, selecione 6.10 ou uma versão mais recente.

  6. Selecione uma Edição. Para mais informações sobre preços de diferentes edições, consulte a visão geral de preços do Cloud Data Fusion.

  7. Expanda Opções avançadas e faça o seguinte:

    1. Selecione Ativar IP privado.

    2. Selecione Private Service Connect como o Tipo de conectividade.

    3. Na seção Anexo de rede, selecione o anexo de rede que você criou em Criar um anexo de rede.

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

    Criar uma instância do Cloud Data Fusion com o Private Service Connect

API REST

Execute este comando:

alias authtoken="gcloud auth print-access-token"

EDITION=EDITION
PROJECT_ID=PROJECT_ID
REGION=REGION
CDF_ID=INSTANCE_ID
NETWORK_ATTACHMENT_ID=NETWORK_ATTACHMENT_ID

read -r -d '' BODY << EOM
{
  "description": "PSC enabled instance",
  "version": "6.10",
  "type": "$EDITION",
  "privateInstance": "true",
  "networkConfig": {
    "connectionType": "PRIVATE_SERVICE_CONNECT_INTERFACES",
    "privateServiceConnectConfig": {
      "networkAttachment": "$NETWORK_ATTACHMENT_ID"
    }
  }
}
EOM

curl -H "Authorization: Bearer $(authtoken)" \
-H "Content-Type: application/json" \
-X POST   -d "$BODY" "https://datafusion.googleapis.com/v1/projects/$PROJECT_ID/locations/$REGION/instances/?instanceId=$CDF_ID"

Substitua:

  • EDITION: a edição do Cloud Data Fusion: BASIC, DEVELOPER ou ENTERPRISE.
  • PROJECT_ID: ID do projeto.
  • REGION: o nome da região Google Cloud . Essa região precisa ser a mesma da instância do Cloud Data Fusion.
  • INSTANCE_ID: o ID da sua instância.
  • NETWORK_ATTACHMENT_ID: o ID do seu anexo de rede.

Configurações avançadas

Para ativar o compartilhamento de sub-redes, forneça o mesmo anexo de rede a várias instâncias do Cloud Data Fusion. Por outro lado, se você quiser dedicar uma sub-rede a uma instância específica do Cloud Data Fusion, forneça um anexo de rede específico para ser usado pela instância.

Recomendado: para aplicar uma política de firewall uniforme a todas as instâncias do Cloud Data Fusion, use a mesma vinculação de rede.

Se você quiser controlar o bloco CIDR /25 que não pode ser acessado pelo Cloud Data Fusion, especifique a propriedade unreachableCidrBlock ao criar a instância. Exemplo:

alias authtoken="gcloud auth print-access-token"

EDITION=EDITION
PROJECT_ID=PROJECT_ID
REGION=REGION
CDF_ID=INSTANCE_ID
NETWORK_ATTACHMENT_ID=NETWORK_ATTACHMENT_ID
UNREACHABLE_RANGE=UNREACHABLE_RANGE

read -r -d '' BODY << EOM
{
  "description": "PSC enabled instance",
  "version": "6.10",
  "type": "$EDITION",
  "privateInstance": "true",
  "networkConfig": {
    "connectionType": "PRIVATE_SERVICE_CONNECT_INTERFACES",
    "privateServiceConnectConfig": {
      "unreachableCidrBlock": "$UNREACHABLE_RANGE",
      "networkAttachment": "projects/$PROJECT_ID/regions/$REGION/networkAttachments/$NETWORK_ATTACHMENT_ID"
    }
  }
}
EOM

curl -H "Authorization: Bearer $(authtoken)" \
-H "Content-Type: application/json" \
-X POST -d "$BODY" "https://datafusion.googleapis.com/v1/projects/$PROJECT_ID/locations/$REGION/instances/?instanceId=$CDF_ID"

Substitua:

  • EDITION: a edição do Cloud Data Fusion: BASIC, DEVELOPER ou ENTERPRISE.
  • PROJECT_ID: ID do projeto.
  • REGION: o nome da região Google Cloud . Essa região precisa ser a mesma da instância do Cloud Data Fusion.
  • INSTANCE_ID: o ID da sua instância.
  • NETWORK_ATTACHMENT_ID: o ID do seu anexo de rede.
  • UNREACHABLE_RANGE: o intervalo inacessível, por exemplo, 10.0.0.0/25.

Segurança

Esta seção descreve a segurança entre o Cloud Data Fusion e os consumidores.

Segurança do Cloud Data Fusion para o consumidor

As interfaces do Private Service Connect oferecem suporte a regras de firewall de saída para controlar o que o Cloud Data Fusion pode acessar na sua VPC. Para mais informações, consulte Limitar a entrada de produtor para consumidor.

Segurança do consumidor para o Cloud Data Fusion

As VMs do Cloud Data Fusion com interface do Private Service Connect bloqueiam todo o tráfego originado da sua VPC que não seja um pacote de resposta.

Etapas para casos de uso de conexão

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

Ativar o Acesso privado do Google

Para acessar recursos usando endereços IP internos, o Cloud Data Fusion precisa criar os clusters do Dataproc e executar os pipelines de dados em uma sub-rede com o Acesso privado do Google. É necessário ativar o Acesso privado do Google para a sub-rede que contém os clusters do Dataproc.

  • Se houver apenas uma sub-rede 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 o Acesso privado do Google para iniciar clusters do Dataproc.

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

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 atrás de um balanceador de carga, como acontece em algumas implantações do SAP