

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-ContainEC2Instance`
<a name="automation-awssupport-containec2instance"></a>

 **Beschreibung** 

Das `AWSSupport-ContainEC2Instance` Runbook bietet eine automatisierte Lösung für das im Artikel [Wie isoliere ich die Amazon EC2 EC2-Instance, wenn ich mit einer potenziell kompromittierten oder verdächtigen Instanz konfrontiert](https://repost.aws/articles/ARwkDzoO-8RN-SDQnA1aX-XA) werde? Die Automatisierung verzweigt sich je nach den von Ihnen angegebenen Werten.

 **Wie funktioniert sie?** 

Dieses Automation-Runbook `AWSSupport-ContainEC2Instance` führt die Netzwerkeindämmung einer Amazon EC2 EC2-Instance durch eine Reihe koordinierter Schritte durch. Wenn es im `Contain` Modus ausgeführt wird, validiert es zunächst die Eingabeparameter und prüft, ob die Instance nicht beendet wurde. Anschließend wird die aktuelle Sicherheitsgruppenkonfiguration zur späteren Wiederherstellung in einem Amazon S3 S3-Bucket gesichert. Das Runbook erstellt zwei Sicherheitsgruppen: eine temporäre „All-Access-Sicherheitsgruppe“ und eine abschließende Sicherheitsgruppe „Containment“. Dabei werden die Netzwerkschnittstellen der Instance schrittweise von ihren ursprünglichen Sicherheitsgruppen zur Sicherheitsgruppe für alle Zugriffe und schließlich zur Containment-Sicherheitsgruppe umgestellt. Falls angegeben, erstellt es sowohl unverschlüsselte als auch verschlüsselte AMI Backups der Instance. Für Instances in einer Auto Scaling Scaling-Gruppe werden die erforderlichen Änderungen an der Auto Scaling Scaling-Gruppe vorgenommen und die Instance in den Standby-Status versetzt. Wenn es im `Release` Modus ausgeführt wird, stellt es die ursprüngliche Netzwerkkonfiguration der Instance mithilfe der gesicherten Einstellungen von Amazon S3 wieder her. Das Runbook unterstützt einen `DryRun` Parameter, mit dem eine Vorschau von Aktionen angezeigt werden kann, ohne dass Änderungen vorgenommen werden müssen, und umfasst umfassende Mechanismen zur Fehlerbehandlung und Berichterstattung in den gesamten Containment- und Release-Workflows.

**Wichtig**  
Dieses Runbook führt verschiedene Operationen aus, für die erhöhte Rechte erforderlich sind, z. B. das Ändern von Sicherheitsgruppen, das Erstellen von AMI s und die Interaktion mit Auto Scaling Scaling-Gruppen. Diese Aktionen können möglicherweise zu einer Eskalation von Rechten führen oder sich auf andere Workloads in Ihrem Konto auswirken. Sie sollten die Berechtigungen überprüfen, die der durch den `AutomationAssumeRole` Parameter angegebenen Rolle gewährt wurden, und sicherstellen, dass sie für den beabsichtigten Anwendungsfall geeignet sind. Weitere Informationen zu IAM-Berechtigungen finden Sie in der folgenden AWS Dokumentation: [https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html).
Dieses Runbook führt mutative Aktionen durch, die möglicherweise zur Nichtverfügbarkeit oder Unterbrechung Ihrer Workloads führen können. Insbesondere werden die Sicherheitsgruppen geändert, die der Amazon EC2 EC2-Zielinstanz zugeordnet sind, was sich auf die Netzwerkkonnektivität auswirken kann. Wenn die Instance Teil einer Auto Scaling Scaling-Gruppe ist, kann das Runbook außerdem die Konfiguration der Gruppe ändern, was sich möglicherweise auf ihr Skalierungsverhalten auswirkt.
Während des Containment-Prozesses erstellt dieses Runbook zusätzliche Ressourcen, wie Sicherheitsgruppen und s. AMI Diese Ressourcen werden zwar zur Identifizierung markiert, Sie sollten sich jedoch ihrer Erstellung bewusst sein und sicherstellen, dass sie nach Abschluss des Containment-Prozesses ordnungsgemäß bereinigt oder verwaltet werden.
Wenn der `Action` Parameter auf gesetzt ist`Release`, versucht dieses Runbook, die Konfiguration der Amazon EC2 EC2-Instance in ihren ursprünglichen Zustand zurückzusetzen. Es besteht jedoch das Risiko, dass der Wiederherstellungsprozess fehlschlägt und die Instance in einem inkonsistenten Zustand zurückbleibt. Das Runbook enthält Anweisungen für die manuelle Wiederherstellung im Falle solcher Fehler. Sie sollten jedoch darauf vorbereitet sein, mögliche Probleme während des Wiederherstellungsprozesses zu lösen.
Es wird empfohlen, das Runbook gründlich zu überprüfen, seine möglichen Auswirkungen zu verstehen und es in einer Nicht-Produktionsumgebung zu testen, bevor Sie es in Ihrer Produktionsumgebung ausführen.

 [Führen Sie diese Automatisierung aus (Konsole)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainEC2Instance) 

**Art des Dokuments**

Automatisierung

**Eigentümer**

Amazon

**Plattformen**

/

**Erforderliche IAM-Berechtigungen**

Der `AutomationAssumeRole` Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.
+ automatische Skalierung: CreateOrUpdateTags
+ automatische Skalierung: DeleteTags
+ automatische Skalierung: DescribeAutoScalingGroups
+ automatische Skalierung: DescribeAutoScalingInstances
+ automatische Skalierung: DescribeTags
+ automatische Skalierung: EnterStandby
+ automatische Skalierung: ExitStandby
+ automatische Skalierung: UpdateAutoScalingGroup
+ ec2: AuthorizeSecurityGroupEgress
+ ec2: AuthorizeSecurityGroupIngress
+ ec2: CopyImage
+ ec2: CreateImage
+ ec2: CreateSecurityGroup
+ ec2: CreateSnapshot
+ ec2: CreateTags
+ ec2: DeleteSecurityGroup
+ ec2: DeleteTags
+ ec2: DescribeImages
+ ec2: DescribeInstances
+ ec2: DescribeSecurityGroups
+ ec2: DescribeSnapshots
+ ec2: DescribeTags
+ ec2: ModifyNetworkInterfaceAttribute
+ ec2: RevokeSecurityGroupEgress
+ km: CreateGrant
+ km: DescribeKey
+ km: GenerateDataKeyWithoutPlaintext
+ km: ReEncryptFrom
+ km: ReEncryptTo
+ s3: CreateBucket
+ s3: DeleteObjectTagging
+ s3: GetAccountPublicAccessBlock
+ s3: GetBucketAcl
+ s3: GetBucketLocation
+ s3: GetBucketOwnershipControls
+ s3: GetBucketPolicy
+ s3: GetBucketPolicyStatus
+ s3: GetBucketPublicAccessBlock
+ s3: GetObject
+ s3: ListBucket
+ s3: PutAccountPublicAccessBlock
+ s3: PutBucketPolicy
+ s3: PutBucketVersioning
+ s3: PutObject
+ s3: PutObjectTagging

Beispiel für eine Richtlinie: 

------
#### [ JSON ]

****  

```
	{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "ReadOperations",
				"Effect": "Allow",
				"Action": [
					"autoscaling:DescribeAutoScalingGroups",
					"autoscaling:DescribeAutoScalingInstances",
					"autoscaling:DescribeTags",
					"ec2:DescribeImages",
					"ec2:DescribeInstances",
					"ec2:DescribeSecurityGroups",
					"ec2:DescribeSnapshots",
					"ec2:DescribeTags",
					"kms:DescribeKey",
					"s3:GetAccountPublicAccessBlock",
					"s3:GetBucketAcl",
					"s3:GetBucketLocation",
					"s3:GetBucketOwnershipControls",
					"s3:GetBucketPolicy",
					"s3:GetBucketPolicyStatus",
					"s3:GetBucketPublicAccessBlock",
					"s3:GetObject",
					"s3:ListBucket"
				],
				"Resource": "*"
			},
			{
				"Sid": "WriteOperations",
				"Effect": "Allow",
				"Action": [
					"autoscaling:CreateOrUpdateTags",
					"autoscaling:DeleteTags",
					"autoscaling:EnterStandby",
					"autoscaling:ExitStandby",
					"autoscaling:UpdateAutoScalingGroup",
					"ec2:AuthorizeSecurityGroupEgress",
					"ec2:AuthorizeSecurityGroupIngress",
					"ec2:CopyImage",
					"ec2:CreateImage",
					"ec2:CreateSecurityGroup",
					"ec2:CreateSnapshot",
					"ec2:CreateTags",
					"ec2:DeleteSecurityGroup",
					"ec2:DeleteTags",
					"ec2:ModifyNetworkInterfaceAttribute",
					"ec2:RevokeSecurityGroupEgress",
					"kms:CreateGrant",
					"kms:GenerateDataKeyWithoutPlaintext",
					"kms:ReEncryptFrom",
					"kms:ReEncryptTo",
					"s3:CreateBucket",
					"s3:DeleteObjectTagging",
					"s3:PutAccountPublicAccessBlock",
					"s3:PutBucketPolicy",
					"s3:PutBucketVersioning",
					"s3:PutObject",
					"s3:PutObjectTagging"
				],
				"Resource": "*"
			}
		]
	}
