

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# `AWSSupport-SetupIPMonitoringFromVPC`
<a name="automation-awssupport-setupipmonitoringfromvpc"></a>

 **Description** 

 `AWSSupport-SetupIPMonitoringFromVPC`crée une instance Amazon Elastic Compute Cloud (Amazon EC2) temporaire exécutant Amazon Linux 2023 dans le sous-réseau spécifié. Le runbook exécute en permanence des tests ping, MTR, traceroute et tracetcp sur les adresses IP cibles sélectionnées (IPv4 ou IPv6). Il stocke les résultats dans des groupes de CloudWatch journaux Amazon et applique des filtres métriques pour visualiser rapidement les statistiques de latence et de perte de paquets dans un CloudWatch tableau de bord. 

**Coûts supplémentaires**  
Ce runbook entraîne des frais supplémentaires AWS . Il fournit une instance Amazon EC2, des groupes de CloudWatch journaux et un CloudWatch tableau de bord dans votre compte à l'aide de. AWS CloudFormation L'instance de test s'exécute en continu jusqu'à ce que vous CloudFormation supprimiez la pile. Si vous définissez `RetainDashboardAndLogsOnDeletion` cette option `True` (par défaut), le CloudWatch tableau de bord et les groupes de journaux sont conservés après la suppression de la pile. Ces ressources continuent d'être facturées jusqu'à ce que vous les supprimiez manuellement. Pour plus de détails sur les tarifs, consultez les [sections Tarification Amazon EC2 et [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/) Pricing](https://aws.amazon.com/ec2/pricing/).

 **Informations supplémentaires** 

Vous pouvez utiliser les résultats des tests dans Amazon CloudWatch Logs pour résoudre les problèmes du réseau et analyser les modèles et les tendances. En outre, vous pouvez configurer les CloudWatch alarmes avec les notifications Amazon Simple Notification Service lorsque la perte de paquets ou la latence atteignent un seuil. Vous pouvez également utiliser ces résultats lors de l'ouverture d'un dossier auprès de AWS Support, afin d'isoler rapidement un problème et de réduire le temps de résolution lors de l'investigation d'un problème réseau.

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-SetupIPMonitoringFromVPC) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
+ CloudWatchLogGroupNamePrefix

  Type : Chaîne

   Valeur par défaut : `/AWSSupport-SetupIPMonitoringFromVPC` 

  Description : (Facultatif) Préfixe utilisé pour chaque groupe de CloudWatch journaux créé pour les résultats du test.
+ CloudWatchLogGroupRetentionInDays

  Type : Chaîne

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

  Valeur par défaut : 7

  Description : (Facultatif) nombre de jours pendant lesquels vous souhaitez conserver les résultats de la surveillance du réseau.
+ InstanceType

  Type : Chaîne

  Valeurs valides : t2.micro \| t2.small \| t2.medium \| t2.large \| t3.micro \| t3.small \| t3.medium \| t3.large \| t4g.micro \| t4g.small \| t4g.medium \| t4g.large

  Par défaut : t3.micro

  Description : (Facultatif) Type d'instance Amazon EC2 pour l'instance de surveillance. Taille recommandée : t3.micro.
+ SubnetId

  Type : Chaîne

  Description : (Obligatoire) ID de sous-réseau pour l'instance de surveillance. Sachez que si vous spécifiez un sous-réseau privé, vous devez vous assurer qu'il existe un accès Internet pour permettre à l'instance de surveillance de configurer le test (par exemple, installer l' CloudWatch agent, interagir avec AWS Systems Manager et CloudWatch).
+ TargetIPs

  Type : Chaîne

  Description : Comma-separated liste (obligatoire) des adresses IPv4 ou IPv6 à surveiller. Les espaces ne sont pas autorisés. La taille maximale est de 255 caractères. Sachez que si vous fournissez une adresse IP non valide, l'automatisation échouera et annulera la configuration de test.
