

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

 **Descrição** 

 `AWSSupport-SetupIPMonitoringFromVPC` cria uma instância do Amazon Elastic Compute Cloud (Amazon EC2) na sub-rede especificada e monitora os IPs de destino selecionados (IPv4 ou IPv6) executando continuamente testes de ping, MTR, traceroute e tracetcp. Os resultados são armazenados nos CloudWatch registros do Amazon Logs e filtros métricos são aplicados para visualizar rapidamente as estatísticas de latência e perda de pacotes em um painel. CloudWatch 

 **Informações adicionais** 

Os dados de CloudWatch registros podem ser usados para solução de problemas de rede e análise de pattern/trends. Além disso, você pode configurar CloudWatch alarmes com notificações do Amazon SNS quando a latência da and/or perda de pacotes atingir um limite. Os dados também podem ser usados ao abrir um caso com AWS Support, para ajudar a isolar um problema rapidamente e reduzir o tempo de resolução ao investigar um problema de rede.

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

**Tipo de documento**

Automação

**Proprietário**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parâmetros**
+ AutomationAssumeRole

  Tipo: String

  Descrição: (opcional) o nome do recurso da Amazon (ARN) do perfil do AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation realize ações em seu nome. Se nenhum perfil for especificado, o Systems Manager Automation usa as permissões do usuário que inicia este runbook.
+ CloudWatchLogGroupNamePrefix

  Tipo: string

   Padrão: `/AWSSupport-SetupIPMonitoringFromVPC` 

  Descrição: (Opcional) Prefixo usado para cada grupo de CloudWatch registros criado para os resultados do teste.
+ CloudWatchLogGroupRetentionInDays

  Tipo: string

  Valores válidos: 1 \| 3 \| 5 \| 7 \| 14 \| 30 \| 60 \| 90 \| 120 \| 150 \| 180 \| 365 \| 400 \| 545 \| 731 \| 1827 \| 3653

  Padrão: 7

  Descrição: (Opcional) O número de dias que você deseja manter os resultados de monitoramento de rede.
+ InstanceType

  Tipo: string

  Valores válidos: t2.micro \| t2.small \| t2.medium \| t2.large \| t3.micro \| t3.small \| t3.medium \| t3.large \| t4g.micro \| t4g.small \| t4g.medium \| t4g.large

  Padrão: t3.micro

  Descrição: (Opcional) O tipo de instância do EC2 para a instância EC2Rescue. Tamanho recomendado: t3.micro.
+ SubnetId

  Tipo: string

  Descrição: (Obrigatório) O ID de sub-rede para a instância do monitor. Lembre-se de que, se você especificar uma sub-rede privada, deverá garantir que haja acesso à Internet para permitir que a instância do monitor configure o teste (ou seja, instale o agente CloudWatch Logs, interaja com o Systems Manager e CloudWatch).
+ TargetIPs

  Tipo: string

  Descrição: (Obrigatório) Lista separada por vírgula de IPv4s IPv6s and/or a serem monitorados. Espaços não são permitidos. O tamanho máximo é de 255 caracteres. Lembre-se de que, se você fornecer um IP inválido, a automação falhará e reverterá a configuração de teste.
+ TestInstanceSecurityGroupId

  Tipo: string

  Descrição: (Opcional) O ID do grupo de segurança da instância de teste. Se não for especificada, a automação cria uma durante a criação da instância. Certifique-se de que o grupo de segurança permita acesso externo aos IPs de monitoramento.
+ TestInstanceProfileName

  Tipo: string

  Descrição: (Opcional) O nome de um perfil de instância do IAM existente para a instância de teste. Se não for especificada, a automação cria uma durante a criação da instância. A função deve ter as seguintes permissões:`logs:CreateLogStream`,`logs:DescribeLogGroups`,`logs:DescribeLogStreams`, `logs:PutLogEvents` e a Política AWS Gerenciada`AmazonSSMManagedInstanceCore`.
+ TestInterval

  Tipo: string

  Descrição: (Opcional) O número de minutos entre os intervalos de teste. O valor padrão é `1` minuto e o máximo é `10` minutos.
+ RetainDashboardAndLogsOnDeletion

  Tipo: string

  Descrição: (Opcional) Especifique `False` a exclusão do CloudWatch painel e dos registros da Amazon ao excluir a AWS AWS CloudFormation pilha. O valor padrão é `True`. Por padrão, o painel e os registros são mantidos e precisarão ser excluídos manualmente quando não forem mais necessários.

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

