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.
Schritt 3: Richten Sie Ihre Umgebung für die Ausführung des Skripts ein
Richten Sie Ihre Umgebung für die Ausführung des Skripts ein, indem Sie den folgenden Befehl verwenden.
pipenv install -r requirements.txt pipenv shell
Anmerkung
Derzeit kann das Skript nur einschichtige Anwendungen in Application Manager bereitstellen. Wenn Sie das Skript beispielsweise zweimal für zwei Ebenen im selben Stapel ausführen, erstellt das Skript zwei verschiedene Anwendungen in Application Manager.
Nachdem Sie Ihre Umgebung eingerichtet haben, überprüfen Sie die Skriptparameter. Sie können die verfügbaren Optionen für das Migrationsskript anzeigen, indem python3
stack_exporter.py --help
Sie den Befehl ausführen.
Parameter | Beschreibung | Erforderlich | Typ | Standardwert |
---|---|---|---|---|
--layer-id |
Exportiert eine CloudFormation Vorlage für diese OpsWorks Layer-ID. | Ja | Zeichenfolge | |
--region |
Die AWS Region für den OpsWorks Stapel. Wenn sich Ihre OpsWorks Stack-Region und Ihre API-Endpunktregion unterscheiden, verwenden Sie die Stack-Region. Dies ist dieselbe Region wie die anderen Ressourcen in Ihrem OpsWorks Stack (z. B. EC2-Instances und Subnetze). | Nein | Zeichenfolge | us-east-1 |
--provision-application |
Standardmäßig stellt das Skript die mit der Vorlage exportierte Anwendung bereit. CloudFormation Übergeben Sie diesen Parameter mit dem Wert FALSE an das Skript, um die Bereitstellung der CloudFormation Vorlage zu überspringen. | Nein | Boolesch | TRUE |
--launch-template |
Dieser Parameter definiert, ob eine vorhandene Startvorlage verwendet oder eine neue Startvorlage erstellt werden soll. Sie können eine neue Startvorlage erstellen, die die empfohlenen Instanzeigenschaften verwendet oder die Instanzeigenschaften verwendet, die einer Online-Instance entsprechen. Gültige Werte sind:
|
Nein | Zeichenfolge | RECOMMENDED |
--system-updates |
Definiert, ob Kernel- und Paket-Updates durchgeführt werden sollen, wenn die Instance gestartet wird. Gültige Werte sind:
|
Nein | Zeichenfolge | ALL_UPDATES |
--http-username |
Der Name des Systems Manager SecureString Manager-Parameters, der den Benutzernamen speichert, der für die Authentifizierung im HTTP-Archiv verwendet wird, das die benutzerdefinierten Kochbücher enthält. |
Nein | Zeichenfolge | |
--http-password |
Der Name des Systems Manager SecureString Manager-Parameters, der das Passwort speichert, das für die Authentifizierung im HTTP-Archiv verwendet wird, das die benutzerdefinierten Kochbücher enthält. |
Nein | Zeichenfolge | |
--repo-private-key |
Der Name des Systems Manager SecureString Manager-Parameters, der den SSH-Schlüssel speichert, der zur Authentifizierung bei dem Repository verwendet wird, das die benutzerdefinierten Kochbücher enthält. Wenn das Repository aktiviert ist GitHub, müssen Sie einen neuen Ed25519 SSH-Schlüssel generieren. Wenn Sie keinen neuen Ed25519 SSH-Schlüssel generieren, schlägt die Verbindung zum GitHub Repository fehl. |
Nein | Zeichenfolge | |
--lb-type |
Der Typ des Load Balancers, falls vorhanden, der bei der Migration Ihres vorhandenen Load Balancers erstellt werden soll. Gültige Werte sind:
|
Nein | Zeichenfolge | ALB |
--lb-access-logs-path |
Der Pfad zu einem vorhandenen S3-Bucket und das Präfix zum Speichern der Load Balancer-Zugriffsprotokolle. Der S3-Bucket und der Load Balancer müssen sich in derselben Region befinden. Wenn Sie keinen Wert angeben und der --lb-type Parameterwert auf gesetzt istNone , erstellt das Skript einen neuen S3-Bucket und ein neues Präfix. Stellen Sie sicher, dass es eine geeignete Bucket-Richtlinie für dieses Präfix gibt. |
Nein | Zeichenfolge | |
--enable-instance-protection |
Wenn auf gesetztTRUE , erstellt das Skript eine benutzerdefinierte Kündigungsrichtlinie (Lambda-Funktion) für Ihre Auto Scaling Scaling-Gruppe. EC2-Instances mit einem protected_instance Tag sind vor Scale-In-Ereignissen geschützt. Fügen Sie jeder EC2-Instance, die Sie vor Scale-In-Ereignissen schützen möchten, ein protected_instance Tag hinzu. |
Nein | Boolesch | FALSE |
--command-logs-bucket |
Der Name eines vorhandenen S3-Buckets, in dem die AWS ApplyChefRecipe und -Protokolle gespeichert werden sollen. MountEBSVolumes Wenn Sie keinen Wert angeben, erstellt das Skript einen neuen S3-Bucket. |
Nein | Zeichenfolge | aws-opsworks-application-manager-logs- |
--custom-json-bucket |
Der Name eines vorhandenen S3-Buckets zum Speichern von benutzerdefiniertem JSON. Wenn Sie keinen Wert angeben, erstellt das Skript einen neuen S3-Bucket. | Nein | Zeichenfolge | aws-apply-chef-application-manager-transition-data- |
Hinweise:
-
Wenn Sie ein privates GitHub Repository verwenden, müssen Sie einen neuen
Ed25519
Hostschlüssel für SSH erstellen. Dies liegt daran, dass GitHub geändert wurde, welche Schlüssel in SSH unterstützt werden, und das unverschlüsselte Git-Protokoll entfernt wurde. Weitere Informationen zumEd25519
Hostschlüssel findest du im GitHub Blogbeitrag Improving Git protocol security on GitHub. Nachdem Sie einen neuen Ed25519
Hostschlüssel generiert haben, erstellen Sie einen Systems ManagerSecureString
Manager-Parameter für den SSH-Schlüssel und verwenden Sie denSecureString
Parameternamen als Wert für den--repo-private-key
Parameter. Weitere Informationen zum Erstellen eines Systems ManagerSecureString
Manager-Parameters finden Sie unter Erstellen eines SecureString Parameters (AWS CLI) oder Erstellen eines Systems Manager Manager-Parameters (Konsole) im AWS Systems Manager Benutzerhandbuch. -
Die
--repo-private-key
Parameter--http-username
,--http-password
und beziehen sich auf den Namen eines Systems ManagerSecureString
Manager-Parameters. Das Migrationsskript verwendet diese Parameter, wenn Sie dasAWS-ApplyChefRecipes
Dokument ausführen. -
Der
--http-username
Parameter erfordert, dass Sie auch einen Wert für den--http-password
Parameter angeben. -
Für den
--http-password
Parameter müssen Sie auch einen Wert für den--http-username
Parameter angeben. -
Legen Sie keine Werte für
--http-password
sowohl als auch fest--repo-private-key
. Geben Sie entweder den Systems ManagerSecureString
Manager-Parameternamen eines SSH-Schlüssels (--repo-private-key
) oder einen Repository-Benutzernamen (--http-username
) und ein Passwort (--http-password
) an.