Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

AWSSupport-StartEC2RescueWorkflow - AWS Systems Manager Referenz zum Automatisierungs-Runbook

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.

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.

AWSSupport-StartEC2RescueWorkflow

Beschreibung

Das AWSSupport-StartEC2RescueWorkflow Runbook führt das bereitgestellte Base64-kodierte Skript (Bash oder Powershell) auf einer Hilfsinstanz aus, die zur Rettung Ihrer Instanz erstellt wurde. Das Root-Volume Ihrer Instance ist an die Helper-Instance, auch Rescue-Instanz genannt, angehängt und an diese gemountet. EC2 Wenn Ihre Instance unter Windows läuft, geben Sie ein Powershell-Skript an. Verwenden Sie andernfalls Bash. Das Runbook legt einige Umgebungsvariablen fest, die Sie in Ihrem Skript verwenden können. Die Umgebungsvariablen enthalten Informationen über die Eingabe, die Sie bereitgestellt haben, sowie Informationen zu dem Offline-Root-Volume. Das Offline-Volume ist bereits gemountet und kann verwendet werden. Beispiel: Sie können eine Desired State Configuration-Datei zu einem Offline-Windows-Root-Volume oder chroot zu einem Offline-Linux-Root-Volume speichern und eine Offline-Wiederherstellung durchführen.

Führen Sie diese Automatisierung aus (Konsole)

Wichtig

EC2 Amazon-Instances, die über Marketplace Amazon Machine Images (AMIs) erstellt wurden, werden von dieser Automatisierung nicht unterstützt.

Zusätzliche Informationen

Um ein Skript mit base64 zu kodieren, können Sie PowerShell oder Bash verwenden. Powershell:

[System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes([System.IO.File]::ReadAllText('PATH_TO_FILE')))

Bash:

base64 PATH_TO_FILE

Hier sehen Sie eine Liste der Umgebungsvariablen, die Sie in Ihren Offline-Skripts verwenden können, je nach Ziel-Betriebssystem.

Windows:

Variable Beschreibung Beispielwert

$env: RESCUE_ACCOUNT_ID EC2

{{ global:ACCOUNT_ID }}

123456789012

$env: EC2 RESCUE_DATE

{{ global:DATE }}

2018-09-07

$env: EC2 RESCUE_DATE_TIME

{{ global:DATE_TIME }}

2018-09-07_18.09.59

$env: EC2 RESCUE_ RW_DIR EC2

EC2Installationspfad für Rescue für Windows

C:\Program Files\ Amazon\ EC2 Rescue

$env: EC2 RESCUE_ RW_DIR EC2

EC2Installationspfad für Rescue für Windows

C:\Program Files\ Amazon\ EC2 Rescue

$env: RESCUE_EXECUTION_ID EC2

{{ automation:EXECUTION_ID }}

7ef8008e-219b-4aca-8bb5-65e2e898e20b

$env: EC2 RESCUE_OFFLINE_CURRENT_CONTROL_SET

Offline Windows Current Control Set-Pfad

HKLM:\AWSTempSystem\ControlSet001

$env: EC2 RESCUE_OFFLINE_DRIVE

Offline-Windows-Laufwerkbuchstabe

D:\

$env: EC2 RESCUE_OFFLINE_EBS_DEVICE

Offline-Root-Volume-EBS-Gerät

xvdf

$env: EC2 RESCUE_OFFLINE_KERNEL_VER

Offline-Windows-Kernel-Version

6.1.7601.24214

$env: EC2 RESCUE_OFFLINE_OS_ARCHITECTURE

Offline-Windows-Architektur

AMD64

$env: EC2 RESCUE_OFFLINE_OS_CAPTION

Offline-Windows-Beschriftung

Windows Server 2008 R2 Datacenter

$env: EC2 RESCUE_OFFLINE_OS_TYPE

Offline-Windows-Betriebssystemtyp

Server

$env: EC2 RESCUE_OFFLINE_PROGRAM_FILES_DIR

Offline-Windows-Programmdateien-Verzeichnispfad

D:\Program Files

$env: EC2 RESCUE_OFFLINE_PROGRAM_FILES_X86_DIR

Offline-Windows-Programmdateien-x86-Verzeichnispfad

D:\Program Files (x86)

$env: EC2 RESCUE_OFFLINE_REGISTRY_DIR

Offline-Windows-Registry-Verzeichnispfad

D:\Windows\System32\config