O parâmetro `AutomationAssumeRole` requer as seguintes ações para usar o runbook com êxito.

**Atenção**  
 É recomendável passar `TestInstanceProfileName` parâmetros ou garantir a existência de proteções de segurança para evitar o uso indevido de permissões mutáveis do IAM. 

 É recomendável que o usuário que executa a automação tenha a política gerenciada **AmazonSSMAutomationRole**do IAM anexada. Além disso, o usuário deve ter a política a seguir anexada à sua conta de usuário, grupo ou função:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:CreateRole",
                "iam:CreateInstanceProfile",
                "iam:GetRole",
                "iam:GetInstanceProfile",
                "iam:DetachRolePolicy",
                "iam:AttachRolePolicy",
                "iam:PassRole",
                "iam:AddRoleToInstanceProfile",
                "iam:GetRolePolicy",
                "iam:RemoveRoleFromInstanceProfile",
                "iam:DeleteRole",
                "iam:DeleteRolePolicy",
                "iam:DeleteInstanceProfile",
                "iam:PutRolePolicy",
                "iam:TagRole"
            ],
            "Resource": [
                "arn:aws:iam::{{111122223333}}:role/SetupIPMonitoringFromVPC*",
                "arn:aws:iam::{{111122223333}}:instance-profile/SetupIPMonitoringFromVPC*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "cloudformation:CreateStack",
                "cloudformation:CreateChangeSet",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStacks",
                "cloudformation:DescribeStackEvents",
                "cloudwatch:PutDashboard",
                "cloudwatch:DeleteDashboards",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:CreateSecurityGroup",
                "ec2:CreateLaunchTemplate",
                "ec2:DeleteSecurityGroup",
                "ec2:DescribeImages",
                "ec2:DescribeSubnets",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeVpcs",
                "ec2:DeleteLaunchTemplate",
                "ec2:DeleteSecurityGroup",
                "ec2:RunInstances",
                "ec2:TerminateInstances",
                "ec2:DescribeInstanceStatus",
                "ec2:CreateTags",
                "ec2:AssignIpv6Addresses",
                "ec2:DescribeTags",
                "ec2:DescribeInstances",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeLaunchTemplates",
                "ec2:RevokeSecurityGroupEgress",
                "logs:CreateLogGroup",
                "logs:DeleteLogGroup",
                "logs:PutMetricFilter",
                "logs:PutRetentionPolicy",
                "logs:TagResource",
                "ssm:DescribeInstanceInformation",
                "ssm:GetParameter",
                "ssm:GetParameters",
                "ssm:SendCommand",
                "ssm:ListCommands",
                "ssm:ListCommandInvocations"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

Se o `TestInstanceProfileName` parâmetro for fornecido, as seguintes permissões do IAM não serão necessárias para executar o runbook:
+ objetivo: CreateRole
+ objetivo: CreateInstanceProfile
+ objetivo: DetachRolePolicy
+ objetivo: AttachRolePolicy
+ objetivo: AddRoleToInstanceProfile
+ objetivo: RemoveRoleFromInstanceProfile
+ objetivo: DeleteRole
+ objetivo: DeleteRolePolicy
+ objetivo: DeleteInstanceProfile

 **Etapas do documento** 

1.  **`aws:executeAwsApi`**- descreva a sub-rede fornecida para obter o ID da VPC e o estado de associação do bloco CIDR IPv6. 

1.  **`aws:executeScript`**- valide se os IPs de destino fornecidos são endereços IPv4 and/or IPv6 sintaticamente corretos, obtenha a arquitetura do tipo de instância selecionado e verifique se a sub-rede tem uma associação de pool IPv6 se algum IP de destino for IPv6. 

1.  **`aws:createStack`**- crie uma AWS CloudFormation pilha que provisione a instância de teste do Amazon EC2, o perfil da instância do IAM (se não fornecido), o grupo de segurança (se não fornecido) CloudWatch , os grupos de log e o painel. CloudWatch 

   (Limpeza) Se a etapa falhar: 

    **`aws:executeScript`**- descreva os eventos da CloudFormation pilha para identificar o motivo da falha. 

    **`aws:deleteStack`**- exclua a CloudFormation pilha e todos os recursos associados. 

1.  **`aws:waitForAwsResourceProperty`**- espere que a CloudFormation pilha conclua a criação. 

   (Limpeza) Se a etapa falhar: 

    **`aws:executeScript`**- descreva os eventos da CloudFormation pilha para identificar o motivo da falha. 

    **`aws:deleteStack`**- exclua a CloudFormation pilha e todos os recursos associados. 

1.  **`aws:executeScript`**- descreva os recursos da CloudFormation pilha para obter o ID da instância de teste, o ID do grupo de segurança, a função do IAM, o perfil da instância e o nome do painel. 

   (Limpeza) Se a etapa falhar: 

    **`aws:executeScript`**- descreva os eventos da CloudFormation pilha para identificar o motivo da falha. 

    **`aws:deleteStack`**- exclua a CloudFormation pilha e todos os recursos associados. 

1.  **`aws:waitForAwsResourceProperty`** :aguarde até que a instância de teste se torne uma instância gerenciada. 

   (Limpeza) Se a etapa falhar: 

    **`aws:deleteStack`**- exclua a CloudFormation pilha e todos os recursos associados. 

1.  **`aws:runCommand`**- instale o CloudWatch agente na instância de teste. 

   (Limpeza) Se a etapa falhar: 

    **`aws:deleteStack`**- exclua a CloudFormation pilha e todos os recursos associados. 

1.  **`aws:runCommand`**- defina os scripts de teste de rede (MTR, ping, tracepath e traceroute) para cada um dos IPs fornecidos. 

   (Limpeza) Se a etapa falhar: 

    **`aws:deleteStack`**- exclua a CloudFormation pilha e todos os recursos associados. 

1.  **`aws:runCommand`**- inicie os testes de rede e agende as execuções subsequentes usando cronjobs que são executados a cada minuto. TestInterval 

   (Limpeza) Se a etapa falhar: 

    **`aws:deleteStack`**- exclua a CloudFormation pilha e todos os recursos associados. 

1.  **`aws:runCommand`**- configure o CloudWatch agente para enviar os resultados do teste `/home/ec2-user/logs/` para o CloudWatch Logs. 

   (Limpeza) Se a etapa falhar: 

    **`aws:deleteStack`**- exclua a CloudFormation pilha e todos os recursos associados. 

1.  **`aws:runCommand`**- configure a rotação do log para os resultados do teste em`/home/ec2-user/logs/`. 

1.  **`aws:executeScript`**- defina a política de retenção para todos os grupos de CloudWatch registros criados pela CloudFormation pilha. 

1.  **`aws:executeScript`**- CloudWatch crie filtros métricos de grupos de registros para latência de ping e perda de pacotes de ping. 

   (Limpeza) Se a etapa falhar: 

    **`aws:deleteStack`**- exclua a CloudFormation pilha e todos os recursos associados. 

1.  **`aws:executeScript`**- atualize o CloudWatch painel para incluir widgets para estatísticas de latência de ping e perda de pacotes de ping. 

   (Limpeza) Se a etapa falhar: 

    **`aws:executeAwsApi`**- exclua o CloudWatch painel, se ele existir. 

    **`aws:deleteStack`**- exclua a CloudFormation pilha e todos os recursos associados. 

1.  **`aws:branch`**- avalie o SleepTime parâmetro. Se definido como`0`, a automação termina sem excluir a pilha. 

1.  **`aws:sleep`**- aguarde a SleepTime duração especificada antes de excluir a CloudFormation pilha. 

1.  **`aws:deleteStack`**- exclua a CloudFormation pilha. Com base no RetainDashboardAndLogsOnDeletion parâmetro, o CloudWatch painel e os grupos de registros são mantidos ou excluídos. 

   (Limpeza) Se a exclusão da pilha falhar: 

    **`aws:executeScript`**- descreva os eventos da CloudFormation pilha para identificar o motivo da falha na exclusão. 

 **Saídas** 

update CloudWatchDashboard.StackUrl - o URL da CloudFormation pilha.

atualização CloudWatchDashboard.DashboardUrl - o URL do CloudWatch painel.

atualização CloudWatchDashboard.DashboardName - o nome do CloudWatch painel.

atualização CloudWatchDashboard.LogGroups - a lista de grupos de CloudWatch registros criados.

describe StackResources.HelperInstanceId - o ID da instância de teste.

descreva StackResources.StackName - o nome da CloudFormation pilha.