

• Le AWS Systems Manager CloudWatch tableau de bord ne sera plus disponible après le 30 avril 2026. Les clients peuvent continuer à utiliser CloudWatch la console Amazon pour consulter, créer et gérer leurs CloudWatch tableaux de bord Amazon, comme ils le font aujourd'hui. Pour plus d'informations, consultez la [documentation Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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.

# Utilisation d'associations dans Systems Manager
<a name="state-manager-associations"></a>

Cette section décrit comment créer et gérer des associations State Manager en utilisant la console AWS Systems Manager, l'AWS Command Line Interface (AWS CLI), et Outils AWS pour PowerShell. 

**Topics**
+ [

# Comprendre les cibles et les contrôles du taux dans les associations State Manager
](systems-manager-state-manager-targets-and-rate-controls.md)
+ [

# Création d'associations
](state-manager-associations-creating.md)
+ [

# Modification et création de la nouvelle version d'une association
](state-manager-associations-edit.md)
+ [

# Suppression d'associations
](systems-manager-state-manager-delete-association.md)
+ [

# Exécution de groupes Auto Scaling avec des associations
](systems-manager-state-manager-asg.md)
+ [

# Affichage des historiques des associations
](state-manager-associations-history.md)
+ [

# Utilisation d'associations avec IAM
](systems-manager-state-manager-iam.md)

# Comprendre les cibles et les contrôles du taux dans les associations State Manager
<a name="systems-manager-state-manager-targets-and-rate-controls"></a>

Cette section décrit les fonctionnalités State Manager qui vous aident à déployer une association sur des dizaines ou des centaines de nœuds, tout en contrôlant le nombre de nœuds qui exécutent l’association à l’heure prévue. State Manager est un outil d’ AWS Systems Manager.

## À l’aide de cibles
<a name="systems-manager-state-manager-targets-and-rate-controls-about-targets"></a>

Lorsque vous créez une association State Manager, vous sélectionnez les nœuds à configurer avec cette association dans la section **Targets** (Cibles) de la console Systems Manager, comme illustré ici.

![\[Différentes options de ciblage des nœuds lors de la création d'une association State Manager\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/state-manager-targets.png)


Si vous créez une association à l'aide d'un outil de ligne de commande tel que l' AWS Command Line Interface (AWS CLI), vous spécifiez le paramètre `targets`. Le ciblage des nœuds vous permet de configurer des dizaines, des centaines ou des milliers de nœuds avec une association sans avoir à spécifier ou à choisir un nœud individuel IDs. 

Chaque nœud géré peut être ciblé par un maximum de 20 associations.

La fonctionnalité State Manager inclut les options cibles suivantes lors de la création d'une association.

**Spécifier des identifications**  
Utilisez cette option pour spécifier une clé d'identification et (éventuellement) une valeur d'identification affectée à vos nœuds. Lorsque vous exécutez la demande, le système recherche et tente de créer l'association sur tous les nœuds qui correspondent à la clé et à la valeur d'identification spécifiées. Si vous avez spécifié plusieurs valeurs d'identification, l'association cible tous les nœuds contenant au moins une de ces valeurs d'identification. Lorsque le système crée l'association, il l'exécute. Après cette première exécution, le système exécute l'association selon la planification que vous avez spécifiée.

Si vous créez des nœuds et affectez la clé d'identification et la valeur spécifiées à ces derniers, le système applique automatiquement l'association, l'exécute immédiatement, puis l'exécute conformément à la planification. Cela s'applique lorsque l'association utilise un document Command ou Policy, mais pas lorsque l'association utilise un runbook Automation. Si vous supprimez les identifications spécifiées d'un nœud, le système n'exécute plus l'association sur ces nœuds.

**Note**  
Si vous utilisez des runbooks d'automatisation State Manager et que la limitation du balisage vous empêche d'atteindre un objectif spécifique, envisagez d'utiliser des runbooks d'automatisation avec Amazon. EventBridge Pour de plus amples informations, veuillez consulter [Exécutez des automatisations en fonction des événements EventBridge](running-automations-event-bridge.md). Pour plus d'informations sur l'utilisation de runbooks avec State Manager reportez-vous à [Exécution des automatisations avec les associations State Manager](scheduling-automations-state-manager-associations.md). 

Il est recommandé d'utiliser des balises lors de la création d'associations qui utilisent un document de commande ou de politique. Nous vous recommandons également d'utiliser des balises lors de la création d'associations pour exécuter des groupes Auto Scaling. Pour de plus amples informations, veuillez consulter [Exécution de groupes Auto Scaling avec des associations](systems-manager-state-manager-asg.md).

**Note**  
Notez les informations suivantes.  
Lorsque vous créez une association dans le AWS Management Console qui cible des nœuds à l'aide de balises, vous ne pouvez spécifier qu'une seule clé de balise pour une association d'automatisation et cinq clés de balise pour une association de commande. *Toutes* les clés de balise spécifiées dans l’association doivent être actuellement attribuées au nœud. Si elles ne le sont pas, State Manager ne parvient pas à cibler le nœud pour une association.
Si vous souhaitez utiliser la console *et* cibler vos nœuds en utilisant plusieurs clés de balise pour une association d'automatisation et cinq clés de balise pour une association de commandes, attribuez les clés de balise à un Groupes de ressources AWS groupe et ajoutez-y les nœuds. Vous pouvez ensuite choisir l'option **Groupe de ressources** dans la liste des **cibles** lorsque vous créez l'association State Manager.
Vous pouvez spécifier un maximum de cinq clés de balise en utilisant la AWS CLI. Si vous utilisez le AWS CLI, *toutes les* clés de balise spécifiées dans la `create-association` commande doivent être actuellement attribuées au nœud. Si elles ne le sont pas, State Manager ne parvient pas à cibler le nœud pour une association.

**Choix manuel des nœuds**  
Utilisez cette option pour sélectionner manuellement les nœuds dans lesquelles vous souhaitez créer l'association. Le volet **Instances** affiche tous les nœuds gérés par Systems Manager dans les versions actuelles Compte AWS et Région AWS. Vous pouvez sélectionner manuellement autant de nœuds que vous le souhaitez. Lorsque le système crée l'association, il l'exécute. Après cette première exécution, le système exécute l'association selon la planification que vous avez spécifiée.

**Note**  
Si, contrairement à vos attentes, un nœud géré ne figure pas dans la liste, consultez [Résolution des problèmes de disponibilité des nœuds gérés](fleet-manager-troubleshooting-managed-nodes.md) pour obtenir des conseils de dépannage.

**Pour choisir un groupe de ressources**  
Utilisez cette option pour créer une association sur tous les nœuds renvoyés par une requête Groupes de ressources AWS basée sur des balises ou des AWS CloudFormation piles. 

Vous trouverez ci-dessous des informations détaillées sur le ciblage des groupes de ressources pour une association.
+ Si vous ajoutez de nouveaux nœuds à un groupe, le système mappe automatiquement les nœuds à l'association qui cible le groupe de ressources. Le système applique l'association aux nœuds lorsqu'il détecte la modification. Après cette première exécution, le système exécute l'association selon la planification que vous avez spécifiée.
+ Si vous créez une association qui cible un groupe de ressources et que le type de `AWS::SSM::ManagedInstance` ressource a été spécifié pour ce groupe, l'association est conçue pour fonctionner à la fois sur des instances Amazon Elastic Compute Cloud (Amazon EC2) et sur des EC2 non-nœuds dans un environnement [hybride et multicloud](operating-systems-and-machine-types.md#supported-machine-types).

  L’inverse est également vrai. Si vous créez une association qui cible un groupe de ressources et que le type de `AWS::EC2::Instance` ressource a été spécifié pour ce groupe, l'association est conçue pour fonctionner à la fois sur des EC2 non-nœuds dans un environnement [hybride et multicloud](operating-systems-and-machine-types.md#supported-machine-types) et sur des instances (Amazon EC2).
+ Si vous créez une association qui cible un groupe de ressources, ce groupe ne doit pas disposer de plus de cinq clés de balises affectées à celui-ci ou plus de cinq valeurs spécifiées pour une clé de balises. Si l'une de ces conditions s'applique aux balises et aux clés attribuées à votre groupe de ressources, l'association ne s'exécutera pas et renverra une erreur `InvalidTarget`. 
+ Si vous créez une association qui cible un groupe de ressources à l’aide de balises, vous ne pouvez pas choisir l’option **(valeur vide)** pour la valeur de balise.
+ Si vous supprimez un groupe de ressources, toutes les instances de ce groupe n'exécutent plus l'association. Il est recommandé de supprimer les associations ciblant le groupe.
+ Vous ne pouvez cibler qu'un seul groupe de ressources pour une association. Les groupes multiples ou imbriqués ne sont pas pris en charge.
+ Après avoir créé une association, State Manager met à jour périodiquement l'association avec des informations sur les ressources du groupe de ressources. Si vous ajoutez de nouvelles ressources à un groupe de ressources, la planification du moment où le système applique l'association aux nouvelles ressources dépend de plusieurs facteurs. Vous pouvez déterminer le statut de l'association sur la page State Manager de la console Systems Manager.

**Avertissement**  
Un utilisateur, un groupe ou un rôle Gestion des identités et des accès AWS (IAM) autorisé à créer une association qui cible un groupe de ressources d' EC2 instances Amazon contrôle automatiquement au niveau racine toutes les instances du groupe. Seuls les administrateurs approuvés doivent être autorisés à créer des associations. 

Pour de plus amples informations sur Resource Groups, consultez [Qu'est-ce que Groupes de ressources AWS ?](https://docs.aws.amazon.com/ARG/latest/userguide/) dans le *Guide de l'utilisateur Groupes de ressources AWS *.

**Choisir tous les nœuds**  
Utilisez cette option pour cibler tous les nœuds du Compte AWS et actuel Région AWS. Lorsque vous exécutez la demande, le système localise et tente de créer l'association sur tous les nœuds du Compte AWS et Région AWS actuel. Lorsque le système crée l'association, il l'exécute. Après cette première exécution, le système exécute l'association selon la planification que vous avez spécifiée. Si vous créez des nœuds, le système applique automatiquement l'association, l'exécute immédiatement, puis l'exécute conformément à la planification.

## Utilisation des contrôles de taux
<a name="systems-manager-state-manager-targets-and-rate-controls-about-controls"></a>

Vous pouvez contrôler l'exécution d'une association sur vos nœuds en spécifiant une valeur de simultanéité et un seuil d'erreur. La valeur de simultanéité spécifie le nombre de nœuds autorisés à exécuter l'association simultanément. Un seuil d'erreur spécifie le nombre d'exécutions d'associations qui peuvent échouer avant que Systems Manager n'envoie une commande à chaque nœud configuré avec cette association pour qu'il cesse de l'exécuter. La commande arrête l'exécution de l'association jusqu'à la prochaine exécution planifiée. Les fonctions de simultanéité et de seuil d'erreurs sont appelées collectivement *contrôles du débit*. 

![\[Différentes options de contrôle du débit lors de la création d'une association State Manager\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/state-manager-rate-controls.png)


**Concurrency**  
La simultanéité permet de limiter l'impact sur vos nœuds en vous permettant de spécifier que seul un certain nombre de nœuds peuvent traiter une association à la fois. Vous pouvez spécifier soit un nombre absolu de nœuds, par exemple 20, soit un pourcentage de l'ensemble cible de nœuds, par exemple 10 %.

La simultanéité State Manager comporte les restrictions et limitations suivantes :
+ Si vous choisissez de créer une association à l'aide de cibles, mais que vous ne spécifiez pas de valeur de simultanéité, State Manager applique automatiquement une simultanéité maximale de 50 nœuds.
+ Si de nouveaux nœuds correspondant aux critères cibles sont mis en ligne pendant qu'une association utilisant la simultanéité s'exécute, les nouveaux nœuds exécutent l'association si la valeur de simultanéité n'est pas dépassée. Si la valeur de la concurrence est dépassée, les nœuds sont ignorés pendant l'intervalle d'exécution de l'association en cours. Les nœuds exécutent l'association lors du prochain intervalle programmé tout en se conformant aux exigences de simultanéité.
+ Si vous mettez à jour une association qui utilise la simultanéité, et qu'un ou plusieurs nœuds traitent cette association lorsque celle-ci est mise à jour, tout nœud qui exécute l'association sera autorisé à se terminer. Les associations qui n'ont pas commencé sont abandonnées. Une fois que les associations en cours d'exécution sont terminées, tous les nœuds cibles ré-exécutent immédiatement l'association, car celle-ci a été mise à jour. Lorsque l'association s'exécute à nouveau, la valeur de simultanéité est appliquée. 

**Seuils d'erreurs**  
Un seuil d'erreur spécifie le nombre d'exécutions d'associations qui peuvent échouer avant que Systems Manager n'envoie une commande à chaque nœuds configuré avec cette association. La commande arrête l'exécution de l'association jusqu'à la prochaine exécution planifiée. Vous pouvez spécifier un nombre absolu d'erreurs, par exemple 10, ou un pourcentage de l'ensemble de la cible, par exemple 10 %.

Par exemple, si vous spécifiez un nombre absolu de trois erreurs, State Manager envoie la commande d'arrêt lorsque la quatrième erreur est renvoyée. Si vous spécifiez 0, State Manager envoie la commande d'arrêt dès que le premier résultat d'erreur est renvoyé.

Si vous spécifiez un seuil d'erreurs de 10 % pour 50 associations, State Manager envoie la commande d'arrêt lorsque la sixième erreur est renvoyée. Les associations qui s'exécutent déjà quand un seuil d'erreurs est atteint sont autorisées à se terminer, mais certaines de ces associations peuvent échouer. Pour vous assurer qu'il n'y pas plus d'erreurs que le nombre spécifié pour le seuil d'erreurs, définissez la valeur de **Concurrency (Simultanéité)** sur 1 afin que les associations s'exécutent une par une. 

Les seuils d'erreurs State Manager comportent les limites et restrictions suivantes :
+ Les seuils d'erreurs sont appliqués pour l'intervalle actuel.
+ Des informations sur chaque erreur, y compris des détails au niveau des étapes, sont enregistrées dans l'historique d'association.
+ Si vous choisissez de créer une association à l'aide de cibles, mais que vous ne spécifiez pas de seuil d'erreurs, State Manager applique automatiquement un seuil de 100 échecs.

# Création d'associations
<a name="state-manager-associations-creating"></a>

State Manager, un outil dans AWS Systems Manager, vous aide à maintenir vos AWS ressources dans un état défini et à réduire la dérive de configuration. Pour ce faire, State Manager utilise des associations. Une *association* est une configuration que vous affectez à vos ressources AWS . La configuration définit le statut que vous souhaitez conserver sur vos ressources. Par exemple, une association peut spécifier qu'un logiciel antivirus doit être installé et s'exécuter sur un nœud géré, ou que certains ports doivent être fermés.

Une association spécifie une planification indiquant quand appliquer la configuration et quelles sont les cibles de l'association. Par exemple, une association pour un logiciel antivirus peut s'exécuter une fois par jour sur tous les nœuds gérés d'un Compte AWS. Si le logiciel n'est pas installé sur un nœud, l'association pourrait demander à State Manager de l'installer. Si le logiciel est installé, mais que le service ne s'exécute pas, l'association pourrait demander à State Manager de démarrer le service.

**Avertissement**  
Lorsque vous créez une association, vous pouvez choisir un groupe de AWS ressources de nœuds gérés comme cible pour l'association. Si un utilisateur, un groupe ou un rôle Gestion des identités et des accès AWS (IAM) est autorisé à créer une association qui cible un groupe de ressources de nœuds gérés, cet utilisateur, ce groupe ou ce rôle contrôle automatiquement au niveau racine tous les nœuds du groupe. Seuls les administrateurs approuvés doivent être autorisés à créer des associations. 

**Objectifs des associations et contrôles du débit**  
Une association spécifie également quels nœuds gérés, ou cibles, doivent recevoir l'association. State Manager inclut plusieurs fonctions pour vous aider à cibler vos nœuds gérés et à contrôler la façon dont l'association est déployée sur ces cibles. Pour de plus amples informations sur les cibles et les contrôles du débit, consultez [Comprendre les cibles et les contrôles du taux dans les associations State Manager](systems-manager-state-manager-targets-and-rate-controls.md).

**Balisage d’associations**  
Vous pouvez attribuer des balises à une association lorsque vous la créez à l'aide d'un outil de ligne de commande tel que le AWS CLI ou Outils AWS pour PowerShell. L'ajout de balises à une association à l'aide de la console Systems Manager n'est pas pris en charge. 

**Exécuter les associations**  
Par défaut, State Manager exécute une association immédiatement après sa création, puis selon le calendrier que vous avez défini. 

Le système exécute également les associations selon les règles suivantes :
+ State Manager tente d'exécuter l'association sur tous les nœuds spécifiés ou ciblés au cours d'un intervalle.
+ Si une association n'est pas exécutée au cours d'un intervalle (par exemple, parce qu'une valeur de simultanéité a limité par le nombre de nœuds pouvant traiter l'association simultanément), State Manager tente d'exécuter l'association lors du prochain intervalle.
+ State Manager exécute l'association après avoir modifié la configuration, les nœuds cibles, les documents ou les paramètres de l'association. Pour de plus amples informations, consultez [Comprendre quand les associations sont appliquées aux ressources](state-manager-about.md#state-manager-about-scheduling).
+ State Manager enregistre un historique pour tous les intervalles ignorés. Vous pouvez consulter l'historique dans l'onglet **Execution History (Historique d'exécution)**.

## Planifier les associations
<a name="state-manager-about-creating-associations"></a>

Vous pouvez planifier des associations pour qu'elles s'exécutent à des intervalles de base, par exemple *toutes les 10 heures*, ou vous pouvez créer des planifications plus avancées à l'aide d'expressions cron et rate personnalisées. Vous pouvez également empêcher les associations de s'exécuter lorsque vous les créez pour la première fois. 

**Utiliser les expressions cron et rate pour planifier les exécutions des associations**  
Outre les expressions cron ou rate standard, State Manager prend également en charge les expressions cron qui incluent un jour de la semaine et le signe numérique (\$1) pour désigner le *n*e jour d'un mois pour exécuter une association. Voici un exemple qui exécute une planification cron le troisième mardi de chaque mois à 23 h 30 UTC :

`cron(30 23 ? * TUE#3 *)`

Voici un exemple qui se déroule le deuxième jeudi de chaque mois à minuit UTC :

`cron(0 0 ? * THU#2 *)`

State Manager prend également en charge le signe (L) pour indiquer le dernier *X* jour du mois. Voici un exemple qui exécute une planification cron le dernier mardi de chaque mois à 23 h 30 UTC :

`cron(0 0 ? * 3L *)`

Pour contrôler davantage l'exécution d'une association, par exemple si vous souhaitez exécuter une association deux jours après le correctif mardi, vous pouvez spécifier un décalage. Un *offset* (décalage) définit le nombre de jours d'attente après le jour prévu pour exécuter une association. Par exemple, si vous avez spécifié une planification cron de `cron(0 0 ? * THU#2 *)`, vous pouvez spécifier le numéro 3 dans le champ **Schedule offset** (Décalage de planification) pour exécuter l'association tous les dimanches après le deuxième jeudi du mois.

**Note**  
Pour utiliser des décalages, vous devez sélectionner **Appliquer l'association uniquement à l'intervalle Cron spécifié suivant** dans la console ou vous devez spécifier le paramètre `ApplyOnlyAtCronInterval` dans la ligne de commande. Lorsque l'une de ces options est activée, State Manager n'exécute pas d'association immédiatement après sa création.

Pour plus d'informations sur les expressions de type cron et rate, consultez [Référence : Expressions Cron et Rate pour Systems Manager](reference-cron-and-rate-expressions.md).

## Créer une association (console)
<a name="state-manager-associations-console"></a>

La procédure suivante décrit comment utiliser la console Systems Manager pour créer une association State Manager.

**Note**  
Notez les informations suivantes.  
Cette procédure décrit comment créer une association qui utilise une `Command` ou un document `Policy` pour cibler les nœuds gérés. Pour plus d'informations sur la création d'une association qui utilise un runbook Automation vers des nœuds cibles ou d'autres types de ressources AWS , consultez [Exécution des automatisations avec les associations State Manager](scheduling-automations-state-manager-associations.md).
Lorsque vous créez une association, vous pouvez spécifier un maximum de cinq clés de balise en utilisant la AWS Management Console. *Toutes* les clés de balise spécifiées pour l’association doivent être actuellement attribuées au nœud. Si elles ne le sont pas, State Manager ne parvient pas à cibler le nœud pour l’association.

**Pour créer une association State Manager**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **State Manager**.

1. Sélectionnez **Créer une association**.

1. Dans le champ **Nom**, spécifiez un nom.

1. Dans la liste **Document**, sélectionnez l'option en regard du nom d'un document. Notez le type de document. Cette procédure s'applique aux documents `Policy` et `Command`. Pour plus d'informations sur la création d'une association qui utilise un runbook Automation, consultez [Exécution des automatisations avec les associations State Manager](scheduling-automations-state-manager-associations.md).
**Important**  
State Manager ne prend pas en charge l'exécution d'associations utilisant une nouvelle version d'un document si ce document est partagé à partir d'un autre compte. State Manager exécute toujours la version `default` d'un document s'il est partagé depuis un autre compte, même si la console Systems Manager indique qu'une nouvelle version a été traitée. Si vous souhaitez exécuter une association à l’aide d’une nouvelle version d’un document partagé à partir d’un autre compte, vous devez définir la version du document sur `default`.

1. Pour **Parameters (Paramètres)**, spécifiez les paramètres d'entrée requis.

1. (Facultatif) Pour **Association Dispatch Assume** Role, sélectionnez un rôle dans le menu déroulant. Le State Manager prendra des mesures en utilisant ce rôle en votre nom. Pour plus d'informations sur la configuration du rôle personnalisé, voir [Configurer les rôles pour `AssociationDispatchAssumeRole`](state-manager-about.md#setup-assume-role) 
**Note**  
Il est recommandé de définir un rôle IAM personnalisé afin de contrôler totalement les autorisations dont dispose le State Manager lorsqu'il prend des mesures en votre nom.  
Le soutien aux rôles lié au service dans State Manager est progressivement supprimé. Les associations qui s'appuient sur un rôle lié à un service peuvent avoir besoin de mises à jour à l'avenir pour continuer à fonctionner correctement.  
Pour plus d'informations sur la gestion de l'utilisation des rôles fournis sur mesure, consultez[Gérez l'utilisation AssociationDispatchAssumeRole de `ssm:AssociationDispatchAssumeRole`](state-manager-about.md#context-key-assume-role).

1. (Facultatif) Choisissez une CloudWatch alarme à appliquer à votre association à des fins de surveillance. 
**Note**  
Notez les informations suivantes concernant ce passage.  
La liste des alarmes affiche 100 alarmes maximum. Si votre alarme ne figure pas dans la liste, utilisez le AWS Command Line Interface pour créer l'association. Pour de plus amples informations, veuillez consulter [Créer une association (ligne de commande)](#create-state-manager-association-commandline).
Pour associer une CloudWatch alarme à votre commande, le principal IAM qui crée l'association doit être autorisé à effectuer l'`iam:createServiceLinkedRole`action. Pour plus d'informations sur les CloudWatch alarmes, consultez la section [Utilisation des CloudWatch alarmes Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html).
Si votre alarme se déclenche, toute invocation ou automatisme de commande en attente ne s’exécute pas.

1. Pour **Targets (Cibles)**, sélectionnez une option. Pour plus d'informations sur l'utilisation des cibles, consultez [Comprendre les cibles et les contrôles du taux dans les associations State Manager](systems-manager-state-manager-targets-and-rate-controls.md).
**Note**  
Pour que les associations créées avec les dossiers d’exploitation Automation soient appliquées lorsque de nouveaux nœuds cibles sont détectés, certaines conditions doivent être remplies. Pour plus d'informations, consultez [À propos des mises à jour de cibles avec les dossiers d’exploitation Automation](state-manager-about.md#runbook-target-updates).

1. Dans la section **Specify schedule (Spécifier le programme)**, sélectionnez **On Schedule (Selon le calendrier)** ou **No schedule (Pas de calendrier)**. Si vous sélectionnez **On Schedule (Selon planification)**, utilisez les boutons fournis pour créer une planification de type cron ou rate pour l'association. 

   Si vous ne souhaitez pas que l'association s'exécute immédiatement après sa création, sélectionnez **Appliquer l'association uniquement à l'intervalle Cron spécifié suivant**.

1. (Facultatif) Dans le **Schedule offset** (Décalage de planification), spécifiez un nombre compris entre 1 et 6. 

1. Dans la section **Options avancées** utilisez **Compliance severity (Sévérité de la conformité)** pour choisir un niveau de sévérité pour l'association, et utilisez **Change Calendriers (Calendriers de modifications)** pour choisir un calendrier des modifications pour l'association.

   Les rapports de conformité indiquent si l'état de l'association est conforme ou non conforme, ainsi que le niveau de sévérité que vous spécifiez ici. Pour de plus amples informations, veuillez consulter [A propos de la conformité des associations State Manager](compliance-about.md#compliance-about-association).

   Le calendrier des modifications détermine l'instant d'exécution de l'association. Si le calendrier est fermé, l'association n'est pas appliquée. Si le calendrier est ouvert, l'association s'exécute en conséquence. Pour de plus amples informations, veuillez consulter [AWS Systems Manager Change Calendar](systems-manager-change-calendar.md).

1. Dans la section **Rate control** (Contrôle du rythme), sélectionnez les options permettant de contrôler la façon dont l'association s'exécute sur plusieurs nœuds gérés. Pour de plus amples informations sur l'utilisation des contrôles de débit, consultez [Comprendre les cibles et les contrôles du taux dans les associations State Manager](systems-manager-state-manager-targets-and-rate-controls.md).

   Dans la section **Simultanéité**, sélectionnez une option : 
   + Sélectionnez **targets (cibles)** pour entrer un nombre absolu de cibles pouvant exécuter l'association simultanément.
   + Sélectionnez **percentage (pourcentage)** pour saisir un pourcentage de l'ensemble de cibles pouvant exécuter l'association simultanément.

   Dans la section **Error threshold (Seuil d'erreurs)**, sélectionnez une option :
   + Sélectionnez **errors (erreurs)** pour saisir un nombre absolu d'erreurs autorisées avant que State Manager ne cesse d'exécuter des associations sur des cibles supplémentaires.
   + Sélectionnez **percentage (pourcentage)** pour saisir un pourcentage d'erreurs autorisées avant que State Manager ne cesse d'exécuter des associations sur des cibles supplémentaires.

1. (Facultatif) Dans **Output options (Options de sortie)**, pour enregistrer la sortie de la commande dans un fichier, sélectionnez **Enable writing to an S3 bucket (Autoriser l'écriture dans un compartiment S3)** Saisissez les noms de compartiment et de préfixe (dossier) dans les zones.
**Note**  
Les autorisations S3 qui donnent la possibilité d'écrire les données dans un compartiment S3 sont celles du profil d'instance attribué au nœud géré, et non celles de l'utilisateur IAM qui effectue cette tâche. Pour plus d’informations, consultez les sections [Configurer des autorisations d’instance requises pour Systems Manager](setup-instance-permissions.md) et [Créer un rôle de service IAM pour un environnement hybride](hybrid-multicloud-service-role.md). En outre, si le compartiment S3 spécifié se trouve sur un autre Compte AWS, vérifiez que le profil d'instance ou la fonction de service IAM associé au nœud géré dispose des autorisations nécessaires pour écrire dans ce compartiment.

   Voici les autorisations minimales requises pour activer la sortie Amazon S3 pour une association. Vous pouvez restreindre davantage l'accès en attachant des politiques IAM à des utilisateurs ou à des rôles au sein d'un compte. Au minimum, un profil d'instance Amazon EC2 doit disposer d'un rôle IAM avec la politique gérée `AmazonSSMManagedInstanceCore` et la politique en ligne suivante. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:PutObjectAcl"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
           }
       ]
   }
   ```

------

   Pour des autorisations minimales, le compartiment Amazon S3 vers lequel s'effectue l'exportation doit disposer des paramètres par défaut définis par la console Amazon S3. Pour plus d'informations sur la création de compartiments Amazon S3, consultez [Création d'un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *Guide de l'utilisateur Amazon S3*. 
**Note**  
Les opérations d'API initiées par le document SSM lors d'une exécution d'association ne sont pas journalisées dans AWS CloudTrail.

1. Sélectionnez **Create Association (Créer une association)**.

**Note**  
Si vous supprimez l'association que vous avez créée, celle-ci ne s'exécute plus sur aucune cible de cette association.

## Créer une association (ligne de commande)
<a name="create-state-manager-association-commandline"></a>

La procédure suivante décrit comment utiliser AWS CLI (sous Linux ouWindows Server) ou les outils PowerShell pour créer une State Manager association. Cette section présente plusieurs exemples qui montrent comment utiliser les cibles et les contrôles du débit. Les cibles et les contrôles du rythme vous permettent d'affecter une association à des dizaines ou des centaines de nœuds, tout en contrôlant l'exécution de ces associations. Pour de plus amples informations sur les cibles et les contrôles du débit, consultez [Comprendre les cibles et les contrôles du taux dans les associations State Manager](systems-manager-state-manager-targets-and-rate-controls.md).

**Important**  
Cette procédure décrit comment créer une association qui utilise une `Command` ou un document `Policy` pour cibler les nœuds gérés. Pour plus d'informations sur la création d'une association utilisant un runbook d'automatisation pour cibler des nœuds ou d'autres types de AWS ressources, consultez[Exécution des automatisations avec les associations State Manager](scheduling-automations-state-manager-associations.md).

**Avant de commencer**  
Le paramètre `targets` est un tableau de critères de recherche qui cible les instances en utilisant une combinaison `Key`,`Value` (Clé-Valeur) que vous spécifiez. Si vous prévoyez de créer une association sur des dizaines ou des centaines de nœuds à l'aide du paramètre `targets`, passez en revue les options de ciblage suivantes avant de commencer la procédure.

Ciblez des nœuds spécifiques en spécifiant IDs

```
--targets Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3
```

```
--targets Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE
```

Cibler les instances à l'aide de balises

```
--targets Key=tag:tag-key,Values=tag-value-1,tag-value-2,tag-value-3
```

```
--targets Key=tag:Environment,Values=Development,Test,Pre-production
```

Ciblez des nœuds en utilisant Groupes de ressources AWS

```
--targets Key=resource-groups:Name,Values=resource-group-name
```

```
--targets Key=resource-groups:Name,Values=WindowsInstancesGroup
```

Ciblez toutes les instances actuelles Compte AWS et Région AWS

```
--targets Key=InstanceIds,Values=*
```

**Note**  
Notez les informations suivantes.  
State Manager ne prend pas en charge l'exécution d'associations utilisant une nouvelle version d'un document si ce document est partagé à partir d'un autre compte. State Manager exécute toujours la version `default` d'un document s'il est partagé depuis un autre compte, même si la console Systems Manager indique qu'une nouvelle version a été traitée. Si vous souhaitez exécuter une association à l'aide d'une nouvelle version d'un document partagé à partir d'un autre compte, vous devez définir la version du document sur `default`.
State Managerne prend pas en charge les `TargetLocationAlarmConfiguration` paramètres `IncludeChildOrganizationUnits` `ExcludeAccounts` `TargetsMaxErrors``TargetsMaxConcurrency`,`Targets`,,, pour [TargetLocation](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_TargetLocation.html).
Vous pouvez spécifier un maximum de cinq clés de balise en utilisant la AWS CLI. Si vous utilisez le AWS CLI, *toutes les* clés de balise spécifiées dans la `create-association` commande doivent être actuellement attribuées au nœud. Si elles ne le sont pas, State Manager ne parvient pas à cibler le nœud pour une association.
Lorsque vous créez une association, vous spécifiez à quel moment le programme s'exécute. Spécifiez le programme à l'aide d'une expression de type cron ou rate. Pour plus d'informations sur les expressions de type cron et rate, consultez [Expressions cron et rate pour les associations](reference-cron-and-rate-expressions.md#reference-cron-and-rate-expressions-association).
Pour que les associations créées avec les dossiers d’exploitation Automation soient appliquées lorsque de nouveaux nœuds cibles sont détectés, certaines conditions doivent être remplies. Pour plus d'informations, consultez [À propos des mises à jour de cibles avec les dossiers d’exploitation Automation](state-manager-about.md#runbook-target-updates).

**Créer une association**

1. Installez et configurez le AWS CLI ou le Outils AWS pour PowerShell, si ce n'est pas déjà fait.

   Pour plus d'informations, consultez la section [Installation ou mise à jour de la version la plus récente de l' AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) et [Installation d' Outils AWS pour PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html).

1. Utilisez le format suivant pour créer une commande qui crée une association State Manager. Remplacez chaque *example resource placeholder* par vos propres informations.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
       --name document_name \
       --document-version version_of_document_applied \
       --instance-id instances_to_apply_association_on \
       --parameters (if any) \
       --targets target_options \
       --association-dispatch-assume-role arn_of_role_to_be_used_when_dispatching_configurations \
       --schedule-expression "cron_or_rate_expression" \
       --apply-only-at-cron-interval required_parameter_for_schedule_offsets \
       --schedule-offset number_between_1_and_6 \
       --output-location s3_bucket_to_store_output_details \
       --association-name association_name \
       --max-errors a_number_of_errors_or_a_percentage_of_target_set \
       --max-concurrency a_number_of_instances_or_a_percentage_of_target_set \
       --compliance-severity severity_level \
       --calendar-names change_calendar_names \
       --target-locations aws_region_or_account \
       --tags "Key=tag_key,Value=tag_value"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
       --name document_name ^
       --document-version version_of_document_applied ^
       --instance-id instances_to_apply_association_on ^
       --parameters (if any) ^
       --targets target_options ^
       --association-dispatch-assume-role arn_of_role_to_be_used_when_dispatching_configurations ^
       --schedule-expression "cron_or_rate_expression" ^
       --apply-only-at-cron-interval required_parameter_for_schedule_offsets ^
       --schedule-offset number_between_1_and_6 ^
       --output-location s3_bucket_to_store_output_details ^
       --association-name association_name ^
       --max-errors a_number_of_errors_or_a_percentage_of_target_set ^
       --max-concurrency a_number_of_instances_or_a_percentage_of_target_set ^
       --compliance-severity severity_level ^
       --calendar-names change_calendar_names ^
       --target-locations aws_region_or_account ^
       --tags "Key=tag_key,Value=tag_value"
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
       -Name document_name `
       -DocumentVersion version_of_document_applied `
       -InstanceId instances_to_apply_association_on `
       -Parameters (if any) `
       -Target target_options `
       -AssociationDispatchAssumeRole arn_of_role_to_be_used_when_dispatching_configurations `
       -ScheduleExpression "cron_or_rate_expression" `
       -ApplyOnlyAtCronInterval required_parameter_for_schedule_offsets `
       -ScheduleOffSet number_between_1_and_6 `
       -OutputLocation s3_bucket_to_store_output_details `
       -AssociationName association_name `
       -MaxError  a_number_of_errors_or_a_percentage_of_target_set
       -MaxConcurrency a_number_of_instances_or_a_percentage_of_target_set `
       -ComplianceSeverity severity_level `
       -CalendarNames change_calendar_names `
       -TargetLocations aws_region_or_account `
       -Tags "Key=tag_key,Value=tag_value"
   ```

------

   L'exemple suivant crée une association sur des nœuds labélisés avec `"Environment,Linux"`. L'association utilise le document `AWS-UpdateSSMAgent` pour mettre à jour SSM Agent sur les nœuds ciblés à 2 h (UTC) chaque dimanche matin. Cette association s'exécute simultanément sur 10 nœuds maximum à un moment donné. En outre, cette association cesse d'être exécutée sur des nœuds supplémentaires pour un intervalle d'exécution particulier si le nombre d'erreurs dépasse 5. Pour les rapports de conformité, cette association se voit attribuer un niveau de sévérité Medium (Moyenne).

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
     --association-name Update_SSM_Agent_Linux \
     --targets Key=tag:Environment,Values=Linux \
     --name AWS-UpdateSSMAgent  \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --compliance-severity "MEDIUM" \
     --schedule-expression "cron(0 2 ? * SUN *)" \
     --max-errors "5" \
     --max-concurrency "10"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
     --association-name Update_SSM_Agent_Linux ^
     --targets Key=tag:Environment,Values=Linux ^
     --name AWS-UpdateSSMAgent  ^
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --compliance-severity "MEDIUM" ^
     --schedule-expression "cron(0 2 ? * SUN *)" ^
     --max-errors "5" ^
     --max-concurrency "10"
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
     -AssociationName Update_SSM_Agent_Linux `
     -Name AWS-UpdateSSMAgent `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -Target @{
         "Key"="tag:Environment"
         "Values"="Linux"
       } `
     -ComplianceSeverity MEDIUM `
     -ScheduleExpression "cron(0 2 ? * SUN *)" `
     -MaxConcurrency 10 `
     -MaxError 5
   ```

------

   L'exemple suivant cible le nœud IDs en spécifiant une valeur générique (\$1). Cela permet à Systems Manager de créer une association sur *tous les* nœuds de l'actuel Compte AWS et Région AWS. Cette association s'exécute simultanément sur 10 nœuds maximum à un moment donné. En outre, cette association cesse d'être exécutée sur des nœuds supplémentaires pour un intervalle d'exécution particulier si le nombre d'erreurs dépasse 5. Pour les rapports de conformité, cette association se voit attribuer un niveau de sévérité Medium (Moyenne). Cette association utilise un décalage de planification, ce qui signifie qu'elle s'exécute deux jours après la planification cron spécifiée. Elle inclut également le paramètre `ApplyOnlyAtCronInterval`, qui est requis pour utiliser le décalage de planification, ce qui signifie que l'association ne sera pas exécutée immédiatement après sa création.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
     --association-name Update_SSM_Agent_Linux \
     --name "AWS-UpdateSSMAgent" \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --targets "Key=instanceids,Values=*" \
     --compliance-severity "MEDIUM" \
     --schedule-expression "cron(0 2 ? * SUN#2 *)" \
     --apply-only-at-cron-interval \
     --schedule-offset 2 \
     --max-errors "5" \
     --max-concurrency "10" \
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
     --association-name Update_SSM_Agent_Linux ^
     --name "AWS-UpdateSSMAgent" ^
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --targets "Key=instanceids,Values=*" ^
     --compliance-severity "MEDIUM" ^
     --schedule-expression "cron(0 2 ? * SUN#2 *)" ^
     --apply-only-at-cron-interval ^
     --schedule-offset 2 ^
     --max-errors "5" ^
     --max-concurrency "10" ^
     --apply-only-at-cron-interval
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
     -AssociationName Update_SSM_Agent_All `
     -Name AWS-UpdateSSMAgent `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -Target @{
         "Key"="InstanceIds"
         "Values"="*"
       } `
     -ScheduleExpression "cron(0 2 ? * SUN#2 *)" `
     -ApplyOnlyAtCronInterval `
     -ScheduleOffset 2 `
     -MaxConcurrency 10 `
     -MaxError 5 `
     -ComplianceSeverity MEDIUM `
     -ApplyOnlyAtCronInterval
   ```

------

   L'exemple suivant crée une association sur des nœuds dans des groupes de ressources. Le groupe est nommé « HR-Department ». L'association utilise le document `AWS-UpdateSSMAgent` pour mettre à jour SSM Agent sur les nœuds ciblés à 2 h (UTC) chaque dimanche matin. Cette association s'exécute simultanément sur 10 nœuds maximum à un moment donné. En outre, cette association cesse d'être exécutée sur des nœuds supplémentaires pour un intervalle d'exécution particulier si le nombre d'erreurs dépasse 5. Pour les rapports de conformité, cette association se voit attribuer un niveau de sévérité Medium (Moyenne). Cette association s'exécute selon la planification Cron spécifiée. Il ne s'exécute pas immédiatement après la création de l'association.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
     --association-name Update_SSM_Agent_Linux \
     --targets Key=resource-groups:Name,Values=HR-Department \
     --name AWS-UpdateSSMAgent  \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --compliance-severity "MEDIUM" \
     --schedule-expression "cron(0 2 ? * SUN *)" \
     --max-errors "5" \
     --max-concurrency "10" \
     --apply-only-at-cron-interval
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
     --association-name Update_SSM_Agent_Linux ^
     --targets Key=resource-groups:Name,Values=HR-Department ^
     --name AWS-UpdateSSMAgent  ^
     -association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --compliance-severity "MEDIUM" ^
     --schedule-expression "cron(0 2 ? * SUN *)" ^
     --max-errors "5" ^
     --max-concurrency "10" ^
     --apply-only-at-cron-interval
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
     -AssociationName Update_SSM_Agent_Linux `
     -Name AWS-UpdateSSMAgent `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -Target @{
         "Key"="resource-groups:Name"
         "Values"="HR-Department"
       } `
     -ScheduleExpression "cron(0 2 ? * SUN *)" `
     -MaxConcurrency 10 `
     -MaxError 5 `
     -ComplianceSeverity MEDIUM `
     -ApplyOnlyAtCronInterval
   ```

------

   L'exemple suivant crée une association qui s'exécute sur des nœuds balisés avec un ID de nœud spécifique. L'association utilise le document SSM Agent pour mettre à jour l'SSM Agent sur les nœuds ciblés une fois, lorsque le calendrier des modifications est ouvert. L'association vérifie l'état du calendrier lorsqu'elle s'exécute. Si le calendrier est fermé au moment du lancement et que l'association ne s'exécute qu'une seule fois, elle ne s'exécutera plus car la fenêtre d'exécution de l'association est passée. Si le calendrier est ouvert, l'association s'exécute en conséquence.
**Note**  
Si vous ajoutez de nouveaux nœuds aux identifications ou aux groupes de ressources sur lesquels une association agit lorsque le calendrier des modifications est fermé, l'association est appliquée à ces nœuds une fois que le calendrier des modifications s'ouvre.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
     --association-name CalendarAssociation \
     --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" \
     --name AWS-UpdateSSMAgent  \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" \
     --schedule-expression "rate(1day)"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
     --association-name CalendarAssociation ^
     --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" ^
     --name AWS-UpdateSSMAgent  ^
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" ^
     --schedule-expression "rate(1day)"
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
     -AssociationName CalendarAssociation `
     -Target @{
         "Key"="tag:instanceids"
         "Values"="i-0cb2b964d3e14fd9f"
       } `
     -Name AWS-UpdateSSMAgent `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -CalendarNames "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" `
     -ScheduleExpression "rate(1day)"
   ```

------

   L'exemple suivant crée une association qui s'exécute sur des nœuds balisés avec un ID de nœud spécifique. L'association utilise le document SSM Agent pour mettre à jour SSM Agent sur les nœuds ciblés à 2 h chaque dimanche matin. Cette association s'exécute uniquement selon la planification cron spécifiée lorsque le calendrier des modifications est ouvert. Lorsque l'association est créée, elle vérifie l'état du calendrier. Si le calendrier est fermé, l'association n'est pas appliquée. Lorsque l'intervalle d'application de l'association commence à 2h00 le dimanche, l'association vérifie si le calendrier est ouvert. Si le calendrier est ouvert, l'association s'exécute en conséquence.
**Note**  
Si vous ajoutez de nouveaux nœuds aux identifications ou aux groupes de ressources sur lesquels une association agit lorsque le calendrier des modifications est fermé, l'association est appliquée à ces nœuds une fois que le calendrier des modifications s'ouvre.

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
     --association-name MultiCalendarAssociation \
     --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" \
     --name AWS-UpdateSSMAgent  \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2" \
     --schedule-expression "cron(0 2 ? * SUN *)"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
     --association-name MultiCalendarAssociation ^
     --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" ^
     --name AWS-UpdateSSMAgent  ^
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2" ^
     --schedule-expression "cron(0 2 ? * SUN *)"
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
     -AssociationName MultiCalendarAssociation `
     -Name AWS-UpdateSSMAgent `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -Target @{
         "Key"="tag:instanceids"
         "Values"="i-0cb2b964d3e14fd9f"
       } `
     -CalendarNames "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2" `
     -ScheduleExpression "cron(0 2 ? * SUN *)"
   ```

------

**Note**  
Si vous supprimez l'association que vous avez créée, celle-ci ne s'exécute plus sur aucune cible de cette association. En outre, si vous avez spécifié le paramètre `apply-only-at-cron-interval`, vous pouvez réinitialiser cette option. Pour ce faire, spécifiez le paramètre `no-apply-only-at-cron-interval` lorsque vous mettez à jour l'association à partir de la ligne de commande. Ce paramètre force l'association à s'exécuter immédiatement après la mise à jour de l'association et selon l'intervalle spécifié.

# Modification et création de la nouvelle version d'une association
<a name="state-manager-associations-edit"></a>

Vous pouvez modifier une association State Manager pour spécifier un nouveau nom, un programme, un niveau de sévérité, des cibles ou d’autres valeurs. Pour les associations basées sur des documents de type SSM Command, vous pouvez également choisir d’écrire la sortie de la commande dans un compartiment Amazon Simple Storage Service (Amazon S3). Après avoir modifié une association, State Manager crée une nouvelle version. Vous pouvez afficher différentes versions après modification, comme décrit dans les procédures suivantes. 

**Note**  
Pour que les associations créées avec les dossiers d’exploitation Automation soient appliquées lorsque de nouveaux nœuds cibles sont détectés, certaines conditions doivent être remplies. Pour plus d'informations, consultez [À propos des mises à jour de cibles avec les dossiers d’exploitation Automation](state-manager-about.md#runbook-target-updates).

Les procédures suivantes décrivent comment modifier et créer une nouvelle version d'une association à l'aide de la console Systems Manager, AWS Command Line Interface (AWS CLI) et Outils AWS pour PowerShell (Tools for PowerShell). 

**Important**  
State Manager ne prend pas en charge l'exécution d'associations utilisant une nouvelle version d'un document si ce document est partagé à partir d'un autre compte. State Manager exécute toujours la version `default` d'un document s'il est partagé à partir d'un autre compte, même si la console Systems Manager indique qu'une nouvelle version a été traitée. Si vous souhaitez exécuter une association à l'aide d'une nouvelle version d'un document partagé à partir d'un autre compte, vous devez définir la version du document sur `default`.

## Modifier une association (console)
<a name="state-manager-associations-edit-console"></a>

La procédure suivante décrit comment utiliser la console Systems Manager pour modifier et créer une nouvelle version d'une association.

**Note**  
Pour les associations qui utilisent des documents SSM Command et non des dossiers d’exploitation Automation, cette procédure requiert que vous disposiez d’un accès en écriture à un compartiment Amazon S3 existant. Si vous n'avez encore jamais utilisé d'Amazon S3, sachez que des frais s'appliquer à son utilisation. Pour plus d'informations sur la création d'un compartiment, consultez [Créer un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html).

**Pour modifier une association State Manager**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **State Manager**.

1. Sélectionnez une association existante, puis choisissez **Modifier**.

1. Reconfigurez l’association en fonction de vos besoins actuels. 

   Pour plus d’informations sur les options d’association avec des documents `Command` et `Policy`, consultez la section [Création d'associations](state-manager-associations-creating.md). Pour plus d’informations sur les options d’association avec des dossiers d’exploitation Automation, consultez la section [Exécution des automatisations avec les associations State Manager](scheduling-automations-state-manager-associations.md).

1. Choisissez **Save Changes (Enregistrer les modifications)**. 

1. (Facultatif) Pour afficher des informations d’association, sélectionnez le nom de l’association que vous avez modifiée dans la page **Associations**, puis l’onglet **Versions**. Le système liste chaque version de l'association que vous avez créée et modifiée.

1. (Facultatif) Afin d’afficher le résultat pour les associations basées sur des documents `Command` SSM, procédez comme suit :

   1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

   1. Choisissez le nom du compartiment Simple Storage Service (Amazon S3) que vous avez spécifié pour le stockage de la sortie de commande, puis choisissez le dossier dont le nom est l'ID du nœud qui a exécuté l'association. (Si vous avez choisi de stocker la sortie dans un dossier du compartiment, ouvrez-le en premier.)

   1. Explorez sur plusieurs niveaux dans le dossier `awsrunPowerShell` vers le fichier `stdout`.

   1. Sélectionnez **Open** ou **Download** pour afficher le nom d'hôte.

## Modifier une association (ligne de commande)
<a name="state-manager-associations-edit-commandline"></a>

La procédure suivante décrit comment utiliser AWS CLI (sous Linux ouWindows Server) ou comment Outils AWS pour PowerShell modifier et créer une nouvelle version d'une association.

**Pour modifier une association State Manager**

1. Installez et configurez le AWS CLI ou le Outils AWS pour PowerShell, si ce n'est pas déjà fait.

   Pour plus d'informations, consultez la section [Installation ou mise à jour de la version la plus récente de l' AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) et [Installation d' Outils AWS pour PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html).

1. Utilisez le format suivant pour créer une commande permettant de modifier et de créer une nouvelle version d'une association State Manager existante. Remplacez chaque *example resource placeholder* par vos propres informations.
**Important**  
Lorsque vous appelez `[https://docs.aws.amazon.com/cli/latest/reference/ssm/desupdatecribe-association.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/desupdatecribe-association.html)`, le système supprime tous les paramètres facultatifs de la demande et remplace l'association par des valeurs null pour ces paramètres. Ce comportement est intégré à la conception. Vous devez spécifier tous les paramètres facultatifs dans l'appel, même si vous ne modifiez pas les paramètres. Cela inclut le paramètre `--name`. Avant d’appeler cette action, nous vous recommandons d’appeler l’opération `[https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-association.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-association.html)` et de noter tous les paramètres facultatifs requis pour votre appel `update-association`.

------
#### [ Linux & macOS ]

   ```
   aws ssm update-association \
       --name document_name \
       --document-version version_of_document_applied \
       --instance-id instances_to_apply_association_on \
       --parameters (if any) \
       --targets target_options \
       --association-dispatch-assume-role arn_of_role_to_be_used_when_dispatching_configurations \
       --schedule-expression "cron_or_rate_expression" \
       --schedule-offset "number_between_1_and_6" \
       --output-location s3_bucket_to_store_output_details \
       --association-name association_name \
       --max-errors a_number_of_errors_or_a_percentage_of_target_set \
       --max-concurrency a_number_of_instances_or_a_percentage_of_target_set \
       --compliance-severity severity_level \
       --calendar-names change_calendar_names \
       --target-locations aws_region_or_account
   ```

------
#### [ Windows ]

   ```
   aws ssm update-association ^
       --name document_name ^
       --document-version version_of_document_applied ^
       --instance-id instances_to_apply_association_on ^
       --parameters (if any) ^
       --targets target_options ^
       --association-dispatch-assume-role arn_of_role_to_be_used_when_dispatching_configurations ^
       --schedule-expression "cron_or_rate_expression" ^
       --schedule-offset "number_between_1_and_6" ^
       --output-location s3_bucket_to_store_output_details ^
       --association-name association_name ^
       --max-errors a_number_of_errors_or_a_percentage_of_target_set ^
       --max-concurrency a_number_of_instances_or_a_percentage_of_target_set ^
       --compliance-severity severity_level ^
       --calendar-names change_calendar_names ^
       --target-locations aws_region_or_account
   ```

------
#### [ PowerShell ]

   ```
   Update-SSMAssociation `
       -Name document_name `
       -DocumentVersion version_of_document_applied `
       -InstanceId instances_to_apply_association_on `
       -Parameters (if any) `
       -Target target_options `
       -AssociationDispatchAssumeRole arn_of_role_to_be_used_when_dispatching_configurations `
       -ScheduleExpression "cron_or_rate_expression" `
       -ScheduleOffset "number_between_1_and_6" `
       -OutputLocation s3_bucket_to_store_output_details `
       -AssociationName association_name `
       -MaxError  a_number_of_errors_or_a_percentage_of_target_set
       -MaxConcurrency a_number_of_instances_or_a_percentage_of_target_set `
       -ComplianceSeverity severity_level `
       -CalendarNames change_calendar_names `
       -TargetLocations aws_region_or_account
   ```

------

   L'exemple suivant met à jour une association existante en remplaçant le nom par `TestHostnameAssociation2`. La nouvelle version d'association s'exécute toutes les heures et écrit la sortie des commandes dans le compartiment Amazon S3 spécifié.

------
#### [ Linux & macOS ]

   ```
   aws ssm update-association \
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE \
     --association-name TestHostnameAssociation2 \
     --parameters commands="echo Association" \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' \
     --schedule-expression "cron(0 */1 * * ? *)"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-association ^
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE ^
     --association-name TestHostnameAssociation2 ^
     --parameters commands="echo Association" ^
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' ^
     --schedule-expression "cron(0 */1 * * ? *)"
   ```

------
#### [ PowerShell ]

   ```
   Update-SSMAssociation `
     -AssociationId b85ccafe-9f02-4812-9b81-01234EXAMPLE `
     -AssociationName TestHostnameAssociation2 `
     -Parameter @{"commands"="echo Association"} `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -S3Location_OutputS3BucketName amzn-s3-demo-bucket `
     -S3Location_OutputS3KeyPrefix logs `
     -S3Location_OutputS3Region us-east-1 `
     -ScheduleExpression "cron(0 */1 * * ? *)"
   ```

------

   L'exemple suivant met à jour une association existante en remplaçant le nom par `CalendarAssociation`. La nouvelle association s'exécute lorsque le calendrier est ouvert, et elle écrit la sortie de la commande dans le compartiment Amazon S3 spécifié. 

------
#### [ Linux & macOS ]

   ```
   aws ssm update-association \
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE \
     --association-name CalendarAssociation \
     --parameters commands="echo Association" \
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' \
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar2"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-association ^
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE ^
     --association-name CalendarAssociation ^
     --parameters commands="echo Association" ^
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' ^
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar2"
   ```

------
#### [ PowerShell ]

   ```
   Update-SSMAssociation `
     -AssociationId b85ccafe-9f02-4812-9b81-01234EXAMPLE `
     -AssociationName CalendarAssociation `
     -AssociationName OneTimeAssociation `
     -Parameter @{"commands"="echo Association"} `
     -S3Location_OutputS3BucketName amzn-s3-demo-bucket `
     -CalendarNames "arn:aws:ssm:us-east-1:123456789012:document/testCalendar2"
   ```

------

   L'exemple suivant met à jour une association existante en remplaçant le nom par `MultiCalendarAssociation`. La nouvelle association s'exécute lorsque les calendriers sont ouverts, et elle écrit la sortie de la commande dans le compartiment Amazon S3 spécifié. 

------
#### [ Linux & macOS ]

   ```
   aws ssm update-association \
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE \
     --association-name MultiCalendarAssociation \
     --parameters commands="echo Association" \
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' \
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-association ^
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE ^
     --association-name MultiCalendarAssociation ^
     --parameters commands="echo Association" ^
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' ^
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2"
   ```

------
#### [ PowerShell ]

   ```
   Update-SSMAssociation `
     -AssociationId b85ccafe-9f02-4812-9b81-01234EXAMPLE `
     -AssociationName MultiCalendarAssociation `
     -Parameter @{"commands"="echo Association"} `
     -S3Location_OutputS3BucketName amzn-s3-demo-bucket `
     -CalendarNames "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2"
   ```

------

1. Pour afficher la nouvelle version de l'association, exécutez la commande suivante.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association \
     --association-id b85ccafe-9f02-4812-9b81-01234EXAMPLE
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association ^
     --association-id b85ccafe-9f02-4812-9b81-01234EXAMPLE
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociation `
     -AssociationId b85ccafe-9f02-4812-9b81-01234EXAMPLE | Select-Object *
   ```

------

   Le système retourne des informations telles que les suivantes.

------
#### [ Linux & macOS ]

   ```
   {
       "AssociationDescription": {
           "ScheduleExpression": "cron(0 */1 * * ? *)",
           "OutputLocation": {
               "S3Location": {
                   "OutputS3KeyPrefix": "logs",
                   "OutputS3BucketName": "amzn-s3-demo-bucket",
                   "OutputS3Region": "us-east-1"
               }
           },
           "Name": "AWS-RunPowerShellScript",
           "Parameters": {
               "commands": [
                   "echo Association"
               ]
           },
           "LastExecutionDate": 1559316400.338,
           "Overview": {
               "Status": "Success",
               "DetailedStatus": "Success",
               "AssociationStatusAggregatedCount": {}
           },
           "AssociationId": "b85ccafe-9f02-4812-9b81-01234EXAMPLE",
           "DocumentVersion": "$DEFAULT",
           "LastSuccessfulExecutionDate": 1559316400.338,
           "LastUpdateAssociationDate": 1559316389.753,
           "Date": 1559314038.532,
           "AssociationVersion": "2",
           "AssociationName": "TestHostnameAssociation2",
           "Targets": [
               {
                   "Values": [
                       "Windows"
                   ],
                   "Key": "tag:Environment"
               }
           ]
       }
   }
   ```

------
#### [ Windows ]

   ```
   {
       "AssociationDescription": {
           "ScheduleExpression": "cron(0 */1 * * ? *)",
           "OutputLocation": {
               "S3Location": {
                   "OutputS3KeyPrefix": "logs",
                   "OutputS3BucketName": "amzn-s3-demo-bucket",
                   "OutputS3Region": "us-east-1"
               }
           },
           "Name": "AWS-RunPowerShellScript",
           "Parameters": {
               "commands": [
                   "echo Association"
               ]
           },
           "LastExecutionDate": 1559316400.338,
           "Overview": {
               "Status": "Success",
               "DetailedStatus": "Success",
               "AssociationStatusAggregatedCount": {}
           },
           "AssociationId": "b85ccafe-9f02-4812-9b81-01234EXAMPLE",
           "DocumentVersion": "$DEFAULT",
           "LastSuccessfulExecutionDate": 1559316400.338,
           "LastUpdateAssociationDate": 1559316389.753,
           "Date": 1559314038.532,
           "AssociationVersion": "2",
           "AssociationName": "TestHostnameAssociation2",
           "Targets": [
               {
                   "Values": [
                       "Windows"
                   ],
                   "Key": "tag:Environment"
               }
           ]
       }
   }
   ```

------
#### [ PowerShell ]

   ```
   AssociationId                 : b85ccafe-9f02-4812-9b81-01234EXAMPLE
   AssociationName               : TestHostnameAssociation2
   AssociationVersion            : 2
   AutomationTargetParameterName : 
   ComplianceSeverity            : 
   Date                          : 5/31/2019 2:47:18 PM
   DocumentVersion               : $DEFAULT
   InstanceId                    : 
   LastExecutionDate             : 5/31/2019 3:26:40 PM
   LastSuccessfulExecutionDate   : 5/31/2019 3:26:40 PM
   LastUpdateAssociationDate     : 5/31/2019 3:26:29 PM
   MaxConcurrency                : 
   MaxErrors                     : 
   Name                          : AWS-RunPowerShellScript
   OutputLocation                : Amazon.SimpleSystemsManagement.Model.InstanceAssociationOutputLocation
   Overview                      : Amazon.SimpleSystemsManagement.Model.AssociationOverview
   Parameters                    : {[commands, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
   ScheduleExpression            : cron(0 */1 * * ? *)
   Status                        : 
   Targets                       : {tag:Environment}
   ```

------

# Suppression d'associations
<a name="systems-manager-state-manager-delete-association"></a>

Utilisez la procédure suivante pour supprimer une association à l'aide de la console AWS Systems Manager .

**Pour supprimer une association**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **State Manager**.

1. Sélectionnez une association, puis **Supprimer**.

Vous pouvez supprimer plusieurs associations en une seule opération en exécutant une automatisation depuis la AWS Systems Manager console. Lorsque vous sélectionnez plusieurs associations à supprimer, State Manager lance la page de démarrage du runbook d'automatisation avec l'association IDs saisie sous forme de valeurs de paramètres d'entrée. 

**Pour supprimer plusieurs associations en une seule opération**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **State Manager**.

1. Sélectionnez chaque association que vous souhaitez supprimer, puis choisissez **Supprimer**.

1. (Facultatif) Dans la zone **Paramètres d'entrée supplémentaires**, sélectionnez l'Amazon Resource Name (ARN) du *rôle de responsable* que vous souhaitez que l'automatisation utilise pendant l'exécution. Pour créer un nouveau rôle de responsable, choisissez **Créer**.

1. Sélectionnez **Soumettre**.

# Exécution de groupes Auto Scaling avec des associations
<a name="systems-manager-state-manager-asg"></a>

Une bonne pratique lors de l'utilisation d'associations pour exécuter des groupes Auto Scaling consiste à utiliser des cibles de balises. Si vous n'utilisez pas de balises, vous atteindrez peut-être la limite d'une association. 

Si tous les nœuds sont labélisés avec la même clé et la même valeur, une seule association suffit pour exécuter votre groupe Auto Scaling. La procédure suivante décrit comment créer une telle association.

**Pour créer une association qui exécute des groupes Auto Scaling**

1. Vérifiez que tous les nœuds du groupe Auto Scaling sont bien labélisés avec la même clé et la même valeur. Pour obtenir des instructions sur l'étiquetage des nœuds, veuillez consulter [Étiquetage de nœuds et de groupes Auto Scaling](https://docs.aws.amazon.com//autoscaling/ec2/userguide/autoscaling-tagging.html) dans le *Guide de l'utilisateur AWS Auto Scaling *. 

1. Créez une association à l'aide de la procédure dans [Utilisation d'associations dans Systems Manager](state-manager-associations.md). 

   Si vous utilisez la console, sélectionnez **Specify instance tags (Spécifier des balises d'instance)** dans le champ **Targets (Cibles)**. Pour **Instance tags (Balises d'instances)**, saisissez la clé **Tag (Balise)** et la valeur pour votre groupe Auto Scaling.

   Si vous utilisez le AWS Command Line Interface (AWS CLI), spécifiez `--targets Key=tag:tag-key,Values=tag-value` où la clé et la valeur correspondent à ce que vous avez étiqueté vos nœuds. 

# Affichage des historiques des associations
<a name="state-manager-associations-history"></a>

Vous pouvez afficher toutes les exécutions pour un ID d'association spécifique à l'aide de l'opération [DescribeAssociationExecutions](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeAssociationExecutions.html)API. Utilisez cette opération pour afficher le statut, le statut détaillé, les résultats, l’heure de la dernière exécution, et d’autres informations relatives à une association State Manager. State Manager est un outil d’ AWS Systems Manager. Cette opération d'API inclut également des filtres pour vous aider à trouver les associations correspondant aux critères que vous spécifiez. Par exemple, vous pouvez spécifier une date et une heure précises, et utiliser un filtre GREATER\$1THAN pour afficher les exécutions qui ont été traitées après la date et l'heure spécifiées.

Si, par exemple, l'exécution d'une association a échoué, vous pouvez approfondir les détails d'une exécution spécifique à l'aide de l'opération [DescribeAssociationExecutionTargets](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeAssociationExecutionTargets.html)d'API. Cette opération vous montre les ressources, telles que le nœud IDs, sur lesquelles l'association s'est exécutée et les différents statuts de l'association. Vous pouvez ensuite constater quel nœud ou quelle ressource n'est pas parvenu à exécuter une association. Vous pouvez utiliser l'ID de ressource pour afficher les détails de l'exécution d'une commande et identifier ainsi l'étape de la commande qui a échoué.

Les exemples de cette section incluent également des informations sur l'utilisation de l'opération [StartAssociationsOnce](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_StartAssociationsOnce.html)API pour exécuter une association une fois au moment de sa création. Vous pouvez utiliser cette opération d'API lorsque vous examinez les exécutions d'associations qui ont échoué. Si vous constatez qu'une association a échoué, vous pouvez effectuer une modification sur la ressource, puis exécuter immédiatement cette association pour déterminer si la modification effectuée sur la ressource permet à l'association de s'exécuter correctement.

**Note**  
Les opérations d'API initiées par le document SSM lors d'une exécution d'association ne sont pas journalisées dans AWS CloudTrail.

## Affichage des historiques des associations (console)
<a name="state-manager-associations-history-console"></a>

Utilisez la procédure suivante pour afficher l'historique d'association correspondant à un ID d'association spécifique et afficher ensuite les détails de l'exécution pour une ou plusieurs ressources. 

**Pour afficher l'historique d'exécution correspondant à un ID d'association spécifique**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Sélectionnez **State Manager**.

1. Dans le champ **ID d'association**, sélectionnez l'association dont vous souhaitez afficher l'historique.

1. Sélectionnez le bouton **Afficher les détails**.

1. Sélectionnez l'onglet **Historique d'exécution**.

1. Sélectionnez une association dont vous souhaitez afficher les détails d'exécution au niveau des ressources. Par exemple, sélectionnez une association qui indique le statut **Échec**. Vous pouvez ensuite consulter les détails d'exécution pour les nœuds qui n'ont pas réussi à exécuter l'association.

   Utilisez les filtres de la zone de recherche pour rechercher l'exécution dont vous souhaitez afficher les détails.  
![\[Filtrage de la liste des exécutions d'associations State Manager.\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/sysman-state-executions-filter.png)

1. Sélectionnez un ID d'exécution. La page **Association execution targets (Cibles d'exécution de l'association)** s'ouvre. Cette page affiche toutes les ressources qui ont exécuté l'association.

1. Sélectionnez un ID de ressource pour afficher les informations spécifiques relatives à cette ressource.

   Utilisez les filtres de la zone de recherche pour rechercher la ressource dont vous souhaitez afficher les détails.  
![\[Filtrage de la liste des cibles d'exécution d'associations State Manager.\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/sysman-state-executions-targets-filter.png)

1. Si vous effectuez une recherche sur une association dont l'exécution a échoué, vous pouvez utiliser le bouton **Appliquer l'association maintenant** pour exécuter une association une seule fois lors de sa création. Une fois que vous avez modifié la ressource sur laquelle l'exécution de l'association a échoué, sélectionnez le lien **ID d'association** dans le chemin de navigation.

1. Sélectionnez le bouton **Appliquer l'association maintenant**. Une fois l'exécution terminée, vérifiez que l'exécution de l'association a réussi.

## Affichage des historiques d'associations (ligne de commande)
<a name="state-manager-associations-history-commandline"></a>

La procédure suivante décrit comment utiliser le AWS Command Line Interface (AWS CLI) (sous Linux ouWindows Server) ou Outils AWS pour PowerShell pour afficher l'historique d'exécution d'un ID d'association spécifique. Ensuite, la procédure décrit comment afficher les détails d'exécution d'une ou de plusieurs ressources.

**Pour afficher l'historique d'exécution correspondant à un ID d'association spécifique**

1. Installez et configurez le AWS CLI ou le Outils AWS pour PowerShell, si ce n'est pas déjà fait.

   Pour plus d'informations, consultez la section [Installation ou mise à jour de la version la plus récente de l' AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) et [Installation d' Outils AWS pour PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html).

1. Exécutez la commande suivante pour afficher la liste des exécutions correspondant à un ID d'association spécifique.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-executions \
     --association-id ID \
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN
   ```

**Note**  
Cette commande inclut un filtre pour limiter les résultats aux exécutions qui se sont produites après une date et une heure spécifiques. Pour afficher toutes les exécutions correspondant à un ID d'association spécifique, supprimez le paramètre `--filters` et la valeur ` Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN`.

------
#### [ Windows ]

   ```
   aws ssm describe-association-executions ^
     --association-id ID ^
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN
   ```

**Note**  
Cette commande inclut un filtre pour limiter les résultats aux exécutions qui se sont produites après une date et une heure spécifiques. Pour afficher toutes les exécutions correspondant à un ID d'association spécifique, supprimez le paramètre `--filters` et la valeur ` Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN`.

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecution `
     -AssociationId ID `
     -Filter @{"Key"="CreatedTime";"Value"="2019-06-01T19:15:38.372Z";"Type"="GREATER_THAN"}
   ```

**Note**  
Cette commande inclut un filtre pour limiter les résultats aux exécutions qui se sont produites après une date et une heure spécifiques. Pour afficher toutes les exécutions correspondant à un ID d'association spécifique, supprimez le paramètre `-Filter` et la valeur ` @{"Key"="CreatedTime";"Value"="2019-06-01T19:15:38.372Z";"Type"="GREATER_THAN"}`.

------

   Le système retourne des informations telles que les suivantes.

------
#### [ Linux & macOS ]

   ```
   {
      "AssociationExecutions":[
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"76a5a04f-caf6-490c-b448-92c02EXAMPLE",
            "CreatedTime":1523986028.219,
            "AssociationVersion":"1"
         },
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"791b72e0-f0da-4021-8b35-f95dfEXAMPLE",
            "CreatedTime":1523984226.074,
            "AssociationVersion":"1"
         },
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"ecec60fa-6bb0-4d26-98c7-140308EXAMPLE",
            "CreatedTime":1523982404.013,
            "AssociationVersion":"1"
         }
      ]
   }
   ```

------
#### [ Windows ]

   ```
   {
      "AssociationExecutions":[
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"76a5a04f-caf6-490c-b448-92c02EXAMPLE",
            "CreatedTime":1523986028.219,
            "AssociationVersion":"1"
         },
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"791b72e0-f0da-4021-8b35-f95dfEXAMPLE",
            "CreatedTime":1523984226.074,
            "AssociationVersion":"1"
         },
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"ecec60fa-6bb0-4d26-98c7-140308EXAMPLE",
            "CreatedTime":1523982404.013,
            "AssociationVersion":"1"
         }
      ]
   }
   ```

------
#### [ PowerShell ]

   ```
   AssociationId         : c336d2ab-09de-44ba-8f6a-6136cEXAMPLE
   AssociationVersion    : 1
   CreatedTime           : 8/18/2019 2:00:50 AM
   DetailedStatus        : Success
   ExecutionId           : 76a5a04f-caf6-490c-b448-92c02EXAMPLE
   LastExecutionDate     : 1/1/0001 12:00:00 AM
   ResourceCountByStatus : {Success=1}
   Status                : Success
   
   AssociationId         : c336d2ab-09de-44ba-8f6a-6136cEXAMPLE
   AssociationVersion    : 1
   CreatedTime           : 8/11/2019 2:00:54 AM
   DetailedStatus        : Success
   ExecutionId           : 791b72e0-f0da-4021-8b35-f95dfEXAMPLE
   LastExecutionDate     : 1/1/0001 12:00:00 AM
   ResourceCountByStatus : {Success=1}
   Status                : Success
   
   AssociationId         : c336d2ab-09de-44ba-8f6a-6136cEXAMPLE
   AssociationVersion    : 1
   CreatedTime           : 8/4/2019 2:01:00 AM
   DetailedStatus        : Success
   ExecutionId           : ecec60fa-6bb0-4d26-98c7-140308EXAMPLE
   LastExecutionDate     : 1/1/0001 12:00:00 AM
   ResourceCountByStatus : {Success=1}
   Status                : Success
   ```

------

   Vous pouvez limiter les résultats en utilisant un ou plusieurs filtres. L'exemple suivant renvoie toutes les associations qui ont été exécutées avant une date et une heure spécifiques. 

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-executions \
     --association-id ID \
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=LESS_THAN
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association-executions ^
     --association-id ID ^
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=LESS_THAN
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecution `
     -AssociationId 14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE `
     -Filter @{"Key"="CreatedTime";"Value"="2019-06-01T19:15:38.372Z";"Type"="LESS_THAN"}
   ```

------

   L'exemple suivant renvoie toutes les associations qui ont été exécutées *correctement* après une date et une heure spécifiques.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-executions \
     --association-id ID \
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN Key=Status,Value=Success,Type=EQUAL
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association-executions ^
     --association-id ID ^
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN Key=Status,Value=Success,Type=EQUAL
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecution `
     -AssociationId 14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE `
     -Filter @{
         "Key"="CreatedTime";
         "Value"="2019-06-01T19:15:38.372Z";
         "Type"="GREATER_THAN"
       },
       @{
         "Key"="Status";
         "Value"="Success";
         "Type"="EQUAL"
       }
   ```

------

1. Exécutez la commande suivante pour afficher toutes les cibles sur lesquelles l'exécution spécifique a eu lieu.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-execution-targets \
     --association-id ID \
     --execution-id ID
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association-execution-targets ^
     --association-id ID ^
     --execution-id ID
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecutionTarget `
     -AssociationId 14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE `
     -ExecutionId 76a5a04f-caf6-490c-b448-92c02EXAMPLE
   ```

------

   Vous pouvez limiter les résultats en utilisant un ou plusieurs filtres. L'exemple suivant renvoie les informations relatives à toutes les cibles sur lesquelles l'exécution de l'association spécifique a échoué.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-execution-targets \
     --association-id ID \
     --execution-id ID \
     --filters Key=Status,Value="Failed"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association-execution-targets ^
     --association-id ID ^
     --execution-id ID ^
     --filters Key=Status,Value="Failed"
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecutionTarget `
     -AssociationId 14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE `
     -ExecutionId 76a5a04f-caf6-490c-b448-92c02EXAMPLE `
     -Filter @{
         "Key"="Status";
         "Value"="Failed"
       }
   ```

------

   L'exemple suivant renvoie les informations relatives à un nœud géré spécifique sur lequel l'exécution d'une association a échoué.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-execution-targets \
     --association-id ID \
     --execution-id ID \
     --filters Key=Status,Value=Failed Key=ResourceId,Value="i-02573cafcfEXAMPLE" Key=ResourceType,Value=ManagedInstance
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association-execution-targets ^
     --association-id ID ^
     --execution-id ID ^
     --filters Key=Status,Value=Failed Key=ResourceId,Value="i-02573cafcfEXAMPLE" Key=ResourceType,Value=ManagedInstance
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecutionTarget `
     -AssociationId 14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE `
     -ExecutionId 76a5a04f-caf6-490c-b448-92c02EXAMPLE `
     -Filter @{
         "Key"="Status";
         "Value"="Success"
       },
       @{
         "Key"="ResourceId";
         "Value"="i-02573cafcfEXAMPLE"
       },
       @{
         "Key"="ResourceType";
         "Value"="ManagedInstance"
       }
   ```

------

1. Si vous étudiez une association qui n'a pas pu s'exécuter, vous pouvez utiliser l'opération d'[StartAssociationsOnce](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_StartAssociationsOnce.html)API pour exécuter une association immédiatement et une seule fois. Lorsque vous modifiez la ressource sur laquelle l'exécution de l'association a échoué, utilisez la commande suivante pour exécuter l'association immédiatement et une seule fois.

------
#### [ Linux & macOS ]

   ```
   aws ssm start-associations-once \
     --association-id ID
   ```

------
#### [ Windows ]

   ```
   aws ssm start-associations-once ^
     --association-id ID
   ```

------
#### [ PowerShell ]

   ```
   Start-SSMAssociationsOnce `
     -AssociationId ID
   ```

------

# Utilisation d'associations avec IAM
<a name="systems-manager-state-manager-iam"></a>

State Manager, un outil dans AWS Systems Manager, utilise des [cibles](systems-manager-state-manager-targets-and-rate-controls.md#systems-manager-state-manager-targets-and-rate-controls-about-targets) pour choisir les instances avec lesquelles vous configurez vos associations. À l'origine, les associations étaient créées en spécifiant un nom de document (`Name`) et un ID d'instance (`InstanceId`). Une association était ainsi créée entre un document et une instance ou un nœud géré. Auparavant, les associations étaient identifiées par ces paramètres. Bien que ces paramètres soient aujourd'hui obsolètes, ils sont toujours pris en charge. Les ressources `instance` et `managed-instance` ont été ajoutées en tant que ressources à des actions avec `Name` et `InstanceId`.

Gestion des identités et des accès AWS Le comportement d'application des politiques (IAM) dépend du type de ressource spécifié. Les ressources pour des opérations State Manager sont appliquées uniquement sur la base de la demande transmise. State Manager ne vérifie pas en profondeur les propriétés des ressources de votre compte. Une demande n'est validée par rapport aux ressources de politique que si le paramètre de la demande contient les ressources de politique spécifiées. Par exemple, si vous spécifiez une instance dans le bloc de ressources, la politique est appliquée si la demande utilise le paramètre `InstanceId`. Pour chaque ressource du compte, le paramètre `InstanceId` n'est pas vérifié dans le paramètre `Targets`. 

Voici quelques cas de comportement confus :
+  [DescribeAssociation](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_DescribeActivations.html), [DeleteAssociation](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_DeleteAssociation.html), et [UpdateAssociation](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_UpdateAssociation.html)use `instance``managed-instance`, et `document` ressources pour spécifier la manière déconseillée de faire référence aux associations. Cela inclut toutes les associations créées avec le paramètre `InstanceId` obsolète.
+ [CreateAssociation](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_CreateAssociation.html), [CreateAssociationBatch](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_CreateAssociationBatch.html), ainsi que [UpdateAssociation](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_UpdateAssociation.html)l'utilisation `instance` et `managed-instance` les ressources pour spécifier la manière déconseillée de faire référence aux associations. Cela inclut toutes les associations créées avec le paramètre `InstanceId` obsolète. Le type de ressource `document` fait partie de la manière obsolète de faire référence aux associations. C'est une propriété réelle d'une association. Autrement dit, vous pouvez créer des politiques IAM avec des autorisations `Allow` ou `Deny` pour les actions `Create` et `Update` en fonction du nom du document.

Pour de plus amples informations sur l'utilisation de politiques IAM avec Systems Manager, veuillez consulter [Gestion des identités et des accès pour AWS Systems Manager](security-iam.md) ou [Actions, ressources et clés de condition pour AWS Systems Manager](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanager.html) dans la *Référence des autorisations de service*.