$env: EC2 RESCUE_OFFLINE_SYSTEM_ROOT

Offline-Windows-Systemstamm-Verzeichnispfad

D:\Windows

$env: EC2 RESCUE_REGION

{{ global:REGION }}

us-west-1

$env: EC2 RESCUE_S3_BUCKET

{{S3}} BucketName

amzn-s3-Demo-Bucket

$env: RESCUE_S3_PREFIX EC2

{{ S3Prefix }}

myprefix/

$env: EC2 RESCUE_SOURCE_INSTANCE

{{ InstanceId }}

i-abcdefgh123456789

$skript: EC2 RESCUE_OFFLINE_WINDOWS_INSTALL

Offline-Windows-Installations-Metadaten

Customer PowerShell-Objekt

Linux:

Variable Beschreibung Beispielwert

EC2RESCUE_ACCOUNT-ID

{{ global:ACCOUNT_ID }}

123456789012

EC2RESCUE_DATE

{{ global:DATE }}

2018-09-07

EC2RETTUNGSDATUM_UHRZEIT

{{ global:DATE_TIME }}

2018-09-07_18.09.59

EC2RESCUE_RL_DIR EC2

EC2Installationspfad von Rescue für Linux

/usr/local/ec2rl-1.1.3

EC2RESCUE_EXECUTION_ID

{{ automation:EXECUTION_ID }}

7ef8008e-219b-4aca-8bb5-65e2e898e20b

EC2RESCUE_OFFLINE-GERÄT

Offline-Gerätename

/dev/xvdf1

EC2RESCUE_OFFLINE_EBS_DEVICE

Offline-Root-Volume-EBS-Gerät

/dev/sdf

EC2RESCUE_OFFLINE_SYSTEM_ROOT

Offline-Root-Volume-Mounting-Punkt

/mnt/mount

EC2RESCUE_PYTHON

Python-Version

python2.7

EC2RESCUE_REGION

{{ global:REGION }}

us-west-1

EC2RESCUE_S3_BUCKET

{{S3}} BucketName

amzn-s3-Demo-Bucket

EC2RESCUE_S3_PRÄFIX

{{ S3Prefix }}

myprefix/

EC2RESCUE_SOURCE_INSTANZ

{{ InstanceId }}

i-abcdefgh123456789

Typ des Dokuments

Automatisierung

Eigentümer

Amazon

Plattformen

Linux, macOS, Windows

Parameter

  • AMIPrefix

    Typ: Zeichenfolge

    Standard: AWSSupport-EC2Rescue

    Beschreibung: (Optional) Ein Präfix für den Backup-AMI-Namen.

  • AutomationAssumeRole

    Typ: Zeichenfolge

    Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, mit der Systems Manager Automation die Aktionen in Ihrem Namen ausführen kann. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der dieses Runbook startet.

  • CreatePostEC2RescueBackup

    Typ: Zeichenfolge

    Zulässige Werte: true | false

    Standard: false

    Beschreibung: (Optional) Stellen Sie es auf ein, true um ein AMI von InstanceId nach der Ausführung des Skripts zu erstellen, bevor Sie es starten. Das AMI bleibt nach Abschluss der Automatisierung erhalten. Es liegt in Ihrer Verantwortung, den Zugriff auf das AMI zu gewährleisten oder es zu löschen.

  • CreatePreEC2RescueBackup

    Typ: Zeichenfolge

    Zulässige Werte: true | false

    Standard: false

    Beschreibung: (Optional) Stellen Sie es auf ein, true um InstanceId vor der Ausführung des Skripts ein AMI von zu erstellen. Das AMI bleibt nach Abschluss der Automatisierung erhalten. Es liegt in Ihrer Verantwortung, den Zugriff auf das AMI zu gewährleisten oder es zu löschen.

  • EC2RescueInstanceType

    Typ: Zeichenfolge

    Gültige Werte: t2.small | t2.medium | t2.large

    Standard: t2.small

    Beschreibung: (Optional) Der EC2 Instance-Typ für die Rescue-Instance. EC2

  • InstanceId

    Typ: Zeichenfolge

    Beschreibung: (Erforderlich) ID Ihrer EC2 Instanz. WICHTIG: Die AWS Systems Manager Automatisierung stoppt diese Instanz. Auf den Instance-Speichervolumes gespeicherte Daten gehen verloren. Die öffentliche IP-Adresse ändert sich, wenn Sie keine Elastic IP verwenden.

  • OfflineScript

    Typ: Zeichenfolge

    Beschreibung: (Erforderlich) Base64-kodiertes Skript zur Ausführung gegen die Helper-Instance. Verwenden Sie Bash, wenn Ihre Quellinstanz Linux und PowerShell Windows ist.

  • S3 BucketName

    Typ: Zeichenfolge

    Beschreibung: (Optional) Name des S3-Buckets in Ihrem Konto, in den Sie die Protokolle zur Fehlerbehebung hochladen möchten. Stellen Sie sicher, dass die Bucket-Richtlinie keine unnötigen Lese-/Schreibberechtigungen für Parteien gewährt, die keinen Zugriff auf die gesammelten Protokolle benötigen.

  • S3Prefix

    Typ: Zeichenfolge

    Standard: AWSSupport-EC2Rescue

    Beschreibung: (Optional) Ein Präfix für die S3-Protokolle.

  • SubnetId

    Typ: Zeichenfolge

    Standard: SelectedInstanceSubnet

    Beschreibung: (Optional) Die Subnetz-ID für die EC2 Rescue-Instanz. Standardmäßig wird dasselbe Subnetz verwendet, in dem sich die bereitgestellte Instance befindet. WICHTIG: Wenn Sie ein benutzerdefiniertes Subnetz angeben, muss es sich in derselben Availability Zone befinden wie InstanceId und es muss den Zugriff auf die SSM-Endpunkte ermöglichen.

  • UniqueId

    Typ: Zeichenfolge

    Standard: {{ automation:EXECUTION_ID }}

    Beschreibung: (Optional) Eine eindeutige Kennung für die Automatisierung.

