View a markdown version of this page

AWSSupport-SetupIPMonitoringFromVPC - AWS Systems Manager Referência do Automation Runbook

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

Descrição

AWSSupport-SetupIPMonitoringFromVPCcria uma instância do Amazon Elastic Compute Cloud (Amazon EC2) na sub-rede especificada e monitora o IPs destino selecionado IPv4 ( IPv6ou) 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 solucionar problemas de rede e analisar se a pattern/trends. Additionally, you can configure CloudWatch alarms with Amazon SNS notifications when packet loss and/or latência atinge 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)

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 EC2 para a instância EC2 Rescue. 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).

  • Alvo IPs

    Tipo: string

    Descrição: (Obrigatório) Lista separada por vírgulas de IPv4s e/ou IPv6s para monitorar. 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 ao monitoramento IPs.

  • 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 GerenciadaAmazonSSMManagedInstanceCore.

  • 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 do Amazon SSMAutomation Role 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 IPv6 e o estado de associação do bloco CIDR.

  2. aws:executeScript- valide se o destino fornecido IPs está sintaticamente correto IPv4 e/ou os IPv6 endereços, obtenha a arquitetura do tipo de instância selecionado e verifique se a sub-rede tem uma associação de IPv6 pool, se houver algum IP de destino. IPv6

  3. 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 for fornecido), o grupo de segurança (se não for 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

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

    (Limpeza) Se a etapa falhar:

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

  9. 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.

  10. 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.

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

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

  13. 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.

  14. 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.

  15. aws:branch- avalie o SleepTime parâmetro. Se definido como0, a automação termina sem excluir a pilha.

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

  17. 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

updateCloudWatchPainel de controle. StackUrl - o URL da CloudFormation pilha.

updateCloudWatchPainel de controle. DashboardUrl - o URL do CloudWatch painel.

updateCloudWatchPainel de controle. DashboardName - o nome do CloudWatch painel.

updateCloudWatchPainel de controle. LogGroups - a lista de grupos de CloudWatch registros criados.

describeStackResources. HelperInstanceId - o ID da instância de teste.

describeStackResources. StackName - o nome da CloudFormation pilha.