Machen Sie sich mit dem Material unter VPC-Peerings vertraut, bevor Sie diese Anleitung lesen.
Standardmäßig lässt die Peering-Konfiguration nur zu, dass das Peering-Vertex AI-Netzwerk Endpunkte in Ihren lokalen Subnetzen erreicht. Durch den Export benutzerdefinierter Routen kann das Produzentennetzwerk andere Netzwerke erreichen, zu denen Ihr Netzwerk statische oder dynamische Routen hat.
Da transaktives Peering nicht unterstützt wird, können Verbindungen von Vertex AI keine Endpunkte in anderen Netzwerken erreichen, die direkt mit Ihrem Netzwerk verbunden sind, selbst wenn „Benutzerdefinierte Routen exportieren” aktiviert ist. Im folgenden Diagramm können Pakete die Peering-Verbindung 1 durchqueren, jedoch nicht die Peering-Verbindung 2.
Damit Vertex AI Nutzernetzwerk 2 erreichen kann, ersetzen Sie die Peering-Verbindung 2 durch VPN 2, wie im folgenden Diagramm gezeigt.
Wenn Sie benutzerdefinierte Routen in Peering-Verbindung 1 aktivieren, können IP-Pakete aus dem Vertex AI-Netzwerk Nutzernetzwerk 2 erreichen.
Damit Antwortpakete von Nutzernetzwerk 2 zurück zum Vertex AI-Netzwerk weitergeleitet werden können, muss die Rückgaberoute auch in der Routingtabelle für Nutzernetzwerk 2 vorhanden sein. VPN-Routen werden mit dem Border Gateway Protocol (BGP) auf Cloud Routern ausgetauscht. Wir können die BGP-Konfiguration in Nutzer 1 anpassen, um eine Route zum Vertex-KI-Netzwerkbereich von 10.1.0.0/16
zum Peering-Netzwerk 2 zu bewerben.
Sie können beide Seiten der VPN-1-BGP-Konfiguration bearbeiten, damit das lokale Netzwerk und das Vertex AI-Netzwerk Routen zueinander lernen können. Da nicht versucht wird, Weiterleitungspfadpakete aus dem Vertex AI-Netzwerk oder die Antwortpakete über sequenzielle Peering-Verbindungen in Bezug auf ein einzelnes Netzwerk zu übertragen, wird keiner dieser Weiterleitungsversuche explizit blockiert.
Konnektivität von Vertex AI zum Internet einrichten
Wenn beim Starten einer Arbeitslast kein Netzwerk angegeben wird, wird die Arbeitslast in einem separaten von Google verwalteten Produzentenprojekt ausgeführt.
Wenn ein Netzwerk angegeben ist, wird die Arbeitslast in einem Erstellerprojekt ausgeführt, das per Peering mit dem Nutzerprojekt verbunden ist.
Standardmäßig hat das Vertex AI-Netzwerk eine eigene Route zum Internet und das Produzentennetzwerk hat eine eigene Standardroute zum Internet.
Wenn Sie erzwingen möchten, dass ausgehende Verbindungen vom Produzentennetzwerk über Ihr Netzwerk weitergeleitet werden, können Sie VPC Service Controls für Peerings aktivieren. Beachten Sie, dass es sich um eine unabhängige Konfiguration von VPC Service Controls handelt.
Wenn Sie VPC Service Controls für Peerings aktivieren, ändert sich Folgendes im Vertex AI-Netzwerk:
- Löscht die Standard-Internetroute.
- Erstellt eine Route für das Ziel
199.36.153.4/30
mit dem Standard-Internetgateway als nächsten Hop. - Erstellt eine von Cloud DNS verwaltete private Zone für
*.googleapis.com
mit den entsprechenden Einträgen, um Hostnamen einer dieser vier Adressen zuzuordnen. - Autorisiert diese Zone für das zu verwendende
servicenetworking
-VPC-Netzwerk.
Mit dieser Änderung können Sie die Standardroute aus Ihrem Netzwerk exportieren, damit ausgehende Verbindungen zum Internet sicher über Ihr VPC-Netzwerk geleitet werden. Mit dieser Änderung können Sie auch alle erforderlichen Richtlinien auf den von Vertex AI ausgehenden Traffic anwenden.
Mit VPC Service Controls arbeiten
Wenn ein Netzwerk für die Arbeitslast angegeben ist und VPC Service Controls aktiviert ist, wird die Arbeitslast in einem Erstellernetzwerk ausgeführt, das per Peering mit dem Nutzerprojekt verbunden ist und den gleichen Richtlinien unterliegt. als Nutzernetzwerk.
Wenn diese Richtlinien ausgehenden Traffic blockieren, kann die Arbeitslast ebenfalls nicht auf das Internet zugreifen. In diesem Fall müssen Sie die Schritte im vorherigen Abschnitt ausführen, um ausgehenden Traffic von der Arbeitslast über eine NAT-Instanz in Ihrem VPC-Netzwerk zu leiten.
Verbindung von Vertex AI über Proxys einrichten
Ein weiteres Muster zur Steuerung der ausgehenden IP von Vertex AI besteht darin, ausgehende Verbindungen von Arbeitslasten über einen von Ihnen verwalteten Webproxy zu zwingen. Außerdem können ausgehende Verbindungen auf Einhaltung der Compliance-Anforderungen geprüft werden.
Bei der Verwendung eines Proxys von Drittanbietern muss der Nutzer jedoch das Zertifikat des Proxys verwalten, um Beschwerden bei der Authentifizierung zu vermeiden. Darüber hinaus schlagen diese Proxys möglicherweise keine Liste von Chiffresammlungen vor, die sich mit den Anforderungen von Vertex AI SDKs und APIs überschneiden.
Google Cloud bietet jetzt einen Sicheren Web-Proxy, um dieses Muster zu ermöglichen. Sie können jetzt der Kurzanleitung Secure Web Proxy-Instanz bereitstellen folgen und Ihre Arbeitslasten so anpassen, dass sie diese für ausgehende Verbindungen verwenden. Es scheint, als ob diese Verbindungen von der Quell-IP-Adresse des Proxys stammen.
Wenn die KFP-Bibliothek noch nicht im Komponenten-Image installiert ist, versucht die Pipeline, sie zu installieren, bevor Sie Code ausführen, in dem Sie möglicherweise einen Proxy angegeben haben.
Wenn die Pipeline den Proxy benötigt, um Pakete aus dem Internet zu installieren, schlägt dieser Versuch fehl und Sie erhalten möglicherweise einen Fehler wie den folgenden:
Could not find a version that satisfies the requirement kfp==2.7.0
Wenn Sie KFP nicht installieren können, bevor Sie Ihren Code ausführen, müssen Sie ein Image verwenden, auf dem KFP bereits installiert ist.
Sie können KFP zu jedem Basis-Image hinzufügen und es in Ihr Repository übertragen.
Im folgenden Dockerfile-Beispiel wird KFP zum Basis-Image python:3.8
hinzugefügt.
FROM python:3.8
RUN pip install kfp==2.7.0
Sie können dann die Pipeline @component
so konfigurieren, dass dieses Image verwendet wird:
@component(base_image="$PATH_TO_YOUR_REPOSITORY:YOUR_IMAGE")
Sobald die Pipelinekomponente ausgeführt wird, kann Ihr Code andere Pakete über den Proxy installieren. Im folgenden Beispiel wird numpy
mithilfe eines Proxys unter https://10.10.10.10:443
installiert.
import subprocess
subprocess.call(['pip', 'install', '--proxy', 'https://10.10.10.10:443', 'numpy'])`
Zulassungslisten für den API-Zugriff einrichten
Für Transaktionen zwischen Vertex AI-Arbeitslasten und Google APIs müssen Sie den Zugriff der Arbeitslasten auf die von Google APIs verwendeten IP-Bereiche zulassen. Dazu können Sie das bereitgestellte Script zum Zurückgeben von IP-Adressen für Standarddomains ausführen.