Este documento começa descrevendo as opções para estender o alcance dos serviços da plataforma de agentes implantados com acesso a serviços particulares.
Em seguida, há uma breve discussão sobre as motivações para implantar os serviços em um endpoint do Private Service Connect, caso essa seja a melhor opção para suas necessidades.
Como o acesso a serviços particulares hospeda os serviços da Agent Platform em uma rede gerenciada que tem peering com a sua, confira o material em peering de VPC antes de ler o restante deste documento.
Por padrão, a configuração de peering permite que apenas a rede da Agent Platform com peering alcance endpoints nas suas sub-redes locais. A exportação de rotas personalizadas permite que a rede do produtor alcance outras redes em que sua rede tem rotas estáticas ou dinâmicas.
Como o peering transitivo não é compatível, as conexões da plataforma de agentes não podem alcançar endpoints em outras redes com peering direto para sua rede, mesmo com a opção "Exportar rotas personalizadas" ativada. No exemplo mostrado no diagrama a seguir, os pacotes podem passar pela conexão de peering 1, mas não pela conexão de peering 2.

Para permitir que a Agent Platform alcance a rede do usuário 2, substitua a conexão de peering 2 pela VPN 2, como mostrado no diagrama a seguir.

A ativação de rotas personalizadas na conexão de peering 1 permite que pacotes de IP da rede da Agent Platform acessem a rede do usuário 2.
Para permitir que os pacotes de resposta da rede do usuário 2 sejam roteados de volta para a rede da Agent Platform, a rota de retorno também precisa existir na tabela de roteamento da rede do usuário 2. As rotas da VPN são trocadas usando o BGP (Border Gateway Protocol)
no Cloud Routers. É possível personalizar a configuração do BGP
no Usuário 1 para anunciar uma rota para o intervalo de rede da Agent Platform
de 10.1.0.0/16 para a rede de usuários 2 semelhante.
Agora é possível editar os dois lados da configuração de BGP da VPN 1 para permitir que a rede local e a rede da plataforma de agentes aprendam rotas entre si. Como não há tentativa de transmitir pacotes de caminho de destino da rede da Agent Platform nem os pacotes de resposta por conexões de peering sequenciais em relação a qualquer rede, nenhuma dessas tentativas de encaminhamento serão explicitamente bloqueadas.
Configurar a conectividade da Agent Platform com a Internet
Se nenhuma rede for especificada ao iniciar uma carga de trabalho, ela será executada em um projeto de produtor separado gerenciado pelo Google.
Se uma rede for especificada, a carga de trabalho será executada em um projeto do produtor que tem peering com o projeto do consumidor.
Por padrão, a rede da Agent Platform tem a própria rota para a Internet e a rede do produtor tem a própria rota padrão para a Internet.
Para forçar o encaminhamento de conexões de saída da rede do produtor na sua rede, ative o VPC Service Controls para peerings. Observação: esta é uma configuração separada do VPC Service Controls.
Ativar o VPC Service Controls para peerings causa as seguintes mudanças na rede da Agent Platform:
- Exclui a rota padrão da Internet.
- Cria uma rota para o destino
199.36.153.4/30com o próximo salto padrão do gateway da Internet. - Cria uma zona privada gerenciada do Cloud DNS para
*.googleapis.comcom registros apropriados para mapear nomes de host para um desses quatro endereços. - Autoriza a zona a ser usada pela rede VPC
servicenetworking.
Com essa mudança em vigor, agora é possível exportar a rota padrão da sua rede para garantir que as conexões de saída com a Internet sejam roteadas pela rede VPC. Essa mudança também permite aplicar as políticas necessárias ao tráfego de saída da Agent Platform.
É possível consultar o estado do VPC Service Controls para peerings executando o seguinte comando:
gcloud services vpc-peerings get-vpc-service-controls \
--network YOUR_NETWORK
Isso vai retornar enabled: true se a configuração estiver ativada e uma lista vazia ({}) se estiver desativada.
Como trabalhar com o VPC Service Controls
Se uma rede for especificada para a carga de trabalho e o VPC Service Controls estiver ativado, a carga de trabalho será executada em uma rede do produtor com peering para o projeto do consumidor e que está sujeita às mesmas políticas que a rede do consumidor.
Se essas políticas bloquearem o tráfego de saída, a carga de trabalho também não poderá acessar a Internet. Nesse caso, siga as etapas da seção anterior para forçar o tráfego de saída da carga de trabalho a passar por uma instância NAT na sua rede VPC.
Configurar a conectividade da Agent Platform usando proxies
Outro padrão para controlar o IP de saída da plataforma de agentes é forçar as conexões de saída de cargas de trabalho a passar por um proxy da Web controlado por você. Isso também permite a inspeção de conformidade das conexões de saída.
No entanto, o uso de um proxy de terceiro força o usuário a gerenciar o certificado do proxy para reclamações de autenticação. Além disso, esses proxies podem não propor uma lista de pacotes de criptografia que cruzam com o que os SDKs e as APIs da Agent Platform esperam.
Google Cloud agora oferece um Secure Web Proxy para facilitar esse padrão. Agora, é possível seguir o guia de início rápido Implantar uma instância do Secure Web Proxy e adaptar suas cargas de trabalho para usá-lo em conexões de saída. Essas conexões parecerão serem originadas do endereço IP de origem do proxy.
Se a biblioteca KFP ainda não estiver instalada na imagem do componente, o pipeline tentará instalá-la antes de executar qualquer código em que você tenha especificado um proxy.
Se o pipeline depender do proxy para instalar pacotes da Internet, essa tentativa falhará e você encontrará um erro como este:
Could not find a version that satisfies the requirement kfp==2.7.0
Nesses casos, quando não é possível instalar o KFP antes de executar o código, você precisa usar uma imagem com o KFP já instalado.
Você pode adicionar o KFP a qualquer imagem base e enviá-lo ao seu repositório.
O exemplo do Dockerfile a seguir adiciona o KFP à imagem base python:3.8.
FROM python:3.8
RUN pip install kfp==2.7.0
Em seguida, é possível configurar o pipeline @component para usar essa imagem:
@component(base_image="$PATH_TO_YOUR_REPOSITORY:YOUR_IMAGE")
Quando o componente de pipeline estiver em execução, seu código poderá instalar livremente outros pacotes pelo proxy. O exemplo a seguir instala numpy usando um proxy em https://10.10.10.10:443.
import subprocess
subprocess.call(['pip', 'install', '--proxy', 'https://10.10.10.10:443', 'numpy'])`
Configurar listas de permissões para acesso à API
Para transações entre cargas de trabalho da plataforma de agentes do Gemini Enterprise e as APIs do Google, permita o acesso das cargas de trabalho aos intervalos de IP usados pelas APIs do Google. Para isso, execute o script para retornar endereços IP de domínios padrão.
Como fornecer conectividade híbrida com o Private Service Connect
A implantação de serviços do Agent Platform com acesso a serviços particulares tem várias limitações.
- Talvez seja necessário reservar grandes pools de endereços IP particulares por carga de trabalho, evitando conflitos
com o endereçamento da VPC.
- A execução de várias cargas de trabalho em paralelo ainda pode causar um RANGES_EXHAUSTED mesmo após a configuração inicial correta.
- Complexidade da implantação e solução de problemas de rede:
- Como o peering transitivo não é compatível, é necessário implantar soluções alternativas complexas para conceder conectividade entre diferentes redes com peering para sua rede VPC.
- O estado da tabela de roteamento no ambiente do produtor não é imediatamente óbvio. Como você não tem acesso ao projeto de locatário, geralmente é difícil determinar quais destinos uma carga de trabalho do Agent Platform pode alcançar sem testes extensivos.
Um padrão alternativo é implantar esses serviços em um endpoint do Private Service Connect.
- O serviço consome um único endereço IP na sua rede VPC, permitindo que você preserve o espaço de endereço particular para seu próprio uso.
- Como o IP do serviço da Agent Platform está na sua própria rede, é mais simples criar e executar Testes de conectividade para avaliar a acessibilidade dele de e para outros locais no seu ambiente.