In diesem Thema wird gezeigt, wie Sie die Berechtigungen für eine manuelle Migration mit Google Cloud Migrate for Compute Engine (ehemals Velostrata) einrichten. Die hier aufgeführten Anleitungen sollen denjenigen helfen, die sich über die für den Migrationsprozess und migrierte Arbeitslasten erteilten Berechtigungen informieren oder diese steuern möchten.
Auf dieser Seite wird der Erstellungsvorgang für Rollen zur Migration zu folgenden Projekten beschrieben:
- Einzelnes Google Cloud-Projekt
- Mehrere Google Cloud-Projekte
Vorbereitung
Für die Migration mit Migrate for Compute Engine sind zwei Dienstkonten erforderlich.
Weitere Informationen zu den einzelnen Dienstkonten und den zugehörigen Rollen finden Sie unter Google Cloud for Migrate for Compute Engine konfigurieren.
Weitere Informationen zu gcloud
-Befehlen und ihren Parametern erhalten Sie in der Dokumentation zur gcloud CLI.
- Sie müssen das Google Cloud SDK installieren.
- Erstellen Sie ein Google Cloud-Projekt zum Hosten der Migrate for Compute Engine-Infrastruktur in Google Cloud.
Wir nennen dieses Projekt das Infrastrukturprojekt. Verwenden Sie dieses Projekt überall dort, wo
project-ID
angezeigt wird. - Aktivieren Sie die im Folgenden aufgeführten APIs in Ihrem Infrastrukturprojekt.
gcloud services enable iam.googleapis.com --project project-ID gcloud services enable cloudresourcemanager.googleapis.com --project project-ID gcloud services enable compute.googleapis.com --project project-ID gcloud services enable storage-component.googleapis.com --project project-ID gcloud services enable logging.googleapis.com --project project-ID gcloud services enable monitoring.googleapis.com --project project-ID
Wählen Sie im nächsten Schritt aus, ob Sie zu einem einzelnen Projekt oder zu mehreren Projekten migrieren möchten.
Einzelprojekt
In diesem Abschnitt wird beschrieben, wie Sie die für ein einzelnes eigenständiges Projekt erforderlichen Dienstkonten erstellen und ihnen die entsprechenden Rollen zuweisen.
Rollen erstellen
Erstellen Sie die Rollen auf der Projektebene:
- Öffnen Sie eine Eingabeaufforderung und führen Sie den im Folgenden aufgeführten Befehl aus. Ersetzen Sie den Anmeldeparameter durch die Anmeldedaten für Ihr Google Cloud-Konto.
gcloud auth login login@google.com --no-launch-browser --brief
- Laden Sie die Cloud Deployment Manager-Datei von der Downloadseite herunter.
- Erweitern Sie die heruntergeladene Datei und speichern Sie sie in einem Verzeichnis, auf das Sie beim Erstellen von Rollen zugreifen können.
- Öffnen Sie in den erweiterten Verzeichnissen das Verzeichnis
manual
.cd google/migrate/gce/manual
Wenn Sie YAML-Dateien in diesem Verzeichnis verwenden, weisen Sie den Rollen Berechtigungen zu:
gcloud iam roles create "velos_manager" --project project-ID \ --file velos_gcp_mgmt_role.yaml --no-user-output-enabled --quiet gcloud iam roles create "velos_ce" --project project-ID \ --file velos_gcp_ce_role.yaml.yaml --no-user-output-enabled --quiet
Dienstkonten erstellen
Erstellen Sie das Dienstkonto
velos-manager
in Google Cloud. Hinweis:project-ID
ist Ihr Infrastrukturprojekt.gcloud config set project project-ID gcloud iam service-accounts create "velos-manager" --display-name "velos-manager"
Weisen Sie dem Dienstkonto
velos-manager
die Rollevelos_manager
zu.gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "projects/project-ID/roles/velos_manager" \ --no-user-output-enabled --quiet
Fügen Sie der Rolle
velos_manager
weitere erforderliche Rollen hinzu:gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/iam.serviceAccountUser" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.metricWriter" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.viewer" --no-user-output-enabled --quiet gcloud iam service-accounts add-iam-policy-binding \ "velos-manager@project-ID.iam.gserviceaccount.com" \ --member=serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role=roles/iam.serviceAccountTokenCreator --project project-ID
Erstellen Sie das Dienstkonto
velos-cloud-extension
in Google Cloud. Legen Sie dieses Konto in dem Projekt an, in dem Sie die Migrate for Compute Engine-Cloud-Erweiterung (CE) bereitstellen möchten.gcloud iam service-accounts create "velos-cloud-extension" \ --display-name "velos-cloud-extension"
Weisen Sie dem Dienstkonto
velos-cloud-extension
die Rollevelos_ce
zu:gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "projects/project-ID/roles/velos_ce" \ --no-user-output-enabled --quiet
Weisen Sie dem Dienstkonto
velos-cloud-extension
weitere erforderliche Rollen zu:gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter" \ --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.metricWriter" \ --no-user-output-enabled --quiet
Mehrere Projekte
In diesem Abschnitt wird beschrieben, wie Sie die Rollen erstellen, die für Migrationen zu mehreren Projekten erforderlich sind, und diese Rollen Dienstkonten zuweisen.
Rollen erstellen
Mit der folgenden schrittweisen Anleitung wird gezeigt, wie Sie Rollen für Migrate for Compute Engine in Google Cloud erstellen.
- Legen Sie die Rollen für Migrate for Compute Engine in Google Cloud auf Organisationsebene an:
gcloud auth login orgadmin@google.com --no-launch-browser --brief
- Laden Sie die Cloud Deployment Manager-Datei von der Downloadseite herunter.
- Erweitern Sie die heruntergeladene Datei und speichern Sie sie in einem Verzeichnis, auf das Sie beim Erstellen von Rollen zugreifen können.
- Öffnen Sie in den erweiterten Verzeichnissen das Verzeichnis
manual
.cd google/migrate/gce/manual
Wenn Sie YAML-Dateien in diesem Verzeichnis verwenden, weisen Sie den Rollen Berechtigungen zu:
gcloud iam roles create "velos_manager" --organization organization-ID \ --file velos_gcp_mgmt_role.yaml --no-user-output-enabled --quiet gcloud iam roles create "velos_ce" --project project-ID \ --file velos_gcp_ce_role.yaml.yaml --no-user-output-enabled --quiet
Dienstkonten erstellen und ihnen Rollen zuweisen
Erstellen Sie das Dienstkonto
velos-manager
in Google Cloud. Sie können grundsätzlich das Dienstkontovelos-manager
in jedem Ihrer Projekte anlegen. Für Migrate for Compute Engine 4.8 wird aber empfohlen, diesen Dienst im Hostprojekt zu erstellen. Dies vereinfacht die Konfiguration.gcloud config set project project-ID gcloud iam service-accounts create "velos-manager" \ --display-name "velos-manager"
Weisen Sie dem Dienstkonto
velos-manager
die Rollevelos_manager
zu.gcloud organizations add-iam-policy-binding organization-ID \ --member serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com"\ --role organizations/organization-ID/roles/"velos_manager"\ --no-user-output-enabled --quiet gcloud iam service-accounts add-iam-policy-binding \ "velos-manager@project-ID.iam.gserviceaccount.com" \ --member=serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role=roles/iam.serviceAccountTokenCreator --project project-ID
Fügen Sie der Rolle
velos_manager
weitere erforderliche Rollen hinzu:gcloud organizations add-iam-policy-binding organization-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/iam.serviceAccountUser" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.metricWriter" --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID --member \ serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.viewer" --no-user-output-enabled --quiet gcloud iam service-accounts add-iam-policy-binding \ "velos-manager@project-ID.iam.gserviceaccount.com" \ --member=serviceAccount:"velos-manager@project-ID.iam.gserviceaccount.com" \ --role=roles/iam.serviceAccountTokenCreator --project project-ID
Erstellen Sie das Dienstkonto
velos-cloud-extension
in Google Cloud. Legen Sie dieses Konto in dem Projekt an, in dem Sie die Migrate for Compute Engine-Cloud-Erweiterung (CE) bereitstellen möchten.gcloud iam service-accounts create "velos-cloud-extension" \ --display-name "velos-cloud-extension"
Weisen Sie dem Dienstkonto
velos-cloud-extension
die Rollevelos_ce
zu:gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "projects/project-ID/roles/velos_ce" \ --no-user-output-enabled --quiet
Weisen Sie dem Dienstkonto
velos-cloud-extension
weitere erforderliche Rollen zu:gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter" \ --no-user-output-enabled --quiet gcloud projects add-iam-policy-binding project-ID \ --member serviceAccount:"velos-cloud-extension@project-ID.iam.gserviceaccount.com" \ --role "roles/monitoring.metricWriter" \ --no-user-output-enabled --quiet