OPS05-BP03 Utiliser des systèmes de gestion de la configuration - Framework AWS Well-Architected

OPS05-BP03 Utiliser des systèmes de gestion de la configuration

Utilisez des systèmes de gestion de la configuration pour effectuer et suivre les modifications de la configuration. Ces systèmes réduisent les erreurs causées par les processus manuels et diminuent le niveau d’effort nécessaire au déploiement des modifications.

La gestion de la configuration statique définit des valeurs lors de l’initialisation d’une ressource. Elles doivent rester cohérentes tout au long de la durée de vie de cette ressource. La gestion dynamique de la configuration définit des valeurs à l’initialisation qui peuvent ou sont censées changer pendant la durée de vie d’une ressource. Par exemple, vous pouvez définir une fonctionnalité pour activer les fonctionnalités de votre code par le biais d’une modification de configuration, ou modifier le niveau de détail du journal lors d’un incident.

Les configurations doivent être déployées dans un état connu et cohérent. Vous devez utiliser l’inspection automatisée pour surveiller en permanence les configurations des ressources dans les environnements et les régions. Ces contrôles doivent être définis sous forme de code et de gestion automatisés afin de garantir que les règles sont appliquées de manière cohérente dans tous les environnements. Les modifications apportées aux configurations doivent être mises à jour par le biais de procédures de contrôle des modifications convenues et appliquées de manière cohérente, dans le respect du contrôle des versions. La configuration des applications doit être gérée indépendamment du code de l’application et de l’infrastructure. Cela permet un déploiement cohérent dans plusieurs environnements. Les modifications de configuration n’entraînent pas la reconstruction ou le redéploiement de l’application.

Résultat escompté : vous effectuez la configuration, la validation et le déploiement dans le cadre de votre pipeline d’intégration et de livraison continues (CI/CD). Vous assurez la surveillance pour vérifier que les configurations sont correctes. Cela permet de minimiser l’impact sur les utilisateurs finaux et les clients.

Anti-modèles courants :

  • Vous mettez manuellement à jour la configuration des serveurs Web de votre flotte, et un certain nombre de serveurs ne répondent plus en raison d’erreurs de mise à jour.

  • Vous mettez à jour manuellement votre flotte de serveurs d’applications pendant plusieurs heures. L’incohérence de la configuration pendant la modification entraîne des comportements inattendus.

  • Quelqu’un a mis à jour vos groupes de sécurité et vos serveurs Web ne sont plus accessibles. Sans savoir ce qui a changé, vous passez beaucoup de temps à enquêter sur la question, ce qui prolonge votre temps de reprise.

  • Vous mettez en production une configuration de préproduction via le pipeline CI/CD sans validation. Vous exposez les utilisateurs et les clients à des données et à des services incorrects.

Avantages liés au respect de cette bonne pratique : l’adoption de systèmes de gestion de la configuration réduit le niveau d’effort nécessaire pour effectuer et suivre les changements, ainsi que la fréquence des erreurs causées par les procédures manuelles. Les systèmes de gestion de la configuration fournissent des garanties en matière de gouvernance, de conformité et d’exigences réglementaires.

Niveau de risque encouru si cette bonne pratique n’est pas respectée : moyen

Directives d’implémentation

Les systèmes de gestion de la configuration sont utilisés pour suivre et mettre en œuvre les modifications apportées aux configurations des applications et de l’environnement. Ils sont également utilisés pour réduire les erreurs causées par les processus manuels, pour rendre les modifications de configuration reproductibles et vérifiables, et pour réduire le niveau d’effort.

Sur AWS, vous pouvez utiliser AWS Config pour surveiller continuellement vos configurations de ressources AWS à travers les comptes et les régions. Il vous permet de suivre leur historique de configuration, de comprendre comment une modification de la configuration affecterait d’autres ressources et de les auditer par rapport aux configurations attendues ou souhaitées avec AWS Config Rules et AWS Config Conformance Packs.

Pour les configurations dynamiques de vos applications exécutées sur des instances Amazon EC2, AWS Lambda, des conteneurs , des applications mobiles ou des appareils IoT, vous pouvez les utiliser AWS AppConfig pour les configurer, les valider, les déployer et les surveiller dans vos environnements.

Étapes d’implémentation

  1. Identifiez les responsables de la configuration.

    1. Informez les responsables de la configuration de tout besoin en matière de conformité, de gouvernance ou de réglementation.

  2. Identifiez les éléments de configuration et les livrables.

    1. Les éléments de configuration sont toutes les configurations d’application et d’environnement concernées par un déploiement au sein de votre pipeline CI/CD.

    2. Les livrables incluent les critères de réussite, la validation et ce qui doit être surveillé.

  3. Sélectionnez les outils de gestion de la configuration en fonction des besoins de votre entreprise et de votre pipeline de livraison.

  4. Envisagez des déploiements pondérés tels que les déploiements canary pour les modifications de configuration importantes, afin de minimiser l’impact des configurations incorrectes.

  5. Intégrez la gestion de votre configuration dans votre pipeline CI/CD.

  6. Validez toutes les modifications apportées.

Ressources

Bonnes pratiques associées :

Documents connexes :

Vidéos connexes :