```

------

 **Anweisungen** 

Gehen Sie wie folgt vor, um die Automatisierung zu konfigurieren:

1. Navigieren Sie [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainEC2Instance/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainEC2Instance/description)im Systems Manager unter Dokumente zu.

1. Wählen Sie **Execute automation (Automatisierung ausführen)**.

1. Geben Sie für die Eingabeparameter Folgendes ein:
   + **AutomationAssumeRole (Fakultativ):**
     + Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der AWS 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.
     + Typ: `AWS::IAM::Role::Arn`
   + **Aktion (erforderlich):**
     + Beschreibung: (Erforderlich) Wählen Sie `Contain` diese Option, um die Amazon EC2 EC2-Instance zu isolieren oder `Restore` zu versuchen, die ursprüngliche Konfiguration der Amazon EC2 EC2-Instance-Konfiguration aus einem früheren Backup wiederherzustellen.
     + Typ: Zeichenfolge
     + Zulässiges Muster: `Contain|Restore`
   + **DryRun (Fakultativ):**
     + Beschreibung: (Optional) Wenn diese Option auf gesetzt ist`true`, führt die Automatisierung keinen der Befehle aus, sondern berichtet stattdessen, was sie versucht hätte, und beschreibt jeden Schritt detailliert. Standardwert: `true`.
     + Typ: Boolescher Wert
     + Zulässige Werte: `true|false`
   + **Erstellen AMIBackup (optional):**
     + Beschreibung: (Optional) Wenn diese Option auf gesetzt ist`true`, wird eine AMI der Amazon EC2 EC2-Instances erstellt, bevor die Containment-Aktionen ausgeführt werden.
     + Typ: Boolescher Wert
     + Zulässige Werte: `true|false`
   + **KmsKey (Fakultativ):**
     + Beschreibung: (Optional) Die ID des AWS KMS Schlüssels, der verwendet wird, um eine verschlüsselte AMI Amazon EC2 EC2-Zielinstanz zu erstellen. Die Standardeinstellung ist auf gesetzt. `alias/aws/ebs`
     + Typ: Zeichenfolge
     + Zulässiges Muster: `^(((arn:(aws|aws-cn|aws-us-gov):kms:([a-z]{2}|[a-z]{2}-gov)-[a-z]+-[0-9]{1}:[0-9]{12}:key/)?([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|mrk-[a-f0-9]{32}))|(arn:(aws|aws-cn|aws-us-gov):kms:([a-z]{2}|[a-z]{2}-gov)-[a-z]+-[0-9]{1}:[0-9]{12}:)?alias/.{1,})$`
   + **Backups 3 BucketName (bedingt):**
     + Beschreibung: (Bedingt) Amazon Amazon S3 S3-Bucket, um die Konfiguration hochzuladen, wenn sie `Action` ist, `Contain` oder um die Konfiguration wiederherzustellen, wenn sie `Action` ist`Release`. **Hinweis:** Wenn der angegebene Bucket nicht im Konto vorhanden ist, erstellt die Automatisierung in Ihrem Namen einen Amazon S3 S3-Bucket.
     + Typ: `AWS::S3::Bucket::Name`
   + **TagIdentifier (Optional):**
     + Beschreibung: (Optional) Ein Tag in dem Format`Key=BatchId,Value=78925`, das den AWS Ressourcen hinzugefügt wird, die von diesem Runbook während des Containment-Workflows erstellt oder geändert wurden. Dieses Tag kann verwendet werden, um Ressourcen zu identifizieren und zu verwalten, die während des Containment-Prozesses verknüpft wurden. Während des Wiederherstellungs-Workflows wird das durch diesen Parameter angegebene Tag aus den Ressourcen entfernt. **Hinweis:** Bei Tag-Schlüsseln und -Werten wird zwischen Groß- und Kleinschreibung unterschieden.
     + Typ: Zeichenfolge
     + Zulässiges Muster: `^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$`
   + **Backups 3 BucketAccess (bedingt):**
     + Beschreibung: (Bedingt) Der ARN der IAM-Benutzer oder -Rollen, denen nach der Ausführung der Containment-Aktionen Zugriff auf den Amazon S3 S3-Backup-Backup gewährt wird. Dieser Parameter ist erforderlich, wenn er `Action` ist. `Contain` Der oder in dessen Abwesenheit der Benutzer`AutomationAssumeRole`, in dessen Kontext die Automatisierung ausgeführt wird, wird automatisch zur Liste hinzugefügt.
     + Typ: Zeichenfolge
     + Zulässiges Muster: `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **IngressTrafficRules (Fakultativ):**
     + Beschreibung: (Optional) Eine durch Kommas getrennte Zuordnung von Sicherheitsgruppeneingangsregeln mit Cidr,, FromPort und ToPort in dem Format IpProtocol, das auf die Amazon EC2 EC2-Instance angewendet werden `[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]` soll. Wenn keine Regeln angegeben werden, wird eine Sicherheitsgruppe ohne Eingangsregeln an die Amazon EC2 EC2-Instance angehängt, wodurch sie effektiv von eingehendem Datenverkehr isoliert wird.
     + Typ: MapList
     + Zulässiges Muster: `^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}`
   + **EgressTrafficRules (Fakultativ):**
     + Beschreibung: (Optional) Eine durch Kommas getrennte Zuordnung von Sicherheitsgruppenausgangsregeln mit Cidr,, FromPort und ToPort in dem Format IpProtocol, das auf die Amazon Amazon `[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]` EC2 EC2-Instance angewendet werden soll. Wenn keine Regeln angegeben werden, wird eine Sicherheitsgruppe ohne Ausgangsregeln an die Amazon EC2 EC2-Instance angehängt, wodurch der gesamte ausgehende Datenverkehr effektiv verhindert wird.
     + Typ: MapList
     + Zulässiges Muster: `^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}`
   + **Backups 3 KeyName (optional):**
     + Beschreibung: (Optional) Wenn auf gesetzt `Action` ist`Restore`, gibt dies den Amazon S3 S3-Schlüssel an, mit dem die Automatisierung versucht, die Amazon EC2 EC2-Zielinstanzkonfiguration wiederherzustellen. Der Amazon S3 S3-Schlüssel folgt normalerweise diesem Format:`{year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.json`. Der Schlüssel kann aus der Ausgabe einer früheren Ausführung der Containment-Automatisierung abgerufen werden.
     + Typ: Zeichenfolge
     + Zulässiges Muster: `^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$`

1. Wählen Sie Ausführen aus.

1. Die Automatisierung wird initiiert.

1. Das Dokument führt die folgenden Schritte aus:
   + **ValidateRequiredInputs**

     Überprüft, ob alle erforderlichen Eingaben bereitgestellt wurden.
   + **AssertInstanceIsNotTerminated**

     Prüft, ob die Amazon EC2 EC2-Zielinstanz nicht beendet (gelöscht) ist.
   + **GetAutoScalingInstanceInfo**

     Ruft den Amazon EC2 EC2-Instance-Lebenszyklus und den Gruppennamen ab, wenn die Amazon EC2 EC2-Ziel-Instance Teil einer Auto Scaling Scaling-Gruppe ist.
   + **CheckBackupS3BucketName**

     Prüft, ob der Amazon S3 S3-Ziel-Bucket möglicherweise `write` öffentlichen Zugriff auf seine Objekte gewährt`read`. Ein neuer Amazon S3 S3-Bucket wird erstellt, falls der `BackupS3BucketName` Bucket nicht existiert.
   + **BranchOnActionAndMode**

     Verzweigt die Automatisierung auf der Grundlage der Eingabeparameter `Action` und`DryRun`.
   + **BranchOnAutoScalingGroupMembership**

     Verzweigt die Automatisierung auf der Grundlage, ob die Amazon EC2 EC2-Zielinstanz Teil der Auto Scaling Scaling-Gruppe ist und welchen Lebenszyklusstatus sie hat.
   + **DescribeAutoScalingGroups**

     Ruft die zugehörige Amazon EC2 Auto Scaling Scaling-Gruppenkonfiguration ab und speichert sie.
   + **ModifyAutoScalingGroup**

     Ändert die zugehörige Amazon EC2 Auto Scaling Scaling-Gruppenkonfiguration für die Containment-Aktionen, setzt die Amazon EC2 EC2-Instance auf den `Standby` Status und passt die Auto Scaling Scaling-Gruppenkapazität an. `MinSize`
   + **BackupInstanceSecurityGroups**

     Ruft die Konfiguration der Amazon EC2 EC2-Instance-Zielsicherheitsgruppen ab und speichert sie.
   + **CreateAllAccessSecurityGroup**

     Erstellt eine temporäre Sicherheitsgruppe, die den gesamten eingehenden Datenverkehr zulässt und die Sicherheitsgruppen der Amazon EC2 EC2-Zielinstanz ersetzt.
   + **CreateContainmentSecurityGroup**

     Erstellt eine restriktive Sicherheitsgruppe mit den angegebenen Eingangs- und Ausgangsregeln und ersetzt die temporäre All-Access-Gruppe durch diese.
   + **BranchOnCreateAMIBackup**

     Verzweigt die Automatisierung auf der Grundlage des Eingabeparameters. `CreateAMIBackup`
   + **AssertSourceInstanceRootVolumeIsEbs**

     Überprüft, ob es sich bei dem Stammvolume der Amazon EC2 EC2-Instance um Amazon EBS handelt.
   + **CreateImage**

     Erstellt eine AMI der Amazon EC2 EC2-Zielinstanzen.
   + **RestoreInstanceConfiguration**

     Stellt die Amazon EC2 EC2-Instance-Zielkonfiguration aus dem Backup wieder her.
   + **ReportContain**

     Gibt Testlaufdetails für die Eindämmungsmaßnahmen aus.
   + **ReportRestore**

     Gibt Details zum Probelauf für die Wiederherstellungsmaßnahmen aus.
   + **ReportRestoreFailure**

     Enthält Anweisungen zum Wiederherstellen der ursprünglichen Konfiguration der Amazon EC2 EC2-Zielinstanz während eines Ausfallszenarios für den Wiederherstellungs-Workflow.
   + **ReportContainmentFailure**

     Enthält Anweisungen zum Wiederherstellen der ursprünglichen Konfiguration der Amazon EC2 EC2-Zielinstanz während eines Ausfallszenarios für den Containment-Workflow.
   + **FinalOutput**

     Gibt die Details der Eindämmungsmaßnahmen aus.

1. Nach Abschluss der Ausführung finden Sie im Abschnitt Ausgaben die detaillierten Ergebnisse der Ausführung:
   + **FinalOutput. Ausgabe**

     Gibt die Details der von diesem Runbook ausgeführten Containment-Aktionen aus, wenn diese Option auf False gesetzt `DryRun` ist.
   + **RestoreInstanceConfiguration. Ausgabe**

     Gibt die von diesem Runbook ausgeführten Wiederherstellungsaktionen aus, wenn der Wert auf `DryRun` False gesetzt ist.
   + **ReportContain. Ausgabe**

     Gibt die Details der von diesem Runbook ausgeführten Containment-Aktionen aus, wenn diese Option auf True gesetzt `DryRun` ist.
   + **ReportRestore.Ausgabe**

     Gibt die Details der von diesem Runbook ausgeführten Wiederherstellungsaktionen aus, wenn der Wert auf `DryRun` True gesetzt ist.
   + **ReportContainmentFailure.Ausgabe**

     Enthält Anweisungen zum Wiederherstellen der ursprünglichen Konfiguration der Amazon EC2 EC2-Zielinstanz während eines Ausfallszenarios für den Containment-Workflow.
   + **ReportRestoreFailure. Ausgabe**

     Enthält Anweisungen zum Wiederherstellen der ursprünglichen Konfiguration der Amazon EC2 EC2-Zielinstanz während eines Ausfallszenarios für den Wiederherstellungs-Workflow.

 **Referenzen** 

Systems Manager Automation
+ [Führen Sie diese Automatisierung aus (Konsole)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainEC2Instance)
+ [Ausführen einer einfachen Automatisierung](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Automatisierung einrichten](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support Sie Automatisierungs-Workflows](https://aws.amazon.com/premiumsupport/technology/saw/)