

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# `AWSSupport-ContainEC2Instance`
<a name="automation-awssupport-containec2instance"></a>

 **Descrição** 

O `AWSSupport-ContainEC2Instance` runbook fornece uma solução automatizada para o procedimento descrito no artigo [Como faço para isolar a instância do Amazon EC2 ao me deparar com uma instância potencialmente comprometida](https://repost.aws/articles/ARwkDzoO-8RN-SDQnA1aX-XA) ou suspeita? A automação se ramifica dependendo dos valores que você especificar.

 **Como funciona?** 

Este runbook de automação `AWSSupport-ContainEC2Instance` realiza a contenção de rede de uma instância do Amazon EC2 por meio de uma série de etapas coordenadas. Quando executado no `Contain` modo, ele primeiro valida os parâmetros de entrada e verifica se a instância não foi encerrada. Em seguida, ele faz backup da configuração atual do grupo de segurança em um bucket do Amazon S3 para restauração posterior. O runbook cria dois grupos de segurança: um grupo de segurança temporário de “acesso total” e um grupo de segurança final de “contenção”. Ele gradualmente faz a transição das interfaces de rede da instância de seus grupos de segurança originais para o grupo de segurança de acesso total e, finalmente, para o grupo de segurança de contenção. Se especificado, ele cria AMI backups não criptografados e criptografados da instância. Para instâncias em um grupo de Auto Scaling, ele processa as modificações necessárias do grupo de Auto Scaling e coloca a instância no estado de espera. Quando executado no `Release` modo, ele restaura a instância em sua configuração de rede original usando as configurações de backup do Amazon S3. O runbook oferece suporte a um `DryRun` parâmetro para visualizar ações sem fazer alterações reais e inclui mecanismos abrangentes de tratamento e geração de relatórios de erros em todos os fluxos de trabalho de contenção e liberação.

**Importante**  
Esse runbook executa várias operações que exigem privilégios elevados, como modificar grupos de segurança, criar AMI s e interagir com grupos do Auto Scaling. Essas ações podem potencialmente levar ao aumento de privilégios ou afetar outras cargas de trabalho em sua conta. Você deve analisar as permissões concedidas à função especificada pelo `AutomationAssumeRole` parâmetro e garantir que elas sejam apropriadas para o caso de uso pretendido. Você pode consultar a AWS documentação a seguir para obter mais informações sobre as permissões do IAM: [https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html).
Esse runbook executa ações mutativas que podem causar indisponibilidade ou interrupção em suas cargas de trabalho. Especificamente, ele modifica os grupos de segurança associados à instância de destino do Amazon EC2, o que pode afetar a conectividade da rede. Além disso, se a instância fizer parte de um grupo de Auto Scaling, o runbook poderá modificar a configuração do grupo, afetando potencialmente seu comportamento de escalabilidade.
Durante o processo de contenção, esse runbook cria recursos adicionais, como grupos de segurança e s. AMI Embora esses recursos estejam marcados para identificação, você deve estar ciente de sua criação e garantir a limpeza ou o gerenciamento adequados após a conclusão do processo de contenção.
Se o `Action` parâmetro estiver definido como`Release`, esse runbook tentará restaurar a configuração da instância do Amazon EC2 ao seu estado original. No entanto, existe o risco de que o processo de restauração falhe, deixando a instância em um estado inconsistente. O runbook fornece instruções para restauração manual em caso de falhas desse tipo, mas você deve estar preparado para lidar com possíveis problemas durante o processo de restauração.
É recomendável revisar o runbook minuciosamente, entender seus possíveis impactos e testá-lo em um ambiente que não seja de produção antes de executá-lo em seu ambiente de produção.

 [Executar esta automação (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainEC2Instance) 

**Tipo de documento**

Automação

**Proprietário**

Amazon

**Plataformas**

/

**Permissões obrigatórias do IAM**

O parâmetro `AutomationAssumeRole` requer as seguintes ações para usar o runbook com êxito.
+ escalonamento automático: CreateOrUpdateTags
+ escalonamento automático: DeleteTags
+ escalonamento automático: DescribeAutoScalingGroups
+ escalonamento automático: DescribeAutoScalingInstances
+ escalonamento automático: DescribeTags
+ escalonamento automático: EnterStandby
+ escalonamento automático: ExitStandby
+ escalonamento automático: 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

Exemplo de política: 

------
#### [ 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": "*"
			}
		]
	}