+ TestInstanceSecurityGroupId

  Type : Chaîne

  Description : (Facultatif) L'ID du groupe de sécurité pour l'instance de test. Si ce n'est pas spécifié, l'automatisation en crée une lors de la création de l'instance. Assurez-vous que le groupe de sécurité autorise l'accès sortant aux adresses IP de surveillance.
+ TestInstanceProfileName

  Type : Chaîne

  Description : (Facultatif) Nom d'un profil d' Gestion des identités et des accès AWS instance existant pour l'instance de test. Si ce n'est pas spécifié, l'automatisation en crée une lors de la création de l'instance. Le rôle doit disposer des autorisations suivantes : `logs:CreateLogStream``logs:DescribeLogGroups`,`logs:DescribeLogStreams`, `logs:PutLogEvents` et de la politique AWS gérée`AmazonSSMManagedInstanceCore`.
+ TestInterval

  Type : Chaîne

  Description : (Facultatif) Le nombre de minutes entre les intervalles de test. La valeur par défaut est `1` minute et la valeur maximale est `10` minutes.
+ RetainDashboardAndLogsOnDeletion

  Type : Chaîne

  Description : (Facultatif) Spécifiez `False` la suppression du CloudWatch tableau de bord et des groupes de journaux lors de la suppression de la CloudFormation pile. La valeur par défaut est `True`. Par défaut, le runbook conserve le tableau de bord et les journaux. Vous devez les supprimer manuellement lorsqu'ils ne sont plus nécessaires.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.

**Avertissement**  
 Il est recommandé de transmettre les `TestInstanceProfileName` paramètres ou de s'assurer que des garde-fous de sécurité sont en place pour empêcher toute utilisation abusive des autorisations IAM modifiables. 

 Il est recommandé que la politique gérée par **AmazonSSMAutomationRole**IAM soit attachée à l'utilisateur qui exécute l'automatisation. En outre, l'utilisateur doit disposer de la stratégie suivante associée à son compte utilisateur, groupe ou rôle :

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

------

Si le `TestInstanceProfileName` paramètre est fourni, les autorisations IAM suivantes ne sont pas requises pour exécuter le runbook :
+ iam : CreateRole
+ iam : CreateInstanceProfile
+ iam : DetachRolePolicy
+ iam : AttachRolePolicy
+ iam : AddRoleToInstanceProfile
+ iam : RemoveRoleFromInstanceProfile
+ iam : DeleteRole
+ iam : DeleteRolePolicy
+ iam : DeleteInstanceProfile

 **Étapes de document** 

1.  **`aws:executeAwsApi`**- décrivez le sous-réseau fourni pour obtenir l'ID du VPC et l'état d'association des blocs d'adresse CIDR IPv6. 

1.  **`aws:executeScript`**- validez que les adresses IP cibles fournies sont des adresses and/or IPv6 IPv4 syntaxiquement correctes, obtenez l'architecture du type d'instance sélectionné et vérifiez que le sous-réseau possède une association de pool IPv6 si une adresse IP cible est IPv6. 

1.  **`aws:createStack`**- créez une CloudFormation pile qui approvisionne l'instance Amazon EC2 de test, le profil d'instance IAM (s'il n'est pas fourni), le groupe de sécurité (s'il n'est pas fourni), les groupes de CloudWatch journaux et le tableau de bord. CloudWatch 

   (Nettoyage) Si l'étape échoue : 

    **`aws:executeScript`**- décrivez les événements de la CloudFormation pile pour identifier la cause de la panne. 

    **`aws:deleteStack`**- supprimez la CloudFormation pile et toutes les ressources associées. 

1.  **`aws:waitForAwsResourceProperty`**- attendez que la création de la CloudFormation pile soit terminée. 

   (Nettoyage) Si l'étape échoue : 

    **`aws:executeScript`**- décrivez les événements de la CloudFormation pile pour identifier la cause de la panne. 

    **`aws:deleteStack`**- supprimez la CloudFormation pile et toutes les ressources associées. 

