Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWSSupport-ContainEC2Instance
Descrizione
Il AWSSupport-ContainEC2Instance
runbook fornisce una soluzione automatizzata per la procedura descritta nell'articolo How do I isolate the Amazon EC2 Instance di fronte a un'istanza potenzialmente compromessa
Come funziona?
Questo runbook di automazione AWSSupport-ContainEC2Instance
esegue il contenimento di rete di un' EC2 istanza Amazon attraverso una serie di passaggi coordinati. Quando viene eseguito in Contain
modalità, convalida innanzitutto i parametri di input e verifica se l'istanza non è terminata. Quindi esegue il backup della configurazione corrente del gruppo di sicurezza in un bucket Amazon S3 per un successivo ripristino. Il runbook crea due gruppi di sicurezza: un gruppo di sicurezza temporaneo «all access» e un gruppo di sicurezza finale «di contenimento». Passa gradualmente le interfacce di rete dell'istanza dai gruppi di sicurezza originali al gruppo di sicurezza con accesso illimitato e infine al gruppo di sicurezza di contenimento. Se specificato, crea sia dati non crittografati che crittografati AMI backup dell'istanza. Per le istanze in un gruppo Auto Scaling, gestisce le modifiche necessarie al gruppo Auto Scaling e porta l'istanza in stato di standby. Quando viene eseguito in Release
modalità, ripristina l'istanza alla configurazione di rete originale utilizzando le impostazioni di backup di Amazon S3. Il runbook supporta un DryRun
parametro per visualizzare in anteprima le azioni senza apportare modifiche effettive e include meccanismi completi di gestione e segnalazione degli errori in tutti i flussi di lavoro di contenimento e rilascio.
Importante
-
Questo runbook esegue diverse operazioni che richiedono privilegi elevati, come la modifica dei gruppi di sicurezza, la creazione AMIs e interazione con i gruppi di Auto Scaling. Queste azioni potrebbero potenzialmente portare a un aumento dei privilegi o influire su altri carichi di lavoro del tuo account. È necessario esaminare le autorizzazioni concesse al ruolo specificato dal
AutomationAssumeRole
parametro e assicurarsi che siano appropriate per il caso d'uso previsto. Puoi fare riferimento alla seguente AWS documentazione per ulteriori informazioni sulle autorizzazioni IAM:.AWS Identity and Access Management (IAM) Permissions
AWS Systems Manager Automation Permissions
-
Questo runbook esegue azioni mutative che potrebbero potenzialmente causare indisponibilità o interruzione dei carichi di lavoro. In particolare, modifica i gruppi di sicurezza associati all' EC2 istanza Amazon di destinazione, il che potrebbe influire sulla connettività di rete. Inoltre, se l'istanza fa parte di un gruppo Auto Scaling, il runbook può modificare la configurazione del gruppo, influendo potenzialmente sul suo comportamento di scalabilità.
-
Durante il processo di contenimento, questo runbook crea risorse aggiuntive, come gruppi di sicurezza e AMIs. Sebbene queste risorse siano contrassegnate per l'identificazione, è necessario essere consapevoli della loro creazione e garantire una corretta pulizia o gestione dopo il completamento del processo di contenimento.
-
Se il
Action
parametro è impostato suRelease
, questo runbook tenta di ripristinare la configurazione dell' EC2 istanza Amazon allo stato originale. Tuttavia, esiste il rischio che il processo di ripristino non riesca, lasciando l'istanza in uno stato incoerente. Il runbook fornisce istruzioni per il ripristino manuale in caso di tali errori, ma è necessario essere preparati a gestire potenziali problemi durante il processo di ripristino.
Si consiglia di esaminare attentamente il runbook, comprenderne i potenziali impatti e testarlo in un ambiente non di produzione prima di eseguirlo nell'ambiente di produzione.
Esegui questa automazione (console)
Tipo di documento
Automazione
Proprietario
Amazon
Piattaforme
/
Autorizzazioni IAM richieste
Il AutomationAssumeRole
parametro richiede le seguenti azioni per utilizzare correttamente il runbook.
scalabilità automatica: CreateOrUpdateTags
scalabilità automatica: DeleteTags
scalabilità automatica: DescribeAutoScalingGroups
scalabilità automatica: DescribeAutoScalingInstances
scalabilità automatica: DescribeTags
scalabilità automatica: EnterStandby
scalabilità automatica: ExitStandby
scalabilità automatica: 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
kms:CreateGrant
kms:DescribeKey
kms:GenerateDataKeyWithoutPlaintext
kms:ReEncryptFrom
kms: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
Politica di esempio:
{ "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": "*" } ] }
Istruzioni
Segui questi passaggi per configurare l'automazione:
-
Accedere
AWSSupport-ContainEC2Instance
a Systems Manager nella sezione Documenti. -
Seleziona Execute automation (Esegui automazione).
-
Per i parametri di input, immettete quanto segue:
-
AutomationAssumeRole (Facoltativo):
Descrizione: (Facoltativo) L'Amazon Resource Name (ARN) del ruolo AWS AWS Identity and Access Management (IAM) che consente a Systems Manager Automation di eseguire le azioni per tuo conto. Se non viene specificato alcun ruolo, Systems Manager Automation utilizza le autorizzazioni dell'utente che avvia questo runbook.
Tipo:
AWS::IAM::Role::Arn
-
Azione (richiesta):
Descrizione: (Obbligatorio) Seleziona se
Contain
isolare l' EC2 istanza Amazon o provareRestore
a ripristinare la configurazione originale della configurazione dell' EC2 istanza Amazon da un backup precedente.Tipo: stringa
Modello consentito:
Contain|Restore
-
DryRun (Opzionale):
Descrizione: (Facoltativo) Se impostata su
true
, l'automazione non eseguirà nessuno dei comandi, ma riporterà invece cosa avrebbe tentato di fare, dettagliando ogni passaggio. Valore predefinito:true
.Tipo: Booleano
Valori consentiti:
true|false
-
Crea AMIBackup (opzionale):
Descrizione: (Facoltativo) Se impostato su
true
, un AMI dell' EC2 istanza Amazon verrà creata prima di eseguire le azioni di contenimento.Tipo: Booleano
Valori consentiti:
true|false
-
KmsKey (Facoltativo):
Descrizione: (Facoltativo) L'ID della AWS KMS chiave che verrà utilizzata per creare un file crittografato AMI dell' EC2 istanza Amazon di destinazione. L'impostazione predefinita è impostata su
alias/aws/ebs
.Tipo: stringa
Modello consentito:
^(((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,})$
-
BackupS3 BucketName (condizionale):
Descrizione: bucket Amazon S3 (condizionale) per caricare la configurazione
Action
quandoContain
è o per ripristinare la configurazione quando lo è.Action
Release
Nota: se il bucket fornito non esiste nell'account, l'automazione creerà un bucket Amazon S3 per tuo conto.Tipo:
AWS::S3::Bucket::Name
-
TagIdentifier (Facoltativo):
Descrizione: (Facoltativo) Un tag nel formato
Key=BatchId,Value=78925
che verrà aggiunto alle AWS risorse create o modificate da questo runbook durante il flusso di lavoro di contenimento. Questo tag può essere utilizzato per identificare e gestire le risorse associate durante il processo di contenimento. Durante il flusso di lavoro di ripristino, il tag specificato da questo parametro verrà rimosso dalle risorse. Nota: le chiavi e i valori dei tag fanno distinzione tra maiuscole e minuscole.Tipo: stringa
Modello consentito:
^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$
-
BackupS3 BucketAccess (condizionale):
Descrizione: (Condizionale) L'ARN degli utenti o dei ruoli IAM a cui sarà consentito l'accesso al bucket Amazon S3 di backup dopo l'esecuzione delle azioni di contenimento. Questo parametro è obbligatorio quando è.
Action
Contain
L'utente oAutomationAssumeRole
, in sua assenza, l'utente nel cui contesto viene eseguita l'automazione viene aggiunto automaticamente all'elenco.Tipo: stringa
Modello consentito:
^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$
-
IngressTrafficRules (Opzionale):
Descrizione: (Facoltativo) Una mappa separata da virgole delle regole di ingresso dei gruppi di sicurezza con Cidr FromPort e ToPort nel formato
[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]
da applicare all'istanza Amazon EC2 . IpProtocol Se non viene fornita alcuna regola, all' EC2 istanza Amazon verrà associato un gruppo di sicurezza senza regole di ingresso, isolandola efficacemente dal traffico in entrata.Tipo: MapList
Modello consentito:
^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}
-
EgressTrafficRules (Opzionale):
Descrizione: (Facoltativo) Una mappa separata da virgole delle regole di uscita dei gruppi di sicurezza con Cidr FromPort e ToPort nel formato
[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]
da applicare all'istanza Amazon Amazon EC2 . IpProtocol Se non viene fornita alcuna regola, all' EC2 istanza Amazon verrà associato un gruppo di sicurezza senza regole di uscita, impedendo efficacemente tutto il traffico in uscita.Tipo: MapList
Modello consentito:
^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}
-
Backup S3 KeyName (opzionale):
Descrizione: (Facoltativo) Se
Action
impostato suRestore
, specifica la chiave Amazon S3 che l'automazione utilizzerà per tentare di ripristinare la configurazione dell'istanza EC2 Amazon di destinazione. La chiave Amazon S3 segue in genere questo formato:.{year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.json
La chiave può essere ottenuta dall'output di una precedente esecuzione di automazione del contenimento.Tipo: stringa
Modello consentito:
^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$
-
-
Seleziona Esegui.
-
L'automazione viene avviata.
-
Il documento esegue le seguenti operazioni:
-
ValidateRequiredInputs
Verifica che siano stati forniti tutti gli input richiesti.
-
AssertInstanceIsNotTerminated
Verifica se l' EC2 istanza Amazon di destinazione non è terminata (eliminata).
-
GetAutoScalingInstanceInfo
Ottiene il ciclo di vita dell' EC2 istanza Amazon e il nome del gruppo se l' EC2 istanza Amazon di destinazione fa parte di un gruppo Auto Scaling.
-
CheckBackupS3BucketName
Verifica se il bucket Amazon S3 di destinazione concede
read
potenzialmente l'accessowrite
pubblico ai suoi oggetti. Se il bucket non esiste, viene creato un nuovo bucket Amazon S3BackupS3BucketName
. -
BranchOnActionAndMode
Suddivide l'automazione in base ai parametri di input e.
Action
DryRun
-
BranchOnAutoScalingGroupMembership
Suddivide l'automazione in base al fatto che l' EC2 istanza Amazon di destinazione faccia parte del gruppo Auto Scaling e al relativo stato del ciclo di vita.
-
DescribeAutoScalingGroups
Ottiene e archivia la configurazione del gruppo Amazon EC2 Auto Scaling associata.
-
ModifyAutoScalingGroup
Modifica la configurazione del gruppo Amazon EC2 Auto Scaling associato per le azioni di contenimento, impostando l'istanza EC2 Amazon sullo stato e regolando
Standby
la capacità del gruppo Auto Scaling.MinSize
-
BackupInstanceSecurityGroups
Ottiene e archivia la configurazione dei gruppi di sicurezza Amazon EC2 Instance di destinazione.
-
CreateAllAccessSecurityGroup
Crea un gruppo di sicurezza temporaneo che consente tutto il traffico in ingresso che sostituisce i gruppi di sicurezza di Amazon EC2 Instance di destinazione.
-
CreateContainmentSecurityGroup
Crea un gruppo di sicurezza di contenimento restrittivo con le regole di ingresso e uscita specificate e sostituisce il gruppo temporaneo ad accesso completo con tale gruppo.
-
BranchOnCreateAMIBackup
Suddivide l'automazione in base al parametro di input.
CreateAMIBackup
-
AssertSourceInstanceRootVolumeIsEbs
Verifica se il volume root di Amazon EC2 Instance di destinazione è Amazon EBS.
-
CreateImage
Crea un AMI dell' EC2 istanza Amazon di destinazione.
-
RestoreInstanceConfiguration
Ripristina la configurazione Amazon EC2 Instance di destinazione dal backup.
-
ReportContain
Fornisce i dettagli del dry run per le azioni di contenimento.
-
ReportRestore
Fornisce i dettagli del funzionamento a secco per le azioni di ripristino.
-
ReportRestoreFailure
Fornisce istruzioni per ripristinare la configurazione originale di Amazon EC2 Instance di destinazione durante uno scenario di errore del flusso di lavoro di ripristino.
-
ReportContainmentFailure
Fornisce istruzioni per ripristinare la configurazione originale di Amazon EC2 Instance di destinazione durante uno scenario di errore del flusso di lavoro di contenimento.
-
FinalOutput
Fornisce i dettagli delle azioni di contenimento.
-
-
Una volta completata l'esecuzione, consulta la sezione Output per i risultati dettagliati dell'esecuzione:
-
FinalOutput.Output
Restituisce i dettagli delle azioni di contenimento eseguite da questo runbook quando
DryRun
è impostato su False. -
RestoreInstanceConfiguration.Output
Emette le azioni di ripristino eseguite da questo runbook quando
DryRun
è impostato su False. -
ReportContain.Output
Restituisce i dettagli delle azioni di contenimento eseguite da questo runbook quando
DryRun
è impostato su True. -
ReportRestore.Output
Restituisce i dettagli delle azioni di ripristino eseguite da questo runbook quando
DryRun
è impostato su True. -
ReportContainmentFailure.Output
Fornisce istruzioni per ripristinare la configurazione originale di Amazon EC2 Instance di destinazione durante uno scenario di errore del flusso di lavoro di contenimento.
-
ReportRestoreFailure.Output
Fornisce istruzioni per ripristinare la configurazione originale di Amazon EC2 Instance di destinazione durante uno scenario di errore del flusso di lavoro di ripristino.
-
Riferimenti
Systems Manager Automation