Criar uma instância particular com o Private Service Connect

Esta página descreve 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 Cloud Data Fusion com endereços IP internos, conexões com os recursos são estabelecidos em uma rede de nuvem privada virtual (VPC) projeto do Google Cloud. O tráfego pela rede não passa pelo público Internet. Quando o Cloud Data Fusion recebe acesso à sua rede VPC usando peering de VPC, há limitações que ficam evidentes quando você usa em redes de grande escala.

Com as interfaces do Private Service Connect, o Cloud Data Fusion se conecta à VPC sem usar peering de VPC. Private Service Connect interface é um tipo de Private Service Connect, que oferece ao Cloud Data Fusion uma maneira de iniciar conexões a redes VPC de consumo. Isso não apenas fornece flexibilidade e facilidade de acesso (como peering de VPC), mas também fornece autorização explícita e o 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 estã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 pelo interface de rede do Private Service Connect do cliente sub-rede. 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. Isso permite que o Cloud Data Fusion acesse recursos diretamente em VPC do cliente ou de peering 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 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 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 sua sub-rede configurada.

    O Private Service Connect elimina a necessidade de usar IPs reservados endereços IP internos 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.

  • 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âncias 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 peer ou no local.

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 para usar e estabelecer conexões de rede de forma particular, para acessar recursos na VPC. Para mais informações, consulte Sobre anexos de rede.

VPC compartilhada

Confira 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 as equipes de aplicativos usem essas sub-redes nos projetos 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 VPC compartilhada

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

Descrição da Figura 2:

  • O anexo de rede está presente no projeto de serviço. A vinculação 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 usa o anexo de rede do projeto de serviço para estabelecer conectividade.

  • 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 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 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 de gerenciamento de identidade e acesso (IAM) no 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 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 é 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 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 rede VPC ou uma Rede VPC compartilhada.

Configure o Private Service Connect

Para configurar o Private Service Connect no Cloud Data Fusion, siga estas etapas: primeiro crie um anexo de rede e depois crie um 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 uma 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 VPC ou VPC compartilhada. em uma rede VPC.

  5. Na lista Região, selecione uma região do Google Cloud. Esta 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 de 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 do Instância do Cloud Data Fusion, com a propriedade connection-preference Defina 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 no seguinte formato:

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

    Anote esse URL, porque o Cloud Data Fusion precisa dele para conexão.

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 que se refere a um 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. Você pode usar usando os mesmos endereços IP nas VPCs, mas as VMs do Cloud Data Fusion não podem conecte-se 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. 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 uma versão mais recente.

  6. Selecione uma Edição. Para mais informações sobre os preços das 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: o Cloud Data Fusion edição: 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 sua instância.
  • NETWORK_ATTACHMENT_ID: o ID do anexo de rede.

Configurações avançadas

Para ativar o compartilhamento de sub-redes, você pode fornecer o mesmo anexo de rede 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 do Cloud Data Fusion.

Recomendado: para aplicar uma política de firewall uniforme a todos os as instâncias do Cloud Data Fusion precisam usar o mesmo anexo de rede.

Se você quiser controlar o bloco CIDR /25 que não pode ser acessado pelo No Cloud Data Fusion, especifique a propriedade unreachableCidrBlock quando 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: o Cloud Data Fusion edição: 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 sua instância.
  • NETWORK_ATTACHMENT_ID: o ID do que se refere a um 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 oferecem suporte a regras de firewall de saída para controlar o que o Cloud Data Fusion pode acessar na VPC. Para mais informações, consulte Limitar a entrada de produtores para consumidores.

Segurança do consumidor para o Cloud Data Fusion

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