Crie 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 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 projeto do Google Cloud. O tráfego na rede não passa pela Internet pública. Quando o Cloud Data Fusion recebe acesso à sua rede VPC usando peering de VPC, existem limitações que se tornam aparentes quando você usa redes de grande escala.

Com as interfaces do Private Service Connect, o Cloud Data Fusion se conecta à VPC sem o uso de 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 as redes VPC do consumidor. Isso não apenas fornece 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 (VM) 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 na sub-rede do cliente. Essa sub-rede é adicionada ao anexo de rede usado pelo Cloud Data Fusion.

  • Os pacotes IP oriundos 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 de peering sem a necessidade de um proxy.

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

  • Para gerenciar a entrada ou saída do Private Service Connect, implemente regras de firewall.

Principais vantagens

Confira a seguir 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 (1024 endereços IP) por instância do Cloud Data Fusion.

  • Mais segurança e isolamento. 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, em VPCs de peering ou no local.

Principais conceitos

Nesta seção, explicamos 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 modo particular para acessar recursos na VPC. Para mais informações, consulte Sobre anexos de rede.

VPC compartilhada

Veja a seguir um caso de uso para 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. Eles permitem que as equipes de aplicativo usem essas sub-redes do projeto de serviço.

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

É 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 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 de serviço 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 posteriores.

  • Só é possível ativar o Private Service Connect quando você cria 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 a 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 projeto:

Para receber as permissões necessárias para que o Cloud Data Fusion valide a configuração de rede, peça ao administrador para conceder os seguintes papéis do IAM à conta serviço gerenciado pelo Google do Cloud Data Fusion (no formato service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com):

  • 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 papel Administrador de rede do Compute (roles/compute.networkAdmin). Essas permissões fazem parte do papel Agente de serviço da API Cloud Data Fusion (roles/datafusion.serviceAgent), que é concedido automaticamente à conta serviço gerenciado pelo Google 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 explicitamente removida.

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 VPC ou uma rede VPC compartilhada

Certifique-se de ter criado uma rede VPC ou uma rede VPC compartilhada.

Configure o Private Service Connect

Para configurar o Private Service Connect no Cloud Data Fusion, 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. No console do 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 VPC compartilhada.

  5. Na lista Região, selecione uma região do Google Cloud. Essa região precisa ser igual à 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 ou Projetos recusados.

  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 do Google Cloud. Essa região precisa ser igual à instância do Cloud Data Fusion.
    • SUBNET: o nome da sub-rede.

    A saída desse comando é um URL de anexo 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 do Google Cloud. Essa região precisa ser igual à 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 está em um intervalo não RFC 1918 (240.0.0.0/8), por padrão. Para 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 do Google Cloud em que você quer criar a instância.

  5. Na lista Versão, selecione 6.10 ou posterior.

  6. Selecione uma Edição. Para mais informações sobre os 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.

    crie 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 do Google Cloud. Essa região precisa ser igual à 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, 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 determinada instância 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.

Para 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",
    "unreachableCidrBlock": "$UNREACHABLE_RANGE"
    "privateServiceConnectConfig": {
      "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 do Google Cloud. Essa região precisa ser igual à 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

Nesta seção, descrevemos a segurança entre o Cloud Data Fusion e os consumidores.

Cloud Data Fusion para segurança do consumidor

As interfaces do Private Service Connect são compatíveis com 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 ao consumidor.

Segurança do consumidor para o Cloud Data Fusion

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