Migration d'une pile Linux existante vers une nouvelle version de Chef - AWS OpsWorks

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.

Migration d'une pile Linux existante vers une nouvelle version de Chef

Important

Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur AWS Re:Post ou via le AWS Support Premium.

Vous pouvez utiliser la console AWS OpsWorks Stacks ou CLI migrer vos stacks Linux vers une version plus récente de Chef. API Cependant, vos recettes peuvent nécessiter une modification pour être compatibles avec la version la plus récente. Lors de la préparation de la migration d'une pile, prenez en compte les points suivants.

  • Vous ne pouvez pas modifier les versions de pile de AWS OpsWorks Stacks de Chef 11 à Chef 12 en modifiant ou en clonant la pile. Une mise à niveau de version majeure de Chef ne peut pas être effectuée à l'aide de la procédure décrite dans cette section. Pour plus d'informations sur le passage de Chef 11.10 à Chef 12, consultez Mise en œuvre des recettes : Chef 12.

  • La transition d'une version de Chef à une autre implique un certain nombre de modifications, dont certaines nouveautés.

    Pour plus d'informations sur le passage de Chef 0.9 à Chef 11.4, consultez Migration vers une nouvelle version de Chef. Pour plus d'informations sur le passage de Chef 11.4 à Chef 11.10, consultez Mise en œuvre des recettes : Chef 11.10. Pour plus d'informations sur le passage de Chef 11.10 à Chef 12, consultez Mise en œuvre des recettes : Chef 12.

  • Les exécutions de Chef utilisent une autre version de Ruby sur les piles Chef 0.9 et Chef 11.4 (Ruby 1.8.7), les piles Chef 11.10 (Ruby 2.0.0) et les piles Chef 12 (Ruby 2.1.6).

    Pour de plus amples informations, veuillez consulter Versions de Ruby.

  • Les piles Chef 11.10 gèrent l'installation des livres de recettes différemment des piles Chef 0.9 ou Chef 11.4.

    Cette différence peut entraîner des problèmes lors de la migration de piles qui utilisent les livres de recettes personnalisés vers Chef 11.10. Pour de plus amples informations, veuillez consulter Installation et priorité des livres de recettes.

Les paragraphes suivants concernent les instructions recommandées pour la migration d'une pile Chef vers une version Chef plus récente :

Pour migrer une pile vers une version Chef plus récente
  1. Clonez votre pile de production. Sur la page Clone Stack, cliquez sur Advanced>> pour afficher la section Configuration Management, puis remplacez Chef version par la version suivante la plus élevée.

    Note

    Si vous démarrez avec une pile Chef 0.9, vous ne pouvez pas procéder directement à sa mise à niveau vers Chef 11.10 ; vous devez d'abord effectuer une mise à niveau vers Chef 11.4. Si vous souhaitez migrer votre pile vers Chef 11.10 avant de tester vos recettes, attendez 20 minutes que la mise à jour soit terminée, puis mettez à niveau la pile de la version 11.4 à la version 11.10.

  2. Ajoutez des instances aux couches et testez les applications et les livres de recettes de la pile clonée sur un système intermédiaire ou de test. Pour en savoir plus, consultez cette page consacrée à Chef.

  3. Lorsque les résultats des tests sont satisfaisants, effectuez les opérations suivantes :

    • S'il s'agit de votre version de Chef souhaitée, vous pouvez utiliser la pile clonée comme pile de production ou réinitialiser la version Chef sur votre pile de production.

    • Si vous migrez une pile Chef 0.9 vers 11.10 en deux étapes, répétez le processus de migration de la pile de Chef 11.4 vers Chef 11.10.

Note

Lorsque vous testez des recettes, vous pouvez les utiliser SSH pour vous connecter à l'instance, puis utiliser la commande CLI run_command de l'agent d'instance pour exécuter les recettes associées aux différents événements du cycle de vie. L'agent CLI est particulièrement utile pour tester les recettes d'installation, car vous pouvez l'utiliser même si l'installation échoue et que l'instance n'atteint pas l'état en ligne. Vous pouvez également utiliser la commande de pile Setup pour exécuter à nouveau les recettes Setup, mais cette commande est disponible uniquement si Setup a réussi et que l'instance est en ligne.

Il est possible de mettre à jour une pile en cours d'exécution avec une nouvelle version de Chef.

Pour mettre à jour une pile en cours d'exécution avec une nouvelle version de Chef
  1. Modifiez la pile pour modifier le paramètre de pile Chef version.

  2. Enregistrez les nouveaux paramètres et attendez que AWS OpsWorks Stacks mette à jour les instances, ce qui prend généralement 15 à 20 minutes.

Important

AWS OpsWorks Stacks ne synchronise pas la mise à jour de la version de Chef avec les événements du cycle de vie. Si vous souhaitez mettre à jour la version de Chef sur une pile de production, vous devez veiller à vous assurer que la mise à jour est terminée avant que le prochain événement du cycle de vie n'ait lieu. Si un événement se produit, généralement un événement de déploiement ou de configuration, l'agent d'instance met à jour vos livres de recettes personnalisés et exécute les recettes attribuées à l'événement, que la mise à jour de version soit terminée ou non. Il n'existe aucun moyen direct pour déterminer que la mise à jour de la version est terminée, mais les journaux du déploiement incluent la version de Chef.