View a markdown version of this page

AWSSupport-SetupIPMonitoringFromVPC - AWS Systems Manager Référence du dossier d’exploitation Automation

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) 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 coûts 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 AWS CloudFormation de. L'instance de test s'exécute en continu jusqu'à ce que vous CloudFormation supprimiez la pile. Si vous définissez RetainDashboardAndLogsOnDeletion cette option sur 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 à être facturées jusqu'à ce que vous les supprimiez manuellement. Pour plus de détails sur les tarifs, consultez les rubriques Tarification Amazon EC2 et CloudWatch Tarification https://aws.amazon.com/cloudwatch/pricing/ Amazon.

Informations supplémentaires

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

Exécutez 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 démarre 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 des tests.

  • 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 du moniteur 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) Le 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: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) Indiquez si vous False souhaitez supprimer le CloudWatch tableau de bord et les 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 des TestInstanceProfileName paramètres ou de mettre en place des dispositifs de sécurité pour empêcher toute utilisation abusive des autorisations IAM modifiables.

Il est recommandé que la politique gérée AmazonSSMAutomationRole IAM soit associé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'état d'association de blocs d'ID VPC et d'adresse CIDR IPv6.

  2. 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 l'une des adresses IP cible est IPv6.

  3. aws:createStack- créez une CloudFormation pile qui provisionne 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 CloudWatch le tableau de bord.

    (Nettoyage) Si l'étape échoue :

    aws:executeScript- décrivez les événements de la CloudFormation pile pour identifier la raison 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 raison 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 raison 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 agentmtr, et traceroute 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 chacune des adresses IP fournies.

    (Nettoyage) Si l'étape échoue :

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

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

  10. aws:runCommand- configurez l' CloudWatch agent pour qu'il envoie 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 conservation pour tous les groupes de CloudWatch journaux créés par la CloudFormation pile.

  13. aws:executeScript- créez des filtres métriques de groupe 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- supprimer 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. Si ce paramètre est défini sur0, l'automatisation s'arrête 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 la suppression.

Sorties

update CloudWatchDashboard.StackUrl - l'URL de la CloudFormation pile.

mise à jour CloudWatchDashboard.DashboardUrl  : URL du CloudWatch tableau de bord.

mise à jour CloudWatchDashboard.DashboardName  : nom du CloudWatch tableau de bord.

mise à jour 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.