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 locais, na nuvem Google Cloud, ou 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 Google Cloud projeto. 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 o uso do 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 fornece 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 recursos na VPC do cliente ou em uma VPC de peering sem a necessidade de um proxy.

  • Os recursos da Internet ficam acessíveis quando o Cloud NAT está 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 benefícios

A seguir, 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 das quais 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 particulares para acessar recursos na sua VPC. Para mais informações, consulte Sobre anexos de rede.

VPC compartilhada

A seguir, confira um caso de uso de interfaces do Private Service Connect com a VPC compartilhada:

  • A equipe de rede ou de infraestrutura é proprietária das sub-redes em um projeto host. Eles permitem que as equipes de aplicativos usem essas sub-redes no 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 ao anexo de rede.

É 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 de 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 de serviço para estabelecer a conectividade privada.

  • 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 recentes.

  • 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 (do 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 Administrador de rede do Compute (roles/compute.networkAdmin) role. Essas permissões fazem parte do papel Agente de serviço da API Data Fusion do Cloud (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 do papel de agente de serviço tenha sido removida explicitamente.

Para mais informações sobre como conceder papéis, consulte Gerenciar 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.

Configurar o Private Service Connect

Para configurar o Private Service Connect no Cloud Data Fusion, primeiro crie um anexo de rede e, em seguida, crie 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. Noconsole, acesse a página Anexos de rede : Google Cloud

    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 um Google Cloud aregião. 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 de Projetos aceitos quando você cria a instância do Cloud Data Fusion.

  8. Não adicione Projetos aceitos ou 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 que a 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 Google Cloud região. 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 anexo de rede do 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. Criar 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 Google Cloud região. 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. Isso é chamado de 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. Noconsole, acesse a página Instâncias do Cloud Data Fusion e clique em Criar instância. Google Cloud

    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 Google Cloud região em que você quer criar a instância.

  5. Na lista Versão, selecione 6.10 ou 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 Google Cloud região. Essa região precisa ser a mesma da instância do Cloud Data Fusion.
  • INSTANCE_ID: o ID da instância.
  • NETWORK_ATTACHMENT_ID: o ID do anexo de rede.

Configurações avançadas

Para ativar o compartilhamento de sub-redes, é possível fornecer 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 a ser usado pela instância do Cloud Data Fusion.

Recomendado: para aplicar uma política de firewall uniforme a todas as instâncias do Cloud Data Fusion, use o mesmo anexo 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 Google Cloud região. Essa região precisa ser a mesma da instância do Cloud Data Fusion.
  • INSTANCE_ID: o ID da instância.
  • NETWORK_ATTACHMENT_ID: o ID do 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 do produtor para o consumidor.

Segurança do consumidor para o Cloud Data Fusion

As VMs do Cloud Data Fusion com interface do Private Service Connect bloqueiam qualquer tráfego originado da sua VPC e 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 por endereços IP internos, o Cloud Data Fusion precisa criar os clusters do Serviço Gerenciado para Apache Spark e executar os pipelines de dados em uma sub-rede que tenha o Acesso privado do Google. É necessário ativar o Acesso privado do Google para a sub-rede que contém os clusters do Serviço Gerenciado para Apache Spark.

  • Se apenas uma sub-rede estiver presente na região em que os clusters do Serviço Gerenciado para Apache Spark 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 Serviço Gerenciado para Apache Spark.

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