Créez un AWS OpsWorks for Puppet Enterprise Master en utilisant AWS CloudFormation - 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.

Créez un AWS OpsWorks for Puppet Enterprise Master en utilisant AWS CloudFormation

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 ou via le AWS Support Premium.

AWS OpsWorks for Puppet Enterprise vous permet d'exécuter un serveur Puppet Enterprise dans AWS. Il ne faut que 15 minutes environ pour mettre en service un serveur maître Puppet Enterprise.

À compter du 3 mai 2021, OpsWorks for Puppet Enterprise stocke certains attributs du serveur Puppet Enterprise dans. AWS Secrets Manager Pour plus d’informations, consultez Intégration à AWS Secrets Manager.

La procédure pas à pas suivante vous aide à créer un Puppet Master dans OpsWorks Puppet Enterprise en créant un stack in. AWS CloudFormation

Prérequis

Avant de créer un nouveau Puppet master, créez les ressources externes à Puppet Enterprise dont vous aurez besoin OpsWorks pour accéder à votre Puppet master et le gérer. Pour plus d'informations, consultez Prérequis dans la section Mise en route de ce guide.

Si vous créez un serveur qui utilise un domaine personnalisé, vous avez besoin d'un domaine, d'un certificat et d'une clé privée personnalisés. Vous devez spécifier des valeurs pour ces trois paramètres dans votre AWS CloudFormation modèle. Pour plus d'informations sur les exigences relatives aux CustomPrivateKey paramètresCustomDomain,, etCustomCertificate,,,,,,, consultez CreateServerle manuel de référence de l'API AWS OpsWorks CM.

Consultez la section OpsWorks -CM de la référence du modèle de guide de AWS CloudFormation l'utilisateur pour en savoir plus sur les valeurs prises en charge et requises dans le AWS CloudFormation modèle que vous utilisez pour créer votre serveur.

Créer un serveur maître Puppet Enterprise dans AWS CloudFormation

Cette section décrit comment utiliser un AWS CloudFormation modèle pour créer une pile qui crée un serveur principal OpsWorks pour Puppet Enterprise. Vous pouvez le faire à l'aide de la AWS CloudFormation console ou du AWS CLI. Un exemple de AWS CloudFormation modèle est à votre disposition pour créer une pile de serveurs OpsWorks pour Puppet Enterprise. Veillez à mettre à jour l'exemple de modèle avec votre propre nom de serveur, vos rôles IAM, votre profil d'instance, la description du serveur, le nombre de sauvegardes conservées, les options de maintenance et les balises facultatives. Si votre serveur utilise un domaine personnalisé, vous devez spécifier des valeurs pour les paramètres CustomDomain, CustomCertificate, et CustomPrivateKey dans votre modèle AWS CloudFormation . Pour plus d'informations sur ces options, consultez Créez un Puppet Enterprise Master à l'aide du AWS Management Console dans la section Mise en route de ce guide.

