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.
Exécution d'une recette sur une instance Windows
Important
Le AWS OpsWorks Stacks le service a pris fin 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 le AWS Support L'équipe sur AWS Re:post ou via
Cette rubrique est en fait une version abrégée de Exécution d'une recette sur une instance Linux, qui vous montre comment exécuter une recette sur une pile Windows. Nous vous recommandons de commencer par parcourir Exécution d'une recette sur une instance Linux qui propose une description plus détaillée convenant aux deux types de systèmes d'exploitation.
Pour une description de la façon d'exécuter des recettes sur AWS OpsWorks Empile les instances Linux, voirExécution d'une recette sur une instance Linux.
Rubriques
Activation de RDP l'accès
Avant de commencer, si ce n'est déjà fait, vous devez configurer un groupe de sécurité avec une règle entrante qui autorise l'RDPaccès à vos instances. Vous aurez besoin de ce groupe lorsque vous créerez la pile.
Lorsque vous créez la première pile dans une région, AWS OpsWorks Stacks crée un ensemble de groupes de sécurité. Ils en incluent un nommé quelque chose commeAWS-OpsWorks-RDP-Server
, qui AWS OpsWorks Stacks se connecte à toutes les instances Windows pour autoriser l'RDPaccès. Toutefois, par défaut, ce groupe de sécurité ne possède aucune règle. Vous devez donc ajouter une règle entrante pour autoriser l'RDPaccès à vos instances.
Pour autoriser RDP l'accès
-
Ouvrez la EC2console Amazon
, définissez-la sur la région de la pile et choisissez Security Groups dans le volet de navigation. -
Choisissez AWS- OpsWorks - RDP -Server, choisissez l'onglet Entrant, puis sélectionnez Modifier.
-
Ajoutez une règle avec les paramètres suivants :
-
Tapez — RDP
-
Source — Les adresses IP sources autorisées.
Vous autorisez généralement les RDP demandes entrantes provenant de votre adresse IP ou d'une plage d'adresses IP spécifiée (généralement la plage d'adresses IP de votre entreprise).
-
Note
Comme décrit plus loin, vous devez également modifier les autorisations des utilisateurs pour autoriser RDP l'accès aux utilisateurs réguliers.
Pour de plus amples informations, veuillez consulter Connexion avec RDP.
Création et exécution de la recette
Voici un bref résumé de la création d'une pile pour cet exemple. Pour de plus amples informations, veuillez consulter Créer une pile.
Création d'une pile
-
Ouvrez le fichier AWS OpsWorks Console Stacks
et choisissez Add Stack. Spécifiez les paramètres suivants, acceptez les valeurs par défaut pour les autres paramètres et choisissez Add Stack (Ajouter une pile). -
Nom — WindowsRecipeTest
-
Région — Ouest des États-Unis (Oregon)
Cet exemple fonctionne dans n'importe quelle région, mais nous vous recommandons d'utiliser US West (Oregon) pour les didacticiels.
-
Système d'exploitation par défaut : Microsoft Windows Server 2012 R2
-
-
Choisissez Add a layer (Ajouter une couche) et ajoutez une couche personnalisée à la pile avec les paramètres suivants.
-
Nom — RecipeTest
-
Nom abrégé — recipetest
-
-
Ajoutez une instance 24 heures sur 24, 7 jours sur 7 avec les paramètres par défaut à la RecipeTest couche et démarrez-la.
AWS OpsWorks Stacks attribue
AWS-OpsWorks-RDP-Server
automatiquement cette instance, ce qui permet aux utilisateurs autorisés de se connecter à l'instance. -
Choisissez Autorisations, puis Modifier, puis choisissez SSH/RDPet sudo/admin. Les utilisateurs standard ont besoin de cette autorisation en plus du groupe de sécurité
AWS-OpsWorks-RDP-Server
pour se connecter à l'instance.Note
Vous pouvez également vous connecter en tant qu'Administrator, mais en ayant recours à une procédure différente. Pour de plus amples informations, veuillez consulter Connexion avec RDP.
Pendant le démarrage de l'instance (cela prend généralement plusieurs minutes), vous pouvez créer le livre de recettes. La recette de cet exemple crée un répertoire de données et est en fait la recette de Exemple 3 : Création de répertoires, modifiée pour Windows.
Note
Lors de la mise en œuvre de livres de cuisine pour AWS OpsWorks Empile les instances Windows, vous utilisez une structure de répertoires quelque peu différente de celle que vous utilisez lorsque vous implémentez des livres de recettes pour AWS OpsWorks Empile les instances Linux. Pour de plus amples informations, veuillez consulter Référentiels de livres de recettes.
Pour configurer le livre de recettes
-
Créez un répertoire nommé
windowstest
et accédez à celui-ci. -
Créez un fichier
metadata.rb
avec le contenu suivant et enregistrez-le surwindowstest
.name "windowstest" version "0.1.0"
-
Créez un répertoire
recipes
danswindowstest
. -
Créez un fichier
default.rb
avec la recette suivante et enregistrez-le dans le répertoirerecipes
.Chef::Log.info("******Creating a data directory.******") directory 'C:\data' do rights :full_control, '
instance_name
\username
' inherits false action :create endRemplacez
username
avec votre nom d'utilisateur. -
Placez le livre de recettes dans un référentiel.
Pour installer votre livre de recettes sur un AWS OpsWorks Instance Stacks, vous devez la stocker dans un référentiel et fournir AWS OpsWorks S'accumule avec les informations requises pour télécharger le livre de recettes sur l'instance. Vous pouvez stocker les livres de recettes Windows en tant que fichier d'archive dans un référentiel Git ou dans un compartiment S3. Cet exemple utilise un compartiment S3, c'est pourquoi vous devez créer une archive .zip du répertoire
windowstest
. Pour plus d'informations sur les référentiels de livre de recettes, consultez Référentiels de livres de recettes. -
Téléchargez l'archive dans un compartiment S3, rendez-la publique et enregistrez celle de l'archiveURL. Vous pouvez également utiliser une archive privée, mais une archive publique est suffisante pour cet exemple et légèrement plus facile à utiliser.
Le contenu livré aux compartiments Amazon S3 peut contenir du contenu client. Pour plus d'informations sur la suppression de données sensibles, consultez How Do I Empty an S3 Bucket? (Comment puis-je vider un compartiment S3 ?) ou How Do I Delete an S3 Bucket? (Comment supprimer un compartiment S3 ?).
Vous pouvez maintenant installer le livre de recettes et exécuter la recette.
Pour exécuter la recette
-
Modifiez la pile pour activer les livres personnalisés et spécifiez les paramètres suivants.
-
Type de référentiel — S3 Archive
-
Référentiel URL — L'archive du livre de recettes URL que vous avez enregistrée précédemment
Acceptez les valeurs par défaut pour les autres paramètres, puis choisissez Save (Enregistrer) pour mettre à jour la configuration de la pile.
-
-
Exécutez la commande de pile de mise à jour des livres de recettes personnalisés, qui installe la version actuelle de vos livres de recettes personnalisés sur les instances de la pile, dont les instances en ligne. Si une version antérieure de vos livres de recettes est présente, cette commande la remplace.
-
Une fois la mise à jour des livres de recettes personnalisées terminée, exécutez la recette en exécutant la commande de pile Execute Recipes (Exécuter les recettes) avec le paramètre Recipes to execute (Recettes à exécuter) défini sur
windowstest::default
. Cette commande lance une exécution de Chef, avec une liste d'exécution composée de votre recette.
Une fois que la recette a été exécutée correctement, vous pouvez la vérifier.
Pour vérifier windowstest
-
Examinez le journal de Chef. Choisissez show (afficher) dans la colonne Log (Journal) de l'instance opstest1. Faites défiler vers le bas pour afficher votre message de journal proche de la fin.
... [2014-07-31T17:01:45+00:00] INFO: Storing updated cookbooks/opsworks_cleanup/attributes/customize.rb in the cache. [2014-07-31T17:01:45+00:00] INFO: Storing updated cookbooks/opsworks_cleanup/metadata.rb in the cache. [2014-07-31T17:01:46+00:00] INFO: ******Creating a data directory.****** [2014-07-31T17:01:46+00:00] INFO: Processing template[/etc/hosts] action create (opsworks_stack_state_sync::hosts line 3) ...
-
Choisissez Instances, choisissez rdp dans la colonne Actions de l'instance et demandez un RDP mot de passe avec une date d'expiration appropriée. Copiez le DNS nom, le nom d'utilisateur et le mot de passe. Vous pouvez ensuite utiliser ces informations avec un RDP client, tel que le client Windows Remote Desktop Connection, pour vous connecter à l'instance et vérifier qu'
c:\data
elle existe. Pour de plus amples informations, veuillez consulter Connexion avec RDP.
Note
Si votre recette ne fonctionne pas correctement, consultez Dépannage et réparation des recettes pour accéder aux astuces de dépannage, la plupart d'entre elles s'appliquant également aux instances Windows. Si vous souhaitez tester votre solution en modifiant la recette sur l'instance, recherchez votre livre de recettes dans le C:\chef\cookbooks
répertoire, où AWS OpsWorks Stacks installe des livres de cuisine personnalisés.
Exécution de la recette automatiquement
La commande Execute Recipes (Exécuter les recettes) permet de tester aisément des recettes personnalisées. Elle est utilisée à cet effet dans la plupart de ces exemples. Toutefois, dans la pratique, vous exécutez généralement les recettes à des moments donnés du cycle de vie d'une instance, par exemple après le démarrage de l'instance ou lorsque vous déployez une application. AWS OpsWorks Stacks simplifie l'exécution de recettes sur votre instance en prenant en charge un ensemble d'événements du cycle de vie pour chaque couche : installation, configuration, déploiement, dédéploiement et arrêt. Tu peux avoir AWS OpsWorks Les piles exécutent automatiquement une recette sur les instances d'une couche en attribuant la recette à l'événement du cycle de vie approprié.
Vous devez généralement créer des répertoires dès qu'une instance a fini son démarrage, ce qui correspond à l'événement Setup. Voici comment exécuter l'exemple de recette lors de la configuration, à l'aide de la même pile que celle créée plus tôt dans l'exemple. Vous pouvez utiliser la même procédure pour les autres événements.
Pour exécuter automatiquement une recette lors de la configuration
-
Choisissez Layers dans le volet de navigation, puis cliquez sur l'icône en forme de crayon à côté du lien Recipes de la RecipeTest couche.
-
Ajoutez
windowstest::default
aux recettes Setup de la couche, choisissez + pour l'ajouter à la couche, puis choisissez Save (Enregistrer) pour enregistrer la configuration. -
Choisissez Instances, ajoutez une autre instance à la couche et démarrez-la.
L'instance doit être nommée
recipetest2
. Une fois le démarrage terminé, AWS OpsWorks Les piles seront épuisées.windowstest::default
-
Une fois l'instance
recipetest2
en ligne, vérifiez quec:\data
est présent.
Note
Si vous avez attribué des recettes aux événements Setup, Configure ou Deploy, vous pouvez aussi les exécuter manuellement en utilisant une commande de pile (Setup et Configure) ou une commande de déploiement (Deploy) pour déclencher l'événement. Notez que si vous avez plusieurs recettes attribuées à un événement, ces commandes les exécutent toutes.