In diesem Dokument werden Best Practices für die Erstellung einer sicheren und ausfallsicheren Netzwerkumgebung für AI Hypercomputer-Arbeitslasten beschrieben. Diese Empfehlungen richten sich an Netzwerkarchitekten, Netzwerktechniker und Entwickler, die Arbeitslasten im Bereich künstliche Intelligenz (KI) und maschinelles Lernen (ML) auf AI Hypercomputer konfigurieren und bereitstellen möchten.
Klare und eingeschränkte IAM-Rollen einrichten
Die korrekte Konfiguration von IAM trägt dazu bei, die Sicherheit und den Erfolg Ihrer AI Hypercomputer-Bereitstellungen zu verbessern. In Produktionsumgebungen können unzureichende oder falsch konfigurierte Berechtigungen zu Bereitstellungsfehlern führen. AI Hypercomputer-Bereitstellungen, insbesondere solche, die das
Cluster Toolkit verwenden, schlagen häufig in
Umgebungen mit erhöhten Sicherheitsanforderungen fehl, in denen das Compute Engine
Standarddienstkonto nicht die umfassende Rolle Editor hat.
Um Bereitstellungsprobleme zu vermeiden, die aufgrund von Berechtigungsproblemen auftreten können, folgen Sie den Best Practices in diesem Abschnitt.
Eigene Dienstkonten verwenden
Verwenden Sie aus Sicherheitsgründen nicht das Compute Engine-Standarddienstkonto. Erstellen Sie stattdessen ein eigenes Dienstkonto für Ihre AI Hypercomputer-Bereitstellung.
Sie können Managed Workload Identity verwenden, um Arbeitslasten zu authentifizieren und zu autorisieren, anstatt Dienstkonto-Tokens zu verwenden. Weitere Informationen finden Sie unter Arbeitslasten mit mTLS authentifizieren für Compute Engine oder Workload Identity für GKE.
Erforderliche IAM-Rollen zuweisen
Weisen Sie dem von Ihnen erstellten dedizierten Dienstkonto die folgenden IAM-Rollen zu:
- Compute-Administrator (
roles/compute.admin): Bietet vollständige Kontrolle über Compute Engine-Ressourcen. - Dienstkontonutzer (
roles/iam.serviceAccountUser): Ermöglicht, dass das Dienstkonto an andere Ressourcen angehängt wird. Dies ist für Tools wie Packer beim Erstellen benutzerdefinierter Images unerlässlich. - Storage-Administrator (
roles/storage.admin): Erfordert Zugriff auf und Verwaltung von Cloud Storage-Buckets, z. B. zum Speichern von Packer-Images oder anderen Artefakten. - Logging-Administrator (
roles/logging.admin): Ermöglicht dem Dienstkonto, die Protokollierung zu konfigurieren und Logs anzusehen. Dies ist für das Debugging unerlässlich.
Berechtigungen vor der Bereitstellung prüfen
Prüfen Sie vor Beginn einer Bereitstellung, ob Ihr Dienstkonto die erforderlichen Berechtigungen hat. Führen Sie den gcloud projects get-iam-policy
Befehl aus:
gcloud projects get-iam-policy PROJECT_ID \
--flatten="bindings[].members" \ format='table(bindings.role)' \
--filter="bindings.members:serviceAccount:SERVICE_ACCOUNT_EMAIL"
Ersetzen Sie Folgendes:
PROJECT_ID: Die ID Ihres Google Cloud Projekts.SERVICE_ACCOUNT_EMAIL: Die E-Mail-Adresse des Dienstkontos, das Sie prüfen möchten.
Mit diesem Befehl werden alle Rollen aufgelistet, die Ihrem Dienstkonto im angegebenen Projekt zugewiesen sind. Prüfen Sie, ob die unter Erforderliche IAM-Rollen zuweisen aufgeführten Rollen in der Ausgabe angezeigt werden.
Öffentlichen Netzwerkzugriff einschränken und Firewallkonfigurationen härten
Schränken Sie den öffentlichen Netzwerkzugriff ein und härten Sie die Firewallkonfigurationen, um die Sicherheit zu verbessern. Diese grundlegende Sicherheitspraktik mindert das Risiko von Standardfirewallregeln, die übermäßige Berechtigungen gewähren.
In Produktionsumgebungen können Fehler bei der Einrichtung virtueller Maschinen (VMs) auftreten, die auf restriktive Firewallkonfigurationen zurückzuführen sind, die bei internen Tests nicht vorhanden waren. Techniker haben möglicherweise Schwierigkeiten, diese Fehler ohne Kenntnis bestimmter Firewallregeln zu diagnostizieren.
Überprüfen und aktualisieren Sie Ihre Firewallregeln, um Gefahren durch direkte Verbindungen zum Internet einzudämmen. Weitere Informationen zu VPC-Firewallregeln finden Sie unter VPC-Firewallregeln.
Interne Netzwerkeinstellungen standardisieren
Standardisieren Sie die internen Netzwerkeinstellungen, um Risiken und Konfigurationsherausforderungen zu reduzieren. Standardmäßiges Netzwerkverhalten kann in komplexen oder sicherheitsgehärteten Umgebungen Risiken oder Konfigurationsherausforderungen verursachen. Google empfiehlt die folgenden Konfigurationen:
- Zonales DNS verwenden:Legen Sie für neue Projekte das interne Domain Name System (DNS) so fest, dass nur zonales DNS verwendet wird. Dieser Ansatz trägt dazu bei, die Auswirkungen eines potenziellen weltweiten DNS-Ausfalls zu reduzieren. Weitere Informationen zur Verwendung von zonalem DNS finden Sie unter Übersicht zur Verwendung von zonalem DNS.
- Externe IP-Adressen deaktivieren:Deaktivieren Sie nach Möglichkeit externe IP-Adressen. Bevor Sie die IP-Adressen deaktivieren, müssen Sie sorgfältig planen und in einer Staging-Umgebung testen, da einige Dienste wie verwaltete Instanzgruppen (Managed Instance Groups, MIGs) oder GKE-Cluster mit öffentlichen Knoten darauf angewiesen sind. Weitere Informationen zum Einschränken öffentlicher IP-Adressen finden Sie unter Öffentliche IP Adressen in Google Cloud einschränken.
Netzwerk nach Infrastruktur optimieren
Die Best Practices für das Netzwerk für Ihre Bereitstellung variieren je nach Ihrer Wahl der Infrastruktur: allgemeine GPUs oder Cluster-GPUs.
Best Practices für allgemeine GPUs
Wenn Sie allgemeine GPUs verwenden, beachten Sie die folgenden Best Practices für das Netzwerk:
- Kompakte Platzierungsrichtlinien verwenden: Wenn für Ihre allgemeinen GPU
Instanzen keine
physicalHostID gemeldet wird, verwenden Sie kompakte Platzierungsrichtlinien , um Instanzgruppierungen zu identifizieren und die Leistung für diese Ressourcen zu optimieren. Weitere Informationen finden Sie unter Instanzplatzierung definieren. - Google Virtual NIC (gVNIC) für die Hostkommunikation verwenden: Verwenden Sie für eine konsistente Leistung für die gesamte Host-zu-Host Kommunikation standardmäßiges TCP/IP über gVNIC. Weitere Informationen zu gVNIC finden Sie unter Google Virtual NIC verwenden.
- Mit einer Architektur mit einer einzelnen VPC vereinfachen: Sofern die Isolations anforderungen nichts anderes vorschreiben, verwenden Sie für die gesamte Kommunikation ein standardmäßiges VPC- Netzwerk. Diese Empfehlung für eine einzelne VPC gilt für die Serien G2, G4, A2 und N1. A3 Edge ist eine Ausnahme, für die vier Daten-VPCs und GPUDirect-TCPX erforderlich sind. Weitere Informationen finden Sie unter GPU-Netzwerkbandbreite in Clustern im Standardmodus maximieren.
Best Practices für Cluster-GPUs
Wenn Sie Cluster-GPUs verwenden, beachten Sie die folgenden Best Practices für das Netzwerk:
- Multi-VPC-Umgebung implementieren: So wird sichergestellt, dass der GPU-zu-GPU- Traffic auf dedizierte VPCs mit hoher Bandbreite isoliert wird, damit Host- oder Speichertraffic nicht um Bandbreite konkurrieren. Weitere Informationen finden Sie unter Multi-VPC Umgebung.
- Für RDMA optimierte Netzwerkprofile anwenden: Verwenden Sie von Google verwaltete Netzwerk profile, um Ihre VPC automatisch für die niedrige Latenz zu konfigurieren, die für RDMA over Converged Ethernet (RoCE) erforderlich ist. Weitere Informationen finden Sie unter Netzwerkprofile für bestimmte Anwendungsfälle.
- Infrastrukturaufgaben auslagern: Verwenden Sie benutzerdefinierte Titanium-NICs, um Aufgaben wie die Verarbeitung von Netzwerkpaketen und die Virtualisierung für den Speicher auszulagern und so CPU-Zyklen für Ihre KI-Anwendung zu reservieren.
Zusammenfassung der Best Practices
In der folgenden Tabelle sind die Best Practices zusammengefasst, die in diesem Dokument empfohlen werden:
| Thema | Aufgabe |
|---|---|
| IAM | Klare und eingeschränkte IAM-Rollen einrichten |
| Firewall | Öffentlichen Netzwerkzugriff einschränken und Firewallkonfigurationen härten |
| Netzwerkstandardeinstellungen | Interne Netzwerkeinstellungen standardisieren |
| Infrastruktur | Netzwerk nach Infrastruktur optimieren |
Nächste Schritte
- Weitere Informationen zu den Best Practices für die Verwendung von Dienstkonten finden Sie unter Bereitstellungen schützen.
- Weitere Informationen zu VPC-Firewall regeln finden Sie unter Netzwerk härten.
- Weitere Informationen zur Beschleunigerkonnektivität finden Sie unter Netzwerkarchitektur von AI Hypercomputer.