```

------

 **Instruções** 

Siga estas etapas para configurar a automação:

1. Navegue até [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainEC2Instance/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainEC2Instance/description)em Systems Manager em Documentos.

1. Selecione **Execute automation (Executar automação)**.

1. Para os parâmetros de entrada, insira o seguinte:
   + **AutomationAssumeRole (Opcional):**
     + Descrição: (opcional) o nome do recurso da Amazon (ARN) do perfil do AWS AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation realize ações em seu nome. Se nenhuma função for especificada, o Systems Manager Automation usa as permissões do usuário que inicia esse runbook.
     + Tipo: `AWS::IAM::Role::Arn`
   + **Ação (obrigatória):**
     + Descrição: (Obrigatório) Selecione `Contain` para isolar a instância do Amazon EC2 `Restore` ou tentar restaurar a configuração original da instância do Amazon EC2 a partir de um backup anterior.
     + Tipo: string
     + Allowed-pattern: `Contain|Restore`
   + **DryRun (Opcional):**
     + Descrição: (Opcional) Quando definida como`true`, a automação não executará nenhum dos comandos; em vez disso, relatará o que teria tentado fazer, detalhando cada etapa. Valor padrão: `true`.
     + Tipo: booliano
     + Valores permitidos: `true|false`
   + **Criar AMIBackup (opcional):**
     + Descrição: (Opcional) Quando definido como`true`, uma instância AMI do Amazon EC2 será criada antes de realizar as ações de contenção.
     + Tipo: booliano
     + Valores permitidos: `true|false`
   + **KmsKey (Opcional):**
     + Descrição: (Opcional) O ID da AWS KMS chave que será usada para criar uma instância criptografada AMI do Amazon EC2 de destino. O padrão está definido como`alias/aws/ebs`.
     + Tipo: string
     + Allowed-pattern: `^(((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 (condicionais):**
     + Descrição: bucket (condicional) do Amazon Amazon S3 para carregar a configuração `Action` quando `Contain` estiver ou para restaurar a configuração `Action` quando estiver. `Release` **Nota:** Se o bucket fornecido não existir na conta, a automação criará um bucket do Amazon S3 em seu nome.
     + Tipo: `AWS::S3::Bucket::Name`
   + **TagIdentifier (Opcional):**
     + Descrição: (Opcional) Uma tag no formato `Key=BatchId,Value=78925` que será adicionada aos AWS recursos criados ou modificados por esse runbook durante o fluxo de trabalho de contenção. Essa tag pode ser usada para identificar e gerenciar recursos associados durante o processo de contenção. Durante o fluxo de trabalho de restauração, a tag especificada por esse parâmetro será removida dos recursos. **Observação:** as chaves e os valores das tags diferenciam maiúsculas de minúsculas.
     + Tipo: string
     + Allowed-pattern: `^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$`
   + **Backups 3 BucketAccess (condicionais):**
     + Descrição: (Condicional) O ARN dos usuários ou funções do IAM que terão acesso ao bucket de backup do Amazon S3 após a execução das ações de contenção. Esse parâmetro é necessário quando `Action` é`Contain`. O`AutomationAssumeRole`, ou, na sua ausência, o usuário sob cujo contexto a automação está sendo executada é automaticamente adicionado à lista.
     + Tipo: string
     + Allowed-pattern: `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **IngressTrafficRules (Opcional):**
     + Descrição: (Opcional) Um mapa separado por vírgulas das regras de entrada do grupo de segurança com Cidr, IpProtocol, FromPort e ToPort no formato a ser aplicado `[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]` à instância do Amazon EC2. Se nenhuma regra for fornecida, um grupo de segurança sem nenhuma regra de entrada será anexado à instância do Amazon EC2, isolando-a efetivamente de qualquer tráfego de entrada.
     + Tipo: MapList
     + Allowed-pattern: `^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}`
   + **EgressTrafficRules (Opcional):**
     + Descrição: (Opcional) Um mapa separado por vírgulas das regras de saída do grupo de segurança com Cidr, IpProtocol, FromPort e ToPort no formato a ser aplicado `[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]` à instância do Amazon Amazon EC2. Se nenhuma regra for fornecida, um grupo de segurança sem nenhuma regra de saída será anexado à instância do Amazon EC2, impedindo efetivamente todo o tráfego de saída.
     + Tipo: MapList
     + Allowed-pattern: `^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}`
   + **BackupS3 KeyName (opcional):**
     + Descrição: (Opcional) Se `Action` estiver definido como`Restore`, isso especifica a chave do Amazon S3 que a automação usará para tentar restaurar a configuração da instância de destino do Amazon EC2. A chave Amazon S3 normalmente segue este formato:. `{year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.json` A chave pode ser obtida da saída de uma execução anterior de automação de contenção.
     + Tipo: string
     + Allowed-pattern: `^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$`

1. Selecione Executar.

1. A automação é iniciada.

1. O bucket realiza as seguintes etapas:
   + **ValidateRequiredInputs**

     Valida se todas as entradas necessárias foram fornecidas.
   + **AssertInstanceIsNotTerminated**

     Verifica se a instância do Amazon EC2 de destino não está encerrada (excluída).
   + **GetAutoScalingInstanceInfo**

     Obtém o ciclo de vida da instância do Amazon EC2 e o nome do grupo se a instância do Amazon EC2 de destino fizer parte de um grupo do Auto Scaling.
   + **CheckBackupS3BucketName**

     Verifica se o bucket do Amazon S3 de destino potencialmente `read` concede acesso `write` público a seus objetos. Um novo bucket do Amazon S3 é criado se o `BackupS3BucketName` bucket não existir.
   + **BranchOnActionAndMode**

     Ramifica a automação com base nos parâmetros de entrada `Action` `DryRun` e.
   + **BranchOnAutoScalingGroupMembership**

     Ramifica a automação com base no fato de a instância do Amazon EC2 de destino fazer parte do grupo Auto Scaling e em seu estado de ciclo de vida.
   + **DescribeAutoScalingGroups**

     Obtém e armazena a configuração de grupo associada do Amazon EC2 Auto Scaling.
   + **ModifyAutoScalingGroup**

     Modifica a configuração do grupo associado do Amazon EC2 Auto Scaling para as ações de contenção, definindo a instância do Amazon EC2 para o estado `Standby` e ajustando a capacidade do grupo Auto Scaling. `MinSize`
   + **BackupInstanceSecurityGroups**

     Obtém e armazena a configuração dos grupos de segurança de instâncias do Amazon EC2 de destino.
   + **CreateAllAccessSecurityGroup**

     Cria um grupo de segurança temporário que permite todo o tráfego de entrada que substitui os grupos de segurança da instância de destino do Amazon EC2.
   + **CreateContainmentSecurityGroup**

     Cria um grupo restritivo de segurança de contenção com as regras de entrada e saída especificadas e substitui o grupo temporário de acesso total por ele.
   + **BranchOnCreateAMIBackup**

     Ramifica a automação com base no parâmetro `CreateAMIBackup` de entrada.
   + **AssertSourceInstanceRootVolumeIsEbs**

     Verifica se o volume raiz da Instância Amazon EC2 de destino é o Amazon EBS.
   + **CreateImage**

     Cria uma AMI das instâncias do Amazon EC2 de destino.
   + **RestoreInstanceConfiguration**

     Restaura a configuração da Instância Amazon EC2 de destino a partir do backup.
   + **ReportContain**

     Produz detalhes de funcionamento a seco para as ações de contenção.
   + **ReportRestore**

     Produz detalhes de funcionamento a seco para as ações de restauração.
   + **ReportRestoreFailure**

     Fornece instruções para restaurar a configuração original da Instância Amazon EC2 de destino durante um cenário de falha no fluxo de trabalho de restauração.
   + **ReportContainmentFailure**

     Fornece instruções para restaurar a configuração original da Instância Amazon EC2 de destino durante um cenário de falha no fluxo de trabalho de contenção.
   + **FinalOutput**

     Produz os detalhes das ações de contenção.

1. Após a conclusão da execução, revise a seção Saídas para obter os resultados detalhados da execução:
   + **FinalOutput.Saída**

     Exibe os detalhes das ações de contenção realizadas por esse runbook quando `DryRun` está definido como False.
   + **RestoreInstanceConfiguration.Saída**

     Exibe as ações de restauração executadas por esse runbook quando `DryRun` está definido como False.
   + **ReportContain.Saída**

     Exibe os detalhes das ações de contenção realizadas por esse runbook quando `DryRun` está definido como True.
   + **ReportRestore.Saída**

     Exibe os detalhes das ações de restauração executadas por esse runbook quando `DryRun` está definido como True.
   + **ReportContainmentFailure.Saída**

     Fornece instruções para restaurar a configuração original da Instância Amazon EC2 de destino durante um cenário de falha no fluxo de trabalho de contenção.
   + **ReportRestoreFailure.Saída**

     Fornece instruções para restaurar a configuração original da Instância Amazon EC2 de destino durante um cenário de falha no fluxo de trabalho de restauração.

 **Referências** 

Automação do Systems Manager
+ [Execute esta automação (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainEC2Instance)
+ [Executar uma automação simples](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Configurando a automação](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Fluxos de trabalho de automação de suporte](https://aws.amazon.com/premiumsupport/technology/saw/)