AWSSupport-SetupIPMonitoringFromVPC - AWS Systems Manager Référence du manuel d'automatisation

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

Description

AWSSupport-SetupIPMonitoringFromVPCcrée une instance Amazon Elastic Compute Cloud (Amazon EC2) dans le sous-réseau spécifié et surveille la IPs cible sélectionnée IPv4 ( IPv6ou) en exécutant en permanence des tests ping, MTR, traceroute et tracetcp. Les résultats sont stockés dans les CloudWatch journaux Amazon Logs et des filtres métriques sont appliqués pour visualiser rapidement les statistiques de latence et de perte de paquets dans un CloudWatch tableau de bord.

Informations supplémentaires

Les données CloudWatch des journaux peuvent être utilisées pour le dépannage du réseau et pour analyser si le pattern/trends. Additionally, you can configure CloudWatch alarms with Amazon SNS notifications when packet loss and/or temps de latence atteint un certain seuil. Les données peuvent également être utilisées lors de l'ouverture d'un dossier AWS Support, afin d'isoler rapidement un problème et de réduire le temps de résolution lors de l'enquête sur un problème réseau.

Exécuter cette automatisation (console)

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 EC2 pour l'instance EC2 Rescue. 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 (c'est-à-dire d'installer l'agent CloudWatch Logs, d'interagir avec Systems Manager et CloudWatch).

  • Cible IPs

    Type : Chaîne

    Description : (Obligatoire) Liste séparée par des virgules de IPv4s et/ou IPv6s à 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 échoue et restaure la configuration du 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 à la surveillance IPs.

  • TestInstanceProfileName

    Type : Chaîne

    Description : (Facultatif) Nom d'un profil d'instance IAM 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:CreateLogStreamlogs:DescribeLogGroups,logs:DescribeLogStreams, logs:PutLogEvents et de la politique AWS géréeAmazonSSMManagedInstanceCore.

  • 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 tableau de CloudWatch bord et des journaux Amazon lors de la suppression de la AWS AWS CloudFormation pile. La valeur par défaut est True. Par défaut, le tableau de bord et les journaux sont conservés et devront être supprimés manuellement lorsqu'ils ne seront 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 Amazon SSMAutomation Role IAM soit jointe à 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 IPv6 et l'état de l'association des blocs CIDR.

  2. aws:executeScript- validez que la cible fournie est syntaxiquement correcte IPv4 et/ou que IPv6 les adresses IPs sont correctes, obtenez l'architecture du type d'instance sélectionné et vérifiez que le sous-réseau possède une association de IPv6 pool si une adresse IP cible l'est. IPv6

  3. aws:createStack- créez une AWS 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.

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

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

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

  7. aws:runCommand- installez l' CloudWatch agent sur l'instance de test.

    (Nettoyage) Si l'étape échoue :

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

  8. aws:runCommand- définissez les scripts de test réseau (MTR, ping, tracepath et traceroute) pour chacun des scripts fournis. IPs

    (Nettoyage) Si l'étape échoue :

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

  9. aws:runCommand- lancez les tests réseau et planifiez les exécutions suivantes à l'aide de cronjobs 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.

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

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

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

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

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

  15. aws:branch- évaluer le SleepTime paramètre. S'il est défini sur0, l'automatisation se termine sans supprimer la pile.

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

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

updateCloudWatchTableau de bord. StackUrl - l'URL de la CloudFormation pile.

updateCloudWatchTableau de bord. DashboardUrl - l'URL du CloudWatch tableau de bord.

updateCloudWatchTableau de bord. DashboardName - le nom du CloudWatch tableau de bord.

updateCloudWatchTableau de bord. LogGroups - la liste des groupes de CloudWatch journaux créés.

describeStackResources. HelperInstanceId - l'ID de l'instance de test.

describeStackResources. StackName - le nom de la CloudFormation pile.