Schritt 3: Richten Sie Ihre Umgebung für die Ausführung des Skripts ein - AWS OpsWorks

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:

  • RECOMMENDED- Verwendet Instance-Eigenschaften aus dem neuesten AMI für das Betriebssystem des OpsWorks Stacks und eine c5.large-Instance-Größe.

  • MATCH_LAST_INSTANCE- Verwendet die neuesten verfügbaren Online-Instance-Eigenschaften.

  • LaunchTemplateID/[LaunchTemplateVersion]— Verwendet eine vorhandene Startvorlage. Optional können Sie eine Vorlagenversion angeben. Wenn Sie keine Vorlagenversion angeben, verwendet das Skript die Standardversion.

Nein Zeichenfolge RECOMMENDED
--system-updates

Definiert, ob Kernel- und Paket-Updates durchgeführt werden sollen, wenn die Instance gestartet wird.

Gültige Werte sind:

  • ALL_UPDATES— Führt Systemaktualisierungen für den Kernel und die Pakete durch, wenn die Instance gestartet wird.

  • NO_UPDATES- Führt keine Systemaktualisierungen durch, wenn die Instance gestartet wird.

  • MATCH_LAYER_SETTINGS— Verwendet die InstallUpdatesOnBoot Eigenschaften der OpsWorks Ebene oder Instanz, um zu bestimmen, ob Systemupdates installiert werden sollen.

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:

  • ALB(Application Load Balancer)

  • Classis(Classic Load Balancer)

  • None(wenn Sie keinen Load Balancer erstellen möchten)

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-account-id
--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-account-id

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 zum Ed25519 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 Manager SecureString Manager-Parameter für den SSH-Schlüssel und verwenden Sie den SecureString Parameternamen als Wert für den --repo-private-key Parameter. Weitere Informationen zum Erstellen eines Systems Manager SecureString 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 Manager SecureString Manager-Parameters. Das Migrationsskript verwendet diese Parameter, wenn Sie das AWS-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 Manager SecureString Manager-Parameternamen eines SSH-Schlüssels (--repo-private-key) oder einen Repository-Benutzernamen (--http-username) und ein Passwort (--http-password) an.