Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwaltung von Skripten
Die Cloud Migration Factory AWS on-Lösung ermöglicht es Benutzern, die Bibliothek mit Automatisierungsskripten oder Paketen innerhalb der Benutzeroberfläche vollständig zu verwalten. Sie können neue benutzerdefinierte Skripts sowie neue Versionen des Skripts über die Skriptverwaltungsoberfläche hochladen. Wenn mehrere Versionen verfügbar sind, kann ein Administrator zwischen diesen Versionen wechseln und so Updates testen, bevor sie als Standard festgelegt werden. Über die Skriptverwaltungsoberfläche können Administratoren auch Skriptpakete herunterladen, um den Inhalt zu aktualisieren oder zu überprüfen.
Ein unterstütztes Skriptpaket ist ein komprimiertes ZIP-Archiv, das die folgenden obligatorischen Dateien im Stammverzeichnis enthält:
-
Package-structure.yml — Wird verwendet, um die Argumente des Skripts und andere Metadaten wie Beschreibung und Standardname zu definieren. Weitere Informationen finden Sie unter Ein neues Skriptpaket erstellen.
-
[benutzerdefiniertes Python-Skript] .py — Dies ist das erste Skript, das ausgeführt wird, wenn ein Job eingereicht wird. Dieses Skript kann andere Skripte und Module aufrufen, und wenn ja, sollten diese im Archiv enthalten sein. Der Name dieses Skripts muss mit dem Wert übereinstimmen, der im
MasterFileName
Schlüssel in der angegeben istPackage-Structure.yml
.
Laden Sie ein neues Skriptpaket hoch
Anmerkung
Ein Skriptpaket muss dem unterstützten Format entsprechen. Weitere Informationen finden Sie unter Ein neues Skriptpaket erstellen.
-
Wählen Sie in der Tabelle Automatisierungsskripten die Option Hinzufügen aus.
-
Wählen Sie die Paket-Archivdatei aus, die Sie hochladen möchten.
-
Geben Sie einen eindeutigen Namen für das Skript ein. Benutzer referenzieren das Skript mit diesem Namen, um Jobs zu initiieren.
Laden Sie Skriptpakete herunter
Sie können Skriptpakete von der Konsole herunterladen, um Updates und die Inhaltsüberprüfung zu aktivieren.
-
Wählen Sie Automatisierung und dann Skripte aus.
-
Wählen Sie das Skript, das Sie herunterladen möchten, aus der Tabelle aus, wählen Sie dann Aktionen aus und wählen Sie Standardversion herunterladen oder Neueste Version herunterladen aus.
Sie können bestimmte Versionen eines Skripts herunterladen. Wählen Sie dazu das Skript, dann Aktionen und dann Standardversion ändern aus. Wählen Sie in der Liste „Standardversion des Skripts“ die Option Ausgewählte Version herunterladen aus.
Neue Version eines Skriptpakets hinzufügen
Updates für AWS Cloud Migration Factory-Skriptpakete können im Abschnitt Automatisierung > Skripts hochgeladen werden, indem Sie die folgenden Schritte ausführen:
-
Wählen Sie Automatisierung und dann Skripte aus.
-
Wählen Sie das vorhandene Skript aus, um eine neue Version hinzuzufügen, wählen Sie dann Aktionen und dann Neue Version hinzufügen aus.
-
Wählen Sie die aktualisierte Paket-Archivdatei aus, die Sie hochladen möchten, und klicken Sie auf Weiter. Die neue Skriptversion behält standardmäßig den vorhandenen Namen bei. Geben Sie einen eindeutigen Skriptnamen ein. Jede Namensänderung wird nur auf diese Version des Skripts angewendet.
-
Sie können die neue Version des Skripts zur Standardversion machen, indem Sie Als Standardversion festlegen auswählen.
-
Klicken Sie auf Hochladen.
Löschen von Skriptpaketen und Versionen
Sie können Skripts oder Versionen eines Skripts nicht zu Prüfungszwecken löschen. Auf diese Weise können Sie genau das Skript überprüfen, das zu einem bestimmten Zeitpunkt auf einem System ausgeführt wurde. Jede Skriptversion hat beim Hochladen eine eindeutige Signatur und ID, die anhand des Auftragsverlaufs aufgezeichnet wird, in dem das Skript und die Version verwendet wurden.
Ein neues Skriptpaket zusammenstellen
Cloud Migration Factory auf AWS Skriptpaketen unterstützt Python als primäre Skriptsprache. Sie können andere Shell-Skriptsprachen nach Bedarf aus einem Python-Hauptprogramm oder einem Python-Wrapper heraus initiieren. Um schnell ein neues Skriptpaket zu erstellen, empfehlen wir, eine Kopie eines der vorgefertigten Skripts herunterzuladen und es zu aktualisieren, um die erforderliche Aufgabe auszuführen. Sie müssen zuerst ein Master-Python-Skript erstellen, das die Kernfunktionen des Skripts ausführt. Erstellen Sie dann eine Package-Structure.yml
Datei, um die Argumente und andere Metadaten zu definieren, die das Skript benötigt. Weitere Informationen finden Sie unter Package-Structure.yml
Optionen.
Python-Python-Skript
Dies ist das erste Hauptskript, das ausgeführt wird, wenn ein Job initiiert wird. Sobald die Ausführung des Skripts abgeschlossen ist, ist die Aufgabe abgeschlossen und der endgültige Rückgabecode bestimmt den Status des Jobs. Die gesamte Ausgabe dieses Skripts wird erfasst, wenn es remote ausgeführt wird, und als Referenz in das Ausgabeüberwachungsprotokoll des Auftrags übergeben. Dieses Protokoll wird auch in Amazon gespeichert CloudWatch.
Zugreifen auf Cloud Migration Factory mit AWS Daten und APIs über ein Skript
Um Zugriff auf die Cloud Migration Factory auf AWS APIs Daten zu gewähren, können Sie das mitgelieferte Python-Hilfsmodul verwenden. Das Modul bietet die wichtigsten Funktionen. Nachfolgend finden Sie einige wichtige Funktionen für den Einstieg:
factory_login
Gibt ein Zugriffstoken zurück, mit dem Cloud Migration Factory on aufgerufen werden kann AWS APIs. Diese Funktion versucht, sich CMF mit einer Reihe von Anmeldeversuchen anzumelden:
-
Durch den Versuch, auf das Standardgeheimnis zuzugreifen, das die Benutzer-ID und das Passwort des Dienstkontos enthält, falls diese existieren und der Zugriff erlaubt ist. Dieser geheime Name MFServiceAccount - [
userpool id
] wird überprüft. -
Wenn Schritt 1 nicht erfolgreich ist und der Benutzer das Skript über die Befehlszeile ausführt, wird der Benutzer aufgefordert, eine Benutzer-ID und ein Passwort für die AWS Cloud Migration Factory-Version einzugeben. Wenn die Ausführung von einem Remote-Automatisierungsauftrag aus erfolgt, schlägt der Job fehl.
get_server_credentials
Gibt die Anmeldeinformationen für einen Server zurück, der in AWS Cloud Migration Factory entweder im Credentials Manager oder durch Benutzereingabe gespeichert ist. Diese Funktion überprüft eine Reihe verschiedener Quellen, um die Anmeldeinformationen für einen bestimmten Server zu ermitteln. Die Reihenfolge der Quellen ist:
-
Wenn local_username und local_password gesetzt und gültig sind, werden diese zurückgegeben.
-
Wenn secret_overide gesetzt ist, wird dies verwendet, um das angegebene AWS Geheimnis von Secret Manager abzurufen. Andernfalls wird geprüft, ob der Servereintrag den Schlüssel secret_name enthält und dieser nicht leer ist, dann wird dieser geheime Name verwendet.
-
Wenn die angegebenen Geheimnisse nicht gefunden oder darauf zugegriffen werden können, fordert die Funktion den Benutzer zur Eingabe der Anmeldeinformationen auf, jedoch nur, wenn no_user_prompts auf False gesetzt ist, andernfalls gibt sie einen Fehler zurück.
Parameter
local_username — Wenn übergeben, wird es zurückgegeben.
local_password — Wenn es übergeben wurde, wird es zurückgegeben.
server — CMF Serverdict, wie von get_factory_servers. in Cloud Migration Factory zurückgegeben. AWS
secret_overIDE — Wird übergeben, wird der geheime Name festgelegt, der vom Secrets Manager für diesen Server abgerufen werden soll.
no_user_prompts — Weist die Funktion an, einen Benutzer nicht zur Eingabe einer Benutzer-ID und eines Passworts aufzufordern, wenn sie nicht gespeichert sind. Dies sollte für jedes Remote-Automatisierungsskript True sein.
get_credentials
Ruft die mit AWS Cloud Migration Factory Credentials Manager gespeicherten Anmeldeinformationen von Secrets Manager ab.
Parameter
secret_name — Name des abzurufenden Geheimnisses.
get_factory_servers
Gibt ein Array von Servern aus dem AWS Cloud Migration Factory-Datenspeicher zurück, basierend auf der angegebenen Waveid.
Parameter
waveid — Wave-Record-ID der Server, die zurückgegeben werden.
token — Authentifizierungstoken, das von der FactoryLogin Lambda-Funktion abgerufen wurde.
app_ids — Optionale Liste von Anwendungs-IDs innerhalb der Welle, die aufgenommen werden sollen.
server_ids — Optionale Liste der Server-IDs innerhalb der Wave und der einzubeziehenden Anwendungen.
os_split — Wenn auf gesetzttrue
, werden zwei Listen zurückgegeben, eine für Linux- und eine für Windows-Server. Ist False, wird eine einzelne kombinierte Liste zurückgegeben.
rtype — Optionale Zeichenfolge, um nur nach einer bestimmten Migrationsstrategie von Servern zu filtern, d. h. wenn der Wert 'Rehost' übergeben wird, werden nur Server mit Rehost zurückgegeben.
Letzte Zusammenfassung der Nachricht
Es wird empfohlen, eine zusammenfassende Meldung mit dem Ergebnis des Skripts als endgültige Ausgabe auf dem Bildschirm oder Sysout bereitzustellen. Dies wird auf der Konsole in der Eigenschaft Letzte Nachricht angezeigt, die einen schnellen Status des Skriptergebnisses bietet, ohne dass der Benutzer das vollständige Ausgabeprotokoll lesen muss.
Rückgabecode
Das Haupt-Python-Skript sollte beim Beenden einen Rückgabecode ungleich Null zurückgeben, wenn die Funktion des Skripts nicht vollständig erfolgreich war. Beim Empfang eines Rückgabecodes ungleich Null wird der Auftragsstatus im Auftragsprotokoll als Fehlgeschlagen angezeigt, was dem Benutzer bedeutet, dass er das Ausgabeprotokoll auf Einzelheiten des Fehlers überprüfen sollte.
YAMLPackage-structure.yml-Optionen
YAML-Beispieldatei
Name: "0-Check MGN Prerequisites" Description: "This script will verify the source servers meet the basic requirements for AWS MGN agent installation." MasterFileName: "0-Prerequisites-checks.py" UpdateUrl: "" Arguments: - name: "ReplicationServerIP" description: "Replication Server IP." long_desc: "IP Address of an AWS MGN Replication EC2 Instance." type: "standard" required: true - name: "SecretWindows" long_desc: "Windows Secret to use for credentials." description: "Windows Secret" type: "relationship" rel_display_attribute: "Name" rel_entity: "secret" rel_key: "Name" - name: "SecretLinux" long_desc: "Linux Secret to use for credentials." description: "Linux Secret" type: "relationship" rel_display_attribute: "Name" rel_entity: "secret" rel_key: "Name" - name: "Waveid" description: "Wave Name" type: "relationship" rel_display_attribute: "wave_name" rel_entity: "wave" rel_key: "wave_id" validation_regex: "^(?!\\s*$).+" validation_regex_msg: "Wave must be provided." required: true SchemaExtensions: - schema: "server" name: "server_pre_reqs_output" description: "Pre-Req Output" type: "string"
YAMLwichtige Beschreibungen
Erforderlich
Name — Standardname, den das Skript beim Import verwendet.
Beschreibung — Beschreibung der Verwendung des Skripts.
MasterFileName— Dies ist der Ausgangspunkt für die Ausführung des Skripts. Es muss sich um einen Python-Dateinamen handeln, der im Skriptpaketarchiv enthalten ist.
Argumente — Eine Liste von Argumenten, die das MasterFileName Python-Skript akzeptiert. Jedes Argument, das angegeben werden muss, hat das AWS Cloud Migration Factory-Attributdefinitionsformat. Erforderliche Eigenschaften für jedes Argument sind Name und Typ, alle anderen Eigenschaften sind optional.
Optional
UpdateUrl— Geben Sie anURL, wo der Quellcode des Skriptpakets für die Bereitstellung von Updates verfügbar ist. Derzeit dient dies nur als Referenz.
SchemaExtensions— Eine Liste von Attributen, die das Python-Skript im Schema enthalten muss, um die Ausgabe zu speichern oder zusätzliche Daten abzurufen. Jedes Attribut muss im AWS CMF Attributdefinitionsformat angegeben werden. Erforderliche Eigenschaften für jedes Attribut sind Schema, Name, Beschreibung und Typ. Alle anderen Eigenschaften sind optional. Alle neuen Attribute werden dem Schema automatisch hinzugefügt, wenn das Skript zum ersten Mal geladen wird, und Änderungen SchemaExtensions daran werden für neue Versionen des Skripts nicht verarbeitet. Wenn dies für das Hinzufügen eines neuen Skripts erforderlich ist, müssen manuelle Aktualisierungen des Schemas vorgenommen werden.