Esta página descreve como configurar o Private Service Connect no Cloud Data Fusion.
Acerca do Private Service Connect no Cloud Data Fusion
As instâncias do Cloud Data Fusion podem ter de estabelecer ligação a recursos localizados no local, no Google Cloudou noutros fornecedores de nuvem. Quando usa o Cloud Data Fusion com endereços IP internos, as ligações a recursos externos são estabelecidas através de uma rede de nuvem virtual privada (VPC) no seu projeto.Google Cloud O tráfego na rede não passa pela Internet pública. Quando o Cloud Data Fusion tem acesso à sua rede VPC através da interligação de VPCs, existem limitações que se tornam evidentes quando usa redes de grande escala.
Com as interfaces do Private Service Connect, o Cloud Data Fusion liga-se à sua VPC sem usar o peering de VPC. A interface do Private Service Connect é um tipo de Private Service Connect que oferece uma forma de o Cloud Data Fusion iniciar ligações privadas e seguras a redes VPC de consumidores. Isto não só oferece a flexibilidade e a facilidade de acesso (como o peering de VPC), como também oferece autorização explícita e controlo do lado do consumidor que o Private Service Connect oferece.
O diagrama seguinte mostra como a interface do Private Service Connect é implementada no Cloud Data Fusion:
Figura 1. Implementaçã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 alojadas num projeto de inquilino pertencente à Google. Para aceder aos 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, a partir da sub-rede do cliente. Esta sub-rede é adicionada à associação de rede usada pelo Cloud Data Fusion.
Os pacotes IP originários da interface do Private Service Connect são tratados de forma semelhante aos de uma VM na mesma sub-rede. Esta configuração permite que o Cloud Data Fusion aceda diretamente aos recursos na VPC do cliente ou numa VPC de pares sem necessidade de um proxy.
Os recursos da Internet ficam acessíveis quando o Cloud NAT está ativado na VPC do cliente, enquanto os recursos no local são acessíveis através de uma interligação.
Para gerir a entrada ou a saída do Private Service Connect, pode implementar regras de firewall.
Principais vantagens
Seguem-se as principais vantagens da utilização do Cloud Data Fusion com o Private Service Connect:
Melhor controlo do espaço de IP. Controla os endereços IP que o Cloud Data Fusion usa para se ligar à sua rede. Escolhe as sub-redes a partir das quais os endereços IP são atribuídos ao 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 requer um bloco CIDR /22 (1024 endereços IP) por instância do Cloud Data Fusion.
Segurança e isolamento melhorados. Ao configurar uma associação de rede, controla que serviços podem aceder à sua rede.
Configuração simplificada da instância do Cloud Data Fusion. Crie uma associação de rede por VPC do cliente apenas uma vez. Não é necessário usar VMs proxy para estabelecer ligação a recursos na Internet, VPCs de pares ou no local.
Conceitos-chave
Esta secção explica os conceitos envolvidos no Private Service Connect no Cloud Data Fusion.
Anexação de rede
A associação de rede é um recurso regional usado para autorizar o Cloud Data Fusion a usar e estabelecer ligações de rede de forma privada para aceder a recursos na sua VPC. Para mais informações, consulte o artigo Acerca das associações de rede.
VPC partilhada
Segue-se um exemplo de utilização de interfaces do Private Service Connect com a VPC partilhada:
A equipa de rede ou de infraestrutura é proprietária das sub-redes num projeto anfitrião. Permitem que as equipas de aplicações usem estas sub-redes a partir do respetivo projeto de serviço.
As equipas de aplicações são proprietárias das associações da rede num projeto de serviço. A associação de rede define a que projetos de inquilinos do Cloud Data Fusion é possível ligar-se às sub-redes associadas à associação de rede.
Pode criar uma associação da rede num projeto de serviço. As sub-redes usadas num anexo de rede só podem estar no projeto anfitrião.
O diagrama seguinte ilustra este exemplo de utilização:
Figura 2. Exemplo de utilização de interfaces do Private Service Connect com a VPC partilhada
Descrição da Figura 2:
A associação da rede está presente no projeto de serviço. A associação de rede usa uma sub-rede pertencente a uma VPC partilhada no projeto anfitrião.
A instância do Cloud Data Fusion está presente no projeto de serviço e usa a associação da rede do projeto de serviço para estabelecer conetividade privada.
A instância do Cloud Data Fusion tem endereços IP atribuídos a partir da sub-rede na VPC partilhada.
Antes de começar
O Private Service Connect só está disponível no Cloud Data Fusion versão 6.10.0 e posterior.
Só pode ativar o Private Service Connect quando cria uma nova instância do Cloud Data Fusion. Não pode migrar as instâncias existentes para usar o Private Service Connect.
Preços
A entrada e a saída de dados através do Private Service Connect são cobrados. Para mais informações, consulte os preços do Private Service Connect.
Funções e autorizações necessárias
Para receber as autorizações necessárias para criar uma instância do Cloud Data Fusion e uma associação de rede, peça ao seu administrador para lhe conceder as seguintes funções da Identity and Access Management (IAM) no seu projeto:
- Crie uma instância do Cloud Data Fusion:
Administrador do Cloud Data Fusion (
roles/datafusion.admin
) - Criar, ver e eliminar associações de rede:
Administrador de rede de cálculo (
roles/compute.networkAdmin
)
Para garantir que o Cloud Data Fusion tem as autorizaçõ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
) as seguintes funções do IAM no seu projeto:
Para a VPC associada à associação de rede: Visualizador de rede do Compute (
roles/compute.networkViewer
)Para que o Cloud Data Fusion adicione o respetivo projeto de inquilino à lista de aceitação do produtor do anexo de rede:
compute.networkAttachments.get
compute.networkAttachments.update
compute.networkAttachments.list
A função mais restritiva com estas autorizações é a função de administrador de rede de computação (
roles/compute.networkAdmin
). Estas autorizações fazem parte da função Agente do serviço da API Cloud Data Fusion (roles/datafusion.serviceAgent
), que é concedida automaticamente ao agente do serviço do Cloud Data Fusion. Por conseguinte, não é necessária nenhuma ação, a menos que a concessão da função de agente do serviço tenha sido explicitamente removida.
Para mais informações sobre a concessão de funções, consulte o artigo Gerir acesso.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para mais informações sobre as opções de controlo de acesso no Cloud Data Fusion, consulte o artigo Controlo de acesso com a IAM.
Crie uma rede de VPC ou de VPC partilhada
Certifique-se de que criou uma rede VPC ou uma rede VPC partilhada.
Configure o Private Service Connect
Para configurar o Private Service Connect no Cloud Data Fusion, tem de criar primeiro uma associação de rede e, em seguida, criar uma instância do Cloud Data Fusion com o Private Service Connect.
Crie uma associação de rede
A associação de rede fornece um conjunto de sub-redes. Para criar uma associação de rede, siga estes passos:
Consola
Na Google Cloud consola, aceda à página Anexos de rede:
Clique em Criar anexo de rede.
No campo Nome, introduza um nome para a associação de rede.
Na lista Rede, selecione uma rede de VPC ou uma rede de VPC partilhada.
Na lista Região, selecione uma Google Cloud região. Esta região tem de ser igual à instância do Cloud Data Fusion.
Na lista Sub-rede, selecione um intervalo de sub-rede.
Em Preferência de associação, selecione Aceitar associações para projetos selecionados.
O Cloud Data Fusion adiciona automaticamente o projeto do inquilino do Cloud Data Fusion à lista de Projetos aceites quando cria a instância do Cloud Data Fusion.
Não adicione Projetos aceites nem Projetos rejeitados.
Clique em Criar anexo de rede.
gcloud
Crie uma ou mais subredes. Por exemplo:
gcloud compute networks subnets create subnet-1 --network=network-0 --range=10.10.1.0/24 --region=REGION
A associação de rede usa estas sub-redes nos passos subsequentes.
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 comoACCEPT_MANUAL
:gcloud compute network-attachments create NAME --region=REGION --connection-preference=ACCEPT_MANUAL --subnets=SUBNET
Substitua o seguinte:
NAME
: o nome do anexo de rede.REGION
: o nome da Google Cloud região. Esta região tem de ser igual à instância do Cloud Data Fusion.SUBNET
: o nome da sub-rede.
O resultado deste comando é um URL de anexo de rede no seguinte formato:
projects/PROJECT/locations/REGION/network-attachments/NETWORK_ATTACHMENT_ID
.Tome nota deste URL, uma vez que o Cloud Data Fusion precisa dele para a conetividade.
API REST
Crie uma associação 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 o seguinte:
NETWORK_ATTACHMENT_NAME
: o nome do anexo de rede.REGION
: o nome da Google Cloud região. Esta região tem de ser igual à instância do Cloud Data Fusion.SUBNET
: o nome da sub-rede.PROJECT_ID
: o ID do seu 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 inquilino. A isto chama-se intervalo inacessível ou reservado. Pode usar os mesmos endereços IP nas VPCs, mas as VMs do Cloud Data Fusion não vão poder estabelecer ligação aos seus recursos através deste intervalo.
Na maioria dos casos, isto não é um problema, uma vez que o bloco CIDR inacessível se encontra, por predefinição, num intervalo não RFC 1918 (240.0.0.0/8). Se quiser controlar o intervalo inatingível, consulte as configurações avançadas.
Para criar uma instância do Cloud Data Fusion com o Private Service Connect ativado, siga estes passos:
Consola
Na Google Cloud consola, aceda à página Instances do Cloud Data Fusion e clique em Create instance.
No campo Nome da instância, introduza um nome para a nova instância.
No campo Descrição, introduza uma descrição para a sua instância.
Na lista Região, selecione a região na qual quer criar a instância. Google Cloud
Na lista Versão, selecione
6.10
ou posterior.Selecione uma edição. Para mais informações sobre os preços das diferentes edições, consulte a vista geral dos preços do Cloud Data Fusion.
Expanda Opções avançadas e faça o seguinte:
Selecione Ativar IP privado.
Selecione Private Service Connect como o Tipo de conetividade.
Na secção Anexo de rede, selecione o anexo de rede que criou em Crie um anexo de rede.
Clique em Criar. O processo de criação da instância demora até 30 minutos a ser concluído.
API REST
Execute o seguinte 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 o seguinte:
EDITION
: a edição do Cloud Data Fusion:BASIC
,DEVELOPER
ouENTERPRISE
.PROJECT_ID
: o ID do seu projeto.REGION
: o nome da Google Cloud região. Esta região tem de ser igual à 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 a partilha de sub-redes, pode fornecer a mesma associação de rede a várias instâncias do Cloud Data Fusion. Por outro lado, se quiser dedicar uma sub-rede a uma instância específica do Cloud Data Fusion, tem de fornecer uma associação de rede específica para ser usada 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 a mesma associação de rede.
Se quiser controlar o bloco CIDR /25 que não é acessível pelo Cloud Data Fusion, especifique a propriedade unreachableCidrBlock
quando criar a instância. Por 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 o seguinte:
EDITION
: a edição do Cloud Data Fusion:BASIC
,DEVELOPER
ouENTERPRISE
.PROJECT_ID
: o ID do seu projeto.REGION
: o nome da Google Cloud região. Esta região tem de ser igual à instância do Cloud Data Fusion.INSTANCE_ID
: o ID da sua instância.NETWORK_ATTACHMENT_ID
: o ID do anexo de rede.UNREACHABLE_RANGE
: o intervalo inalcançável, por exemplo,10.0.0.0/25
.
Segurança
Esta secção descreve a segurança entre o Cloud Data Fusion e os consumidores.
Segurança do consumidor do Cloud Data Fusion
As interfaces do Private Service Connect suportam regras de firewall de saída para controlar o que o Cloud Data Fusion pode aceder na sua VPC. Para mais informações, consulte o artigo Limite a entrada de dados do produtor para o consumidor.
Consumidor para segurança do Cloud Data Fusion
As VMs do Cloud Data Fusion com interface do Private Service Connect bloqueiam qualquer tráfego que tenha origem na sua VPC e não seja um pacote de resposta.