1.  **`aws:executeScript`**- décrivez les ressources de la CloudFormation pile pour obtenir l'ID de l'instance de test, l'ID du groupe de sécurité, le rôle IAM, le profil de l'instance et le nom du tableau de bord. 

   (Nettoyage) Si l'étape échoue : 

    **`aws:executeScript`**- décrivez les événements de la CloudFormation pile pour identifier la cause de la panne. 

    **`aws:deleteStack`**- supprimez la CloudFormation pile et toutes les ressources associées. 

1.  **`aws:waitForAwsResourceProperty`**- attendez que l'instance de test devienne une instance gérée. 

   (Nettoyage) Si l'étape échoue : 

    **`aws:deleteStack`**- supprimez la CloudFormation pile et toutes les ressources associées. 

1.  **`aws:runCommand`**- installez l' CloudWatch agent`mtr`, et `traceroute` sur l'instance de test. 

   (Nettoyage) Si l'étape échoue : 

    **`aws:deleteStack`**- supprimez la CloudFormation pile et toutes les ressources associées. 

1.  **`aws:runCommand`**- définissez les scripts de test réseau (MTR, ping, tracepath et traceroute) pour chacune des adresses IP fournies. 

   (Nettoyage) Si l'étape échoue : 

    **`aws:deleteStack`**- supprimez la CloudFormation pile et toutes les ressources associées. 

1.  **`aws:runCommand`**- lancez les tests du réseau et planifiez les exécutions suivantes à l'aide de minuteries Systemd qui s'exécutent toutes les TestInterval minutes. 

   (Nettoyage) Si l'étape échoue : 

    **`aws:deleteStack`**- supprimez la CloudFormation pile et toutes les ressources associées. 

1.  **`aws:runCommand`**- configurez l' CloudWatch agent pour transférer les résultats des tests `/home/ec2-user/logs/` vers CloudWatch Logs. 

   (Nettoyage) Si l'étape échoue : 

    **`aws:deleteStack`**- supprimez la CloudFormation pile et toutes les ressources associées. 

1.  **`aws:runCommand`**- configurez la rotation du journal pour les résultats des tests dans`/home/ec2-user/logs/`. 

1.  **`aws:executeScript`**- définissez la politique de rétention pour tous les groupes de CloudWatch journaux créés par la CloudFormation pile. 

1.  **`aws:executeScript`**- créer des filtres métriques pour les groupes de CloudWatch journaux pour la latence du ping et la perte de paquets ping. 

   (Nettoyage) Si l'étape échoue : 

    **`aws:deleteStack`**- supprimez la CloudFormation pile et toutes les ressources associées. 

1.  **`aws:executeScript`**- mettez à jour le CloudWatch tableau de bord pour inclure des widgets pour les statistiques de latence et de perte de paquets ping. 

   (Nettoyage) Si l'étape échoue : 

    **`aws:executeAwsApi`**- supprimez le CloudWatch tableau de bord, s'il existe. 

    **`aws:deleteStack`**- supprimez la CloudFormation pile et toutes les ressources associées. 

1.  **`aws:branch`**- évaluer le SleepTime paramètre. S'il est défini sur`0`, l'automatisation se termine sans supprimer la pile. 

1.  **`aws:sleep`**- attendez la SleepTime durée spécifiée avant de supprimer la CloudFormation pile. 

1.  **`aws:deleteStack`**- supprimez la CloudFormation pile. En fonction du RetainDashboardAndLogsOnDeletion paramètre, le CloudWatch tableau de bord et les groupes de journaux sont conservés ou supprimés. 

   (Nettoyage) Si la suppression de la pile échoue : 

    **`aws:executeScript`**- décrivez les événements de la CloudFormation pile pour identifier la raison de l'échec de suppression. 

 **Sorties** 

update CloudWatchDashboard.StackUrl  : URL de la CloudFormation pile.

update CloudWatchDashboard.DashboardUrl  : URL du CloudWatch tableau de bord.

update CloudWatchDashboard.DashboardName  : nom du CloudWatch tableau de bord.

update CloudWatchDashboard.LogGroups  : liste des groupes de CloudWatch journaux créés.

describe StackResources.HelperInstanceId  : l'ID de l'instance de test.

describe StackResources.StackName - le nom de la CloudFormation pile.