

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

 **Descrizione** 

 `AWSSupport-SetupIPMonitoringFromVPC`crea un'istanza Amazon Elastic Compute Cloud (Amazon EC2) temporanea che esegue Amazon Linux 2023 nella sottorete specificata. Il runbook esegue continuamente test di ping, MTR, traceroute e tracetcp sugli IP di destinazione selezionati (IPv4 o IPv6). Memorizza i risultati in gruppi di CloudWatch log di Amazon e applica filtri metrici per visualizzare rapidamente le statistiche sulla latenza e sulla perdita di pacchetti in una dashboard. CloudWatch 

**Costi aggiuntivi**  
Questo runbook comporta costi aggiuntivi. AWS Esegue il provisioning di un'istanza Amazon EC2, di gruppi di CloudWatch log e di una CloudWatch dashboard nel tuo account utilizzando. AWS CloudFormation L'istanza di test viene eseguita continuamente fino all'eliminazione dello CloudFormation stack. Se è impostata su `RetainDashboardAndLogsOnDeletion` `True` (impostazione predefinita), la CloudWatch dashboard e i gruppi di log rimangono attivi dopo l'eliminazione dello stack. Queste risorse continuano a essere soggette a costi finché non vengono rimosse manualmente. Per i dettagli sui prezzi, consulta i prezzi di [Amazon EC2 e i prezzi](https://aws.amazon.com/ec2/pricing/) di [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

 **Informazioni aggiuntive** 

Puoi utilizzare i risultati dei test in Amazon CloudWatch Logs per la risoluzione dei problemi di rete e l'analisi di modelli e tendenze. Inoltre, puoi configurare gli CloudWatch allarmi con le notifiche di Amazon Simple Notification Service quando la perdita di pacchetti o la latenza raggiungono una soglia. Puoi utilizzare questi risultati anche quando apri un caso con Supporto AWS, per isolare rapidamente un problema e ridurre i tempi di risoluzione durante l'analisi di un problema di rete.

 [Esegui questa automazione (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-SetupIPMonitoringFromVPC) 

**Tipo di documento**

Automazione

**Proprietario**

Amazon

**Piattaforme**

LinuxmacOS, Windows

**Parametri**
+ AutomationAssumeRole

  Tipo: String

  Descrizione: (Facoltativo) L'Amazon Resource Name (ARN) del ruolo 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.
+ CloudWatchLogGroupNamePrefix

  Tipo: String

   Impostazione predefinita: `/AWSSupport-SetupIPMonitoringFromVPC` 

  Descrizione: (Facoltativo) Prefisso utilizzato per ogni gruppo di CloudWatch log creato per i risultati del test.
+ CloudWatchLogGroupRetentionInDays

  Tipo: String

  Valori validi: 1 \| 3 \| 5 \| 7 \| 14 \| 30 \| 60 \| 90 \| 120 \| 150 \| 180 \| 365 \| 400 \| 545 \| 731 \| 1827 \| 3653

  Impostazione predefinita: 7

  Descrizione: (facoltativo) numero di giorni che definisce l'intervallo di tempo durante il quale si desidera conservare i risultati del monitoraggio della rete.
+ InstanceType

  Tipo: String

  Valori validi: t2.micro \| t2.small \| t2.medium \| t2.large \| t3.micro \| t3.small \| t3.medium \| t3.large \| t4g.micro \| t4g.small \| t4g.medium \| t4g.large

  Predefinito: t3.micro

  Descrizione: (Facoltativo) Il tipo di istanza Amazon EC2 per l'istanza di monitoraggio. Dimensione consigliata: t3.micro.
+ SubnetId

  Tipo: String

  Descrizione: (obbligatorio) ID sottorete dell'istanza di monitoraggio. Tieni presente che se specifichi una sottorete privata, devi assicurarti che sia disponibile l'accesso a Internet per consentire all'istanza del monitor di configurare il test (ad esempio, installare l' CloudWatch agente, interagire con AWS Systems Manager and). CloudWatch
+ TargetIPs

  Tipo: String

  Descrizione: Comma-separated elenco (obbligatorio) di indirizzi IPv4 o IPv6 da monitorare. Gli spazi non sono consentiti. La dimensione massima è pari a 255 caratteri. Tieni presente che se fornisci un IP non valido, l'automazione fallirà e ripristinerà la configurazione del test.
+ TestInstanceSecurityGroupId

  Tipo: String

  Descrizione: (Facoltativo) L'ID del gruppo di sicurezza per l'istanza di test. Se non viene specificato, l'automazione ne crea uno durante la creazione dell'istanza. Assicurati che il gruppo di sicurezza consenta l'accesso in uscita agli IP di monitoraggio.
+ TestInstanceProfileName

  Tipo: String

  Descrizione: (Facoltativo) Il nome di un profilo di AWS Identity and Access Management istanza esistente per l'istanza di test. Se non viene specificato, l'automazione ne crea uno durante la creazione dell'istanza. Il ruolo deve avere le seguenti autorizzazioni:`logs:CreateLogStream`, `logs:DescribeLogGroups``logs:DescribeLogStreams`, e `logs:PutLogEvents` e la AWS Managed Policy`AmazonSSMManagedInstanceCore`.
+ TestInterval

  Tipo: String

  Descrizione: (Facoltativo) Il numero di minuti tra gli intervalli di test. Il valore predefinito è `1` minuto e il massimo è `10` minuti.
+ RetainDashboardAndLogsOnDeletion

  Tipo: String

  Descrizione: (Facoltativo) Specificate `False` di eliminare la CloudWatch dashboard e i gruppi di log quando eliminate lo CloudFormation stack. Il valore predefinito è `True`. Per impostazione predefinita, il runbook conserva la dashboard e i log. È necessario eliminarli manualmente quando non sono più necessari.

**Autorizzazioni IAM richieste**

Il `AutomationAssumeRole` parametro richiede le seguenti azioni per utilizzare correttamente il runbook.

**avvertimento**  
 Si consiglia di passare `TestInstanceProfileName` parametri o garantire l'esistenza di protezioni di sicurezza per prevenire l'uso improprio delle autorizzazioni IAM mutabili. 

 Si consiglia di allegare la policy gestita da IAM all'utente che esegue l'**AmazonSSMAutomationRole**automazione. L'utente deve inoltre disporre della seguente policy associata al proprio account utente, gruppo o ruolo:

------
#### [ 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 viene fornito il `TestInstanceProfileName` parametro, non sono necessarie le seguenti autorizzazioni IAM per eseguire il runbook:
+ sono: CreateRole
+ Io sono: CreateInstanceProfile
+ Io sono: DetachRolePolicy
+ Io sono: AttachRolePolicy
+ Io sono: AddRoleToInstanceProfile
+ Io sono: RemoveRoleFromInstanceProfile
+ Io sono: DeleteRole
+ Io sono: DeleteRolePolicy
+ Io sono: DeleteInstanceProfile

 **Fasi del documento** 

1.  **`aws:executeAwsApi`**- descrivere la sottorete fornita per ottenere l'ID VPC e lo stato di associazione dei blocchi CIDR IPv6. 

1.  **`aws:executeScript`**- verifica che gli IP di destinazione forniti siano indirizzi IPv4 and/or IPv6 sintatticamente corretti, ottieni l'architettura del tipo di istanza selezionato e verifica che la sottorete abbia un'associazione di pool IPv6 se un IP di destinazione è IPv6. 

1.  **`aws:createStack`**- crea uno CloudFormation stack che esegua il provisioning dell'istanza Amazon EC2 di test, del profilo dell'istanza IAM (se non fornito), del gruppo di sicurezza (se non fornito) CloudWatch , dei gruppi di log e del dashboard. CloudWatch 

   (Pulizia) Se la fase ha esito negativo: 

    **`aws:executeScript`**- descrivi gli eventi dello CloudFormation stack per identificare il motivo dell'errore. 

    **`aws:deleteStack`**- elimina lo CloudFormation stack e tutte le risorse associate. 

1.  **`aws:waitForAwsResourceProperty`**- attendi che lo CloudFormation stack completi la creazione. 

   (Pulizia) Se la fase ha esito negativo: 

    **`aws:executeScript`**- descrivi gli eventi CloudFormation dello stack per identificare il motivo dell'errore. 

    **`aws:deleteStack`**- elimina lo CloudFormation stack e tutte le risorse associate. 

1.  **`aws:executeScript`**- descrivi le risorse CloudFormation dello stack per ottenere l'ID dell'istanza di test, l'ID del gruppo di sicurezza, il ruolo IAM, il profilo dell'istanza e il nome della dashboard. 

   (Pulizia) Se la fase ha esito negativo: 

    **`aws:executeScript`**- descrivi gli eventi CloudFormation dello stack per identificare il motivo dell'errore. 

    **`aws:deleteStack`**- elimina lo CloudFormation stack e tutte le risorse associate. 

1.  **`aws:waitForAwsResourceProperty`**- attendi che l'istanza di test diventi un'istanza gestita. 

   (Pulizia) Se la fase ha esito negativo: 

    **`aws:deleteStack`**- elimina lo CloudFormation stack e tutte le risorse associate. 

1.  **`aws:runCommand`**- installa l' CloudWatch agente e `traceroute` sull'istanza di test. `mtr` 

   (Pulizia) Se la fase ha esito negativo: 

    **`aws:deleteStack`**- elimina lo CloudFormation stack e tutte le risorse associate. 

1.  **`aws:runCommand`**- definire gli script di test di rete (MTR, ping, tracepath e traceroute) per ciascuno degli IP forniti. 

   (Pulizia) Se la fase ha esito negativo: 

    **`aws:deleteStack`**- elimina lo stack e tutte le risorse associate CloudFormation . 

1.  **`aws:runCommand`**- avvia i test di rete e pianifica le esecuzioni successive utilizzando i timer systemd che vengono eseguiti ogni minuto. TestInterval 

   (Pulizia) Se la fase ha esito negativo: 

    **`aws:deleteStack`**- elimina lo CloudFormation stack e tutte le risorse associate. 

1.  **`aws:runCommand`**- configura l' CloudWatch agente per inviare i risultati dei test `/home/ec2-user/logs/` ai CloudWatch registri. 

   (Pulizia) Se la fase ha esito negativo: 

    **`aws:deleteStack`**- elimina lo CloudFormation stack e tutte le risorse associate. 

1.  **`aws:runCommand`**- configura la rotazione dei log per i risultati del test in`/home/ec2-user/logs/`. 

1.  **`aws:executeScript`**- imposta la politica di conservazione per tutti i gruppi di CloudWatch log creati dallo CloudFormation stack. 

1.  **`aws:executeScript`**- crea filtri metrici dei gruppi di CloudWatch log per la latenza del ping e la perdita di pacchetti di ping. 

   (Pulizia) Se la fase ha esito negativo: 

    **`aws:deleteStack`**- elimina lo CloudFormation stack e tutte le risorse associate. 

1.  **`aws:executeScript`**- aggiorna la CloudWatch dashboard per includere widget per le statistiche sulla latenza del ping e sulla perdita di pacchetti ping. 

   (Pulizia) Se la fase ha esito negativo: 

    **`aws:executeAwsApi`**- elimina la CloudWatch dashboard, se esiste. 

    **`aws:deleteStack`**- elimina lo CloudFormation stack e tutte le risorse associate. 

1.  **`aws:branch`**- valuta il SleepTime parametro. Se impostato su`0`, l'automazione termina senza eliminare lo stack. 

1.  **`aws:sleep`**- attendi la SleepTime durata specificata prima di eliminare lo stack. CloudFormation 

1.  **`aws:deleteStack`**- elimina lo stack CloudFormation . In base al RetainDashboardAndLogsOnDeletion parametro, il CloudWatch pannello di controllo e i gruppi di log vengono mantenuti o eliminati. 

   (Pulizia) Se l'eliminazione dello stack non riesce: 

    **`aws:executeScript`**- descrivi gli eventi dello CloudFormation stack per identificare il motivo dell'errore di eliminazione. 

 **Output** 

updateCloudWatchDashboard.StackUrl : l'URL dello CloudFormation stack.

updateCloudWatchDashboard.DashboardUrl : l'URL della CloudWatch dashboard.

updateCloudWatchDashboard.DashboardName : il nome della CloudWatch dashboard.

updateCloudWatchDashboard.LogGroups : l'elenco dei gruppi di CloudWatch log creati.

describeStackResources.HelperInstanceId : l'ID dell'istanza di test.

describeStackResources.StackName : il nome CloudFormation dello stack.