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.
Ajout automatique de nœuds dans OpsWorks Puppet Enterprise
Important
Le AWS OpsWorks for Puppet Enterprise service a atteint sa fin de vie le 31 mars 2024 et a été désactivé pour les nouveaux clients et 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
Cette rubrique explique comment ajouter automatiquement des nœuds Amazon Elastic Compute Cloud (Amazon EC2) à OpsWorks votre serveur for Puppet Enterprise. Dans la section Ajouter des nœuds à gérer par le serveur maître Puppet, vous avez appris à utiliser la commande associate-node
pour ajouter un nœud à la fois à votre serveur Puppet Enterprise. Le code présenté dans cette rubrique montre comment ajouter automatiquement des nœuds à l'aide de la méthode sans surveillance. La méthode recommandée pour associer de nouveaux nœuds sans surveillance (ou automatique) consiste à configurer les données utilisateur Amazon EC2. Par défaut, un serveur OpsWorks pour Puppet Enterprise est déjà puppet-agent
Pour plus d'informations sur la façon de dissocier un nœud, consultez Dissocier un nœud d'un serveur OpsWorks for Puppet Enterprise ce guide et la documentation de disassociate-node
l'API OpsWorks for Puppet Enterprise.
Étape 1 : créer un rôle IAM à utiliser comme profil d'instance
Créez un rôle AWS Identity and Access Management (IAM) à utiliser comme profil d'instance EC2 et associez la politique suivante au rôle IAM. Cette stratégie permet à l'API opsworks-cm
de communiquer avec l'instance EC2 au cours de l'inscription du nœud. Pour plus d'informations sur les profils d'instance, consultez la section Utilisation des profils d'instance dans la documentation Amazon EC2. Pour plus d'informations sur la création d'un rôle IAM, consultez la section Création d'un rôle IAM dans la console dans la documentation Amazon EC2.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "opsworks-cm:AssociateNode", "opsworks-cm:DescribeNodeAssociationStatus", "opsworks-cm:DescribeServers", "ec2:DescribeTags" ], "Resource": "*", "Effect": "Allow" } ] }
AWS OpsWorks fournit un AWS CloudFormation modèle que vous pouvez utiliser pour créer le rôle IAM avec la déclaration de politique précédente. La AWS CLI commande suivante crée pour vous le rôle de profil d'instance à l'aide de ce modèle. Vous pouvez omettre le --region
paramètre si vous souhaitez créer la nouvelle AWS CloudFormation pile dans votre région par défaut.
aws cloudformation --region
region ID
create-stack --stack-namemyPuppetinstanceprofile
--template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/owpe/opsworks-cm-nodes-roles.yaml --capabilities CAPABILITY_IAM
Étape 2 : Création d'instances en utilisant un script d'association sans surveillance
Pour créer des instances EC2, vous pouvez copier le script de données utilisateur inclus dans le kit de démarrage dans la userdata
section des instructions relatives aux instances EC2, dans les configurations de lancement du groupe Amazon EC2 Auto Scaling ou dans un modèle. AWS CloudFormation Le script est pris en charge uniquement pour les instances EC2 exécutant les systèmes d'exploitation Ubuntu et Amazon Linux. Pour plus d'informations sur l'ajout de scripts aux données utilisateur, consultez Exécuter des commandes sur votre instance Linux au lancement dans la documentation Amazon EC2. Le moyen le plus simple de créer un nouveau nœud consiste à utiliser l'assistant de lancement d'instance Amazon EC2. Cette procédure pas à pas utilise l'exemple de configuration du module du serveur Web Apache décrit dansCommencer à utiliser OpsWorks pour Puppet Enterprise.
-
Le script de données utilisateur dans le Starter Kit exécute la commande d'API
opsworks-cm
associate-node
pour associer un nouveau nœud à votre maître Puppet. Dans cette version, il installe également la version actuelle de AWS CLI on the node pour vous, au cas où elle n'exécute pas déjà la up-to-date version la plus récente. Enregistrez ce script à un emplacement approprié (ex. :userdata.sh
).Par défaut, le nom du nouveau nœud enregistré correspond à l'ID de l'instance.
-
Suivez la procédure décrite dans la section Lancement d'une instance de la documentation EC2, en appliquant les modifications indiquées ici. Dans l'assistant de lancement d'instance EC2, choisissez une AMI Amazon Linux.
-
Sur la page Configure Instance Details, sélectionnez myPuppetinstanceprofile, le rôle que vous avez créé à la section Étape 1 : créer un rôle IAM à utiliser comme profil d'instance, comme étant votre rôle IAM.
-
Dans la zone Advanced Details, chargez le script
userdata.sh
que vous avez créé à l'étape 1. -
Aucune modification n'est nécessaire sur la page Add Storage. Accédez à la page Add Tags.
En appliquant des balises à votre instance EC2, vous pouvez personnaliser le comportement de
userdata.sh
. Dans cet exemple, appliquez le rôleapache_webserver
à votre nœud en ajoutant la balise suivante :pp_role
avec la valeurapache_webserver
.En affectant la valeur
pp_role
au nœud, vous définissez des valeurs de données qui sont stockées de manière permanente dans le certificat de l'agent du nœud, ce qui permet de classer le nœud parmi les nœuds de confiance. Pour plus d'informations, consultez la section Extension requests (permanent certificate data) [Extension des requêtes (données de certificat permanentes)]dans la documentation de la plate-forme Puppet. -
Sur la page Configurer le groupe de sécurité, choisissez Ajouter une règle, puis choisissez le type HTTP pour ouvrir le port 8080 pour le serveur Web Apache dans cet exemple.
-
Sélectionnez Review and Launch, puis Launch. Lorsque votre nouveau nœud démarre, il applique la configuration Apache du module d'exemple dans lequel vous l'avez configuréExemple de configuration du kit de démarrage Apache.
-
Lorsque vous ouvrez la page Web liée au DNS public de votre nouveau nœud, vous devriez voir un site Web hébergé par votre serveur Web Apache géré par Puppet.