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 pela rede não passa pela Internet pública. Quando o Cloud Data Fusion recebe acesso à rede VPC usando peering de VPC, há 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 usar peering. A interface do Private Service Connect é um tipo de Private Service Connect que oferece ao Cloud Data Fusion uma maneira de iniciar conexões particulares e seguras com redes VPC de consumidor. Isso não apenas fornece a flexibilidade e 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.

Veja no diagrama a seguir 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 da sub-rede do cliente. Essa sub-rede é adicionada ao anexo de rede usado pelo Cloud Data Fusion.

  • Os pacotes IP 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 são acessíveis por meio de uma interconexão.

  • Para gerenciar a entrada ou saída do Private Service Connectt, 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 de cliente. O peering de VPC exige um bloco CIDR /22 (1.024 endereços IP) por instância do Cloud Data Fusion.

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

  • Configuração simplificada de instância do Cloud Data Fusion. Crie um anexo de rede por VPC do cliente apenas uma vez. Não é preciso 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 maneira 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 de 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 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 VPC compartilhada

Figura 2. Caso de uso para interfaces do Private Service Connectt com 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.

  • Endereços IP da sub-rede na VPC compartilhada são atribuídos à instância do Cloud Data Fusion.

Antes de começar

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

  • 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 ter 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 de que o Cloud Data Fusion precisa para validar a configuração de rede, peça ao administrador para conceder os seguintes papéis do IAM ao agente de serviço do Cloud Data Fusion (do 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 ao agente de serviço do Cloud Data Fusion. Portanto, nenhuma ação é necessária, a menos que a concessão do papel do 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 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, primeiro crie um anexo de rede e depois 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 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 os 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 usará 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 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 com o seguinte formato:

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

    Anote esse URL, porque o Cloud Data Fusion precisa dele para se conectar.

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 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 podem se conectar aos 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. 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 do Google Cloud 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 criado 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 do Google Cloud. 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, 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 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",
    "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 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

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

Cloud Data Fusion para a segurança do consumidor

As interfaces do Private Service Connect aceitam 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 a interface do Private Service Connect bloqueiam qualquer tráfego originado da sua VPC e que não é um pacote de resposta.