Créez un Puppet Enterprise Master à l'aide de AWS CloudFormation (Console)

  1. Connectez-vous à la AWS CloudFormation console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudformation.

  2. Sur la page d' AWS CloudFormation accueil, choisissez Create stack.

  3. Dans Prerequisite - Prepare template (Prérequis - Préparation du modèle), si vous utilisez l'exemple de modèle AWS CloudFormation, choisissez Template is ready (Le modèle est prêt).

  4. Dans Specify template (Spécifier le modèle), choisissez la source de votre modèle. Pour cette procédure pas à pas, choisissez Télécharger un fichier modèle, puis téléchargez un AWS CloudFormation modèle qui crée un serveur Puppet Enterprise. Accédez à votre fichier de modèle, puis choisissez Suivant.

    Un AWS CloudFormation modèle peut être au format YAML ou JSON. Un AWS CloudFormation modèle d'exemple est à votre disposition ; veillez à remplacer les valeurs d'exemple par les vôtres. Vous pouvez utiliser le concepteur de AWS CloudFormation modèles pour créer un nouveau modèle ou valider un modèle existant. Pour plus d'informations sur la procédure, consultez Présentation de l'interface de conception AWS CloudFormation dans le guide de l'utilisateur AWS CloudFormation .

    CloudFormation Créer une page de pile
  5. Sur la page Specify stack details (Spécifier les détails de la pile), saisissez un nom pour votre pile. Il doit être différent du nom de votre serveur, car il s'agit uniquement d'un nom de pile. Dans la zone Paramètres, saisissez un mot de passe administrateur permettant de se connecter à la page web de la console Puppet Enterprise. Le mot de passe doit comporter entre 8 et 32 caractères ASCII. Choisissez Suivant.

    Spécifiez la page de détails dans CloudFormation
  6. Sur la page Options, vous pouvez ajouter des balises au serveur que vous créez avec la pile et choisir un rôle IAM pour créer des ressources si vous n'avez pas encore spécifié de rôle IAM à utiliser dans votre modèle. Une fois les options spécifiées, choisissez Suivant. Pour plus d'informations sur les options avancées telles que les déclencheurs d'annulation, consultez la section Configuration des options de AWS CloudFormation pile dans le guide de l'AWS CloudFormation utilisateur.

  7. Sur la page Vérification, vérifiez vos choix. Lorsque vous êtes prêt à créer votre pile de serveur, choisissez Créer.

    Pendant que vous attendez de AWS CloudFormation créer la pile, consultez l'état de création de la pile. Si la création de la pile échoue, examinez les messages d'erreur affichés dans la console pour vous aider à résoudre le problème. Pour plus d'informations sur la résolution des erreurs dans les piles AWS CloudFormation , consultez Dépannage des erreurs dans le guide de l'utilisateur AWS CloudFormation .

    Lorsque la création du serveur est terminée, votre Puppet Master est disponible sur la OpsWorks page d'accueil de Puppet Enterprise, avec le statut en ligne. Une fois que le serveur est en ligne, la console Puppet Enterprise est disponible sur le domaine du serveur, à une URL au format suivant : https://your_server_name-randomID.region.opsworks-cm.io.

    Note

    Si vous avez spécifié un domaine, un certificat et une clé privée personnalisés pour votre serveur, créez une entrée CNAME dans l'outil de gestion DNS de votre entreprise qui mappe votre domaine personnalisé au point de terminaison généré automatiquement OpsWorks pour le serveur par Puppet Enterprise. Vous ne pouvez pas gérer le serveur ou vous connecter au site web de gestion Puppet Enterprise pour le serveur tant que vous n'avez pas mappé le point de terminaison généré à votre valeur de domaine personnalisée.

    Pour obtenir la valeur du point de terminaison généré, exécutez la AWS CLI commande suivante une fois que votre serveur est en ligne :

    aws opsworks describe-servers --server-name server_name

Créez un Puppet Enterprise Master à l'aide de AWS CloudFormation (CLI)

Si votre ordinateur local n'exécute pas déjà le AWS CLI, téléchargez-le et installez-le AWS CLI en suivant les instructions d'installation du guide de l'utilisateur de l'interface de ligne de commande AWS. Cette section ne décrit pas tous les paramètres que vous pouvez utiliser avec la commande create-stack. Pour plus d'informations sur les paramètres create-stack, consultez create-stack dans la Référence de l'AWS CLI .

  1. Assurez-vous de compléter le formulaire de Prérequis création d'un master OpsWorks pour Puppet Enterprise.

  2. Créez un rôle de service et un profil d'instance. AWS OpsWorks fournit un AWS CloudFormation modèle que vous pouvez utiliser pour créer les deux. Exécutez la AWS CLI commande suivante pour créer une AWS CloudFormation pile qui crée le rôle de service et le profil d'instance pour vous.

    aws cloudformation create-stack --stack-name OpsWorksCMRoles --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml --capabilities CAPABILITY_NAMED_IAM

    Une AWS CloudFormation fois la pile créée, recherchez et copiez les ARN des rôles de service dans votre compte.

    aws iam list-roles --path-prefix "/service-role/" --no-paginate

    Dans les résultats de la commande list-roles, recherchez les entrées de rôle de service et de profil d'instance ressemblant à ce qui suit. Notez les ARN du rôle de service et du profil d'instance, puis ajoutez-les au AWS CloudFormation modèle que vous utilisez pour créer votre pile de serveurs Puppet Master.

    { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZQG6R22HC", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-ec2-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-ec2-role" }, { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "opsworks-cm.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZZZZZZ6QE", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-service-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-service-role" }
  3. Créez le master OpsWorks for Puppet Enterprise en exécutant à nouveau la create-stack commande.

    • Remplacez stack_name par le nom de votre pile. C'est le nom de la AWS CloudFormation pile, pas celui de votre Puppet Master. Le serveur maître Puppet correspond à la valeur de ServerName dans votre modèle AWS CloudFormation .

    • Remplacez modèle par le chemin d'accès à votre fichier de modèle et l'extension yaml ou json par .yaml ou .json, le cas échéant.

    • Les valeurs de --parameters correspondent à celles EngineAttributesde l'CreateServerAPI. Pour Puppet, les éléments suivants sont des attributs de moteur fournis par l'utilisateur pour créer un serveur. Les attributs de moteur r10k connectent votre serveur maître à un référentiel de code pour gérer la configuration d'environnement du serveur. Pour plus d'informations sur les attributs de moteur r10k, consultez Gestion de code avec r10k dans la documentation Puppet Enterprise.

      • PUPPET_ADMIN_PASSWORD, un mot de passe administrateur permettant de se connecter à la page web de la console Puppet Enterprise. Le mot de passe doit comporter entre 8 et 32 caractères ASCII, et inclure au moins une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial.

      • PUPPET_R10K_REMOTE, l'URL de votre référentiel de contrôle (par exemple, ssh://git@your.git-repo.com:user/control-repo.git). La spécification d'un référentiel de contrôle distant r10k ouvre un port TCP 8170.

      • PUPPET_R10K_PRIVATE_KEY. Si vous utilisez un dépôt Git privé, ajoutez PUPPET_R10K_PRIVATE_KEY pour spécifier une URL SSH et une clé SSH privée codée PEM.

    aws cloudformation create-stack --stack-name stack_name --template-body file://template.yaml or json --parameters ParameterKey=AdminPassword,ParameterValue="password"

    Voici un exemple.

    aws cloudformation create-stack --stack-name "OpsWorksCMPuppetServerStack" --template-body file://opsworkscm-puppet-server.json --parameters ParameterKey=AdminPassword,ParameterValue="09876543210Ab#"

    L'exemple suivant spécifie les attributs du moteur r10k en tant que paramètres, lorsqu'ils ne sont pas fournis dans le AWS CloudFormation modèle. Un exemple de modèle qui inclut les attributs de moteur r10k, puppet-server-param-attributes.yaml, est inclus dans les exemples de modèle AWS CloudFormation.

    aws cloudformation create-stack --stack-name MyPuppetStack --template-body file://puppet-server-param-attributes.yaml --parameters ParameterKey=AdminPassword,ParameterValue="superSecret1%3" ParameterKey=R10KRemote,ParameterValue="https://www.yourRemote.com" ParameterKey=R10KKey,ParameterValue="$(cat puppet-r10k.pem)"

    L'exemple suivant spécifie des attributs de moteur r10k et leurs valeurs dans le modèle AWS CloudFormation  ; la commande doit uniquement pointer vers le fichier de modèle. Le modèle spécifié comme valeur de --template-body, puppet-server-in-file-attributes.yaml, est inclus dans les exemples de modèle AWS CloudFormation.

    aws cloudformation create-stack --stack-name MyPuppetStack --template-body file://puppet-server-in-file-attributes.yaml
  4. (Facultatif) Pour obtenir le statut de la création de la pile, exécutez la commande suivante.

    aws cloudformation describe-stacks --stack-name stack_name
  5. Une fois la pile créée, passez à la section suivante, Configurer le serveur maître Puppet à l'aide du Starter Kit. Si la création de la pile échoue, examinez les messages d'erreur affichés dans la console pour vous aider à résoudre le problème. Pour plus d'informations sur la résolution des erreurs dans les AWS CloudFormation piles, consultez la section Résolution des erreurs dans le guide de l'AWS CloudFormation utilisateur.