Erforderliche IAM-Berechtigungen

Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.

Es wird empfohlen, dass dem Benutzer, der die Automatisierung ausführt, die von Amazon SSMAutomation Role IAM verwaltete Richtlinie beigefügt ist. Zusätzlich zu dieser Richtlinie benötigt der Benutzer:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lambda:InvokeFunction", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource": "arn:aws:lambda:*:An-AWS-Account-ID:function:AWSSupport-EC2Rescue-*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::awssupport-ssm.*/*.template", "arn:aws:s3:::awssupport-ssm.*/*.zip" ], "Effect": "Allow" }, { "Action": [ "iam:CreateRole", "iam:CreateInstanceProfile", "iam:GetRole", "iam:GetInstanceProfile", "iam:PutRolePolicy", "iam:DetachRolePolicy", "iam:AttachRolePolicy", "iam:PassRole", "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:DeleteInstanceProfile" ], "Resource": [ "arn:aws:iam::An-AWS-Account-ID:role/AWSSupport-EC2Rescue-*", "arn:aws:iam::An-AWS-Account-ID:instance-profile/AWSSupport-EC2Rescue-*" ], "Effect": "Allow" }, { "Action": [ "lambda:CreateFunction", "ec2:CreateVpc", "ec2:ModifyVpcAttribute", "ec2:DeleteVpc", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:DetachInternetGateway", "ec2:DeleteInternetGateway", "ec2:CreateSubnet", "ec2:DeleteSubnet", "ec2:CreateRoute", "ec2:DeleteRoute", "ec2:CreateRouteTable", "ec2:AssociateRouteTable", "ec2:DisassociateRouteTable", "ec2:DeleteRouteTable", "ec2:CreateVpcEndpoint", "ec2:DeleteVpcEndpoints", "ec2:ModifyVpcEndpoint", "ec2:Describe*" ], "Resource": "*", "Effect": "Allow" } ] }

Dokumentschritte

  1. aws:executeAwsApi— Beschreiben Sie die bereitgestellte Instanz

  2. aws:executeAwsApi- Beschreiben Sie das Root-Volume der bereitgestellten Instanz

  3. aws:assertAwsResourceProperty— Vergewissern Sie sich, dass der Gerätetyp des Root-Volumes EBS ist

  4. aws:assertAwsResourceProperty- Stellen Sie sicher, dass das Root-Volume nicht verschlüsselt ist

  5. aws:assertAwsResourceProperty- Überprüfen Sie die angegebene Subnetz-ID

    1. (Verwenden Sie das aktuelle Instanz-Subnetz) — Wenn * SubnetId = SelectedInstanceSubnet *, dann starten Sie, aws:createStack um den EC2 Rescue-Stack bereitzustellen CloudFormation

    2. (Neue VPC erstellen) — Wenn * SubnetId = CreateNew VPC*, dann ausführen, aws:createStack um den Rescue-Stack bereitzustellen EC2 CloudFormation

    3. (Verwenden eines benutzerdefinierten Subnetzes) – In allen anderen Fällen:

      aws:assertAwsResourceProperty- Überprüfen Sie, ob sich das angegebene Subnetz in derselben Availability Zone wie die bereitgestellte Instanz befindet

      aws:createStack- Stellen Sie den EC2 Rescue-Stack CloudFormation bereit

  6. aws:invokeLambdaFunction- Führen Sie eine zusätzliche Eingabevalidierung durch

  7. aws:executeAwsApi- Aktualisieren Sie den EC2 CloudFormation Rescue-Stack, um die EC2 Rescue-Helper-Instanz zu erstellen

  8. aws:waitForAwsResourceProperty- Warten Sie, bis das EC2 CloudFormation Rescue-Stack-Update abgeschlossen ist

  9. aws:executeAwsApi- Beschreiben Sie die EC2 CloudFormation Rescue-Stack-Ausgabe, um die EC2 Rescue-Helper-Instanz-ID zu erhalten

  10. aws:waitForAwsResourceProperty- Warten Sie, bis die EC2 Rescue-Helper-Instanz zu einer verwalteten Instanz wird

  11. aws:changeInstanceState- Stoppt die bereitgestellte Instanz

  12. aws:changeInstanceState- Stoppt die bereitgestellte Instanz

  13. aws:changeInstanceState- Erzwingt das Stoppen der bereitgestellten Instanz

  14. aws:assertAwsResourceProperty- Überprüfen Sie den CreatePre EC2 RescueBackup Eingabewert

    1. (EC2Pre-Rescue-Backup erstellen) — Wenn * CreatePre EC2 RescueBackup = true*

    2. aws:executeAwsApi- Erstellen Sie ein AMI-Backup der bereitgestellten Instanz

    3. aws:createTags- Taggen Sie das AMI-Backup

  15. aws:runCommand- Installieren Sie EC2 Rescue auf der EC2 Rescue-Helper-Instanz

  16. aws:executeAwsApi- Trennen Sie das Root-Volume von der bereitgestellten Instanz

  17. aws:assertAwsResourceProperty- Überprüfen Sie die bereitgestellte Instanzplattform

    1. (Instance ist Windows):

      aws:executeAwsApi- Hängen Sie das Root-Volume als *xvdf* an die EC2 Rescue-Helper-Instanz an

      aws:sleep- Schlafen Sie 10 Sekunden

      aws:runCommand- Führen Sie das bereitgestellte Offline-Skript in Powershell aus

    2. (Instance ist Linux):

      aws:executeAwsApi- Hängen Sie das Root-Volume als */dev/sdf* an die EC2 Rescue-Helper-Instanz an

      aws:sleep- Schlafen Sie 10 Sekunden

      aws:runCommand- Führen Sie das bereitgestellte Offline-Skript in Bash aus

  18. aws:changeInstanceState- Stoppen Sie die EC2 Rescue-Helper-Instanz

  19. aws:changeInstanceState- Erzwingt das Stoppen der EC2 Rescue-Helper-Instanz

  20. aws:executeAwsApi- Trennen Sie das Root-Volume von der EC2 Rescue-Helper-Instanz

  21. aws:executeAwsApi- Hängen Sie das Root-Volume wieder an die bereitgestellte Instanz an

  22. aws:assertAwsResourceProperty- Überprüfen Sie den CreatePost EC2 RescueBackup Eingabewert

    1. (Backup nach dem EC2 Rescue erstellen) — Wenn * CreatePost EC2 RescueBackup = true*

    2. aws:executeAwsApi- Erstellen Sie ein AMI-Backup der bereitgestellten Instanz

    3. aws:createTags- Taggen Sie das AMI-Backup

  23. aws:executeAwsApi— Stellen Sie den ursprünglichen Status „Löschen bei Beendigung“ für das Root-Volume der bereitgestellten Instanz wieder her

  24. aws:changeInstanceState- Stellt den ursprünglichen Zustand der bereitgestellten Instanz wieder her (laufend/gestoppt)

  25. aws:deleteStack- Löscht den Rescue-Stack EC2 CloudFormation

Ausgaben

runScriptForLinux.Ausgabe

runScriptForWindows.Ausgabe

preScriptBackup.ImageId

postScriptBackup.ImageId

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.