Créer un serveur maître Puppet Enterprise - 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éer un serveur maître 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 ou via le AWS Support Premium.

Vous pouvez créer un Puppet Master à l'aide de la console OpsWorks for Puppet Enterprise ou du. AWS CLI

Créez un Puppet Enterprise Master à l'aide du AWS Management Console

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

  2. Sur la page d' AWS OpsWorks accueil, choisissez Go to OpsWorks pour Puppet Enterprise.

    AWS OpsWorks maison de service
  3. Sur la page OpsWorks d'accueil de Puppet Enterprise, choisissez Create Puppet Enterprise server.

    Tableau de bord du serveur maître Puppet
  4. Sur la page Set name, region, and type (Définir le nom, la région et le type), spécifiez un nom pour votre serveur. Les noms de serveur maître Puppet peuvent comporter 40 caractères au maximum, doivent commencer par une lettre et contenir uniquement des caractères alphanumériques et des tirets. Sélectionnez une région prise en charge, puis choisissez un type d'instance prenant en charge le nombre de nœuds que vous voulez gérer. Vous pouvez modifier le type d'instance une fois que votre serveur a été créé, si nécessaire. Pour cette procédure pas à pas, nous créons un type d'instance m5.xlarge dans la région USA Ouest (Oregon). Choisissez Suivant.

    Page Set name, region, and type
  5. Sur la page Configure server (Configurer le serveur), conservez la sélection par défaut dans la liste déroulante SSH key (Clé SSH), sauf si vous souhaitez spécifier un nom de paire de clés. Dans le champ r10k remote de la zone Configure Puppet Code Manager (Configurer Puppet Code Manager), spécifiez une URL SSH ou HTTPS valide pour votre git remote. Dans le champ clé privée r10k, collez la clé privée SSH qui AWS OpsWorks peut être utilisée pour accéder au référentiel distant r10k. Celle-ci est fournie par Git lorsque vous créez un référentiel privé, mais n'est pas requise si vous utilisez l'authentification HTTPS pour accéder à votre référentiel de contrôle. Choisissez Suivant.

    Page Configurer le serveur
  6. Pour Specify server endpoint (Spécifier le point de terminaison du serveur), laissez la valeur par défaut, Use an automatically-generated endpoint (Utiliser un point de terminaison généré automatiquement), puis choisissez Next (Suivant), sauf si vous souhaitez que votre serveur se trouve sur votre propre domaine personnalisé. Pour configurer un domaine personnalisé, passez à l'étape suivante.

  7. Pour utiliser un domaine personnalisé, dans Specify server endpoint (Spécifier le point de terminaison du serveur), choisissez Utiliser un domaine personnalisé (Use a custom domain) dans la liste déroulante.

    1. Pour Fully qualified domain name (FQDN) (Nom de domaine complet (FQDN)), spécifiez un nom de domaine complet. Vous devez posséder le nom de domaine que vous souhaitez utiliser.

    2. Pour SSL certificate (Certificat SSL), collez l'intégralité du certificat au format PEM, en commençant par –––--BEGIN CERTIFICATE----- et se terminant par –––--END CERTIFICATE-----. L'objet du certificat SSL doit correspondre au nom de domaine complet que vous avez entré à l'étape précédente. Supprimez les lignes supplémentaires avant et après le certificat.

    3. Pour SSL private key (Clé privée SSL), collez l'intégralité de la clé privée RSA, en commençant par –––--BEGIN RSA PRIVATE KEY----- et terminant par –––--END RSA PRIVATE KEY-----. La clé privée SSL doit correspondre à la clé publique du certificat SSL que vous avez entré à l'étape précédente. Supprimez les lignes supplémentaires avant et après la clé privée. Choisissez Suivant.

  8. Sur la page Configurer les paramètres avancés, dans la zone Réseau et sécurité, choisissez un VPC, un sous-réseau et un ou plusieurs groupes de sécurité. AWS OpsWorks peut générer un groupe de sécurité, un rôle de service et un profil d'instance pour vous, si vous n'en avez pas déjà un à utiliser. Votre serveur peut être membre de plusieurs groupes de sécurité. Une fois que vous avez quitté cette page, vous ne pouvez plus modifier les paramètres de réseau et de sécurité pour le serveur maître Puppet.

    Réseau et sécurité
  9. Dans la section System maintenance (Maintenance du système), définissez le jour et l'heure de début de la maintenance du système. Etant donné que le serveur doit être hors ligne lors de la maintenance du système, choisissez une heure où le serveur est peu sollicité pendant les heures normales de bureau.

    La fenêtre de maintenance est obligatoire. Vous pouvez modifier le jour et l'heure de début ultérieurement à l'aide de AWS Management Console AWS CLI, ou des API.

    Maintenance du système
  10. Configurez des sauvegardes. Par défaut, les sauvegardes automatiques sont activées. Définissez une fréquence et une heure préférées pour le démarrage de la sauvegarde automatique, et définissez le nombre de générations de sauvegarde à stocker dans Amazon Simple Storage Service. Un maximum de 30 sauvegardes peuvent être conservées ; lorsque le maximum est atteint, OpsWorks for Puppet Enterprise supprime les sauvegardes les plus anciennes pour faire de la place aux nouvelles.

    Sauvegardes automatiques
  11. (Facultatif) Dans Balises, ajoutez des balises au serveur et aux ressources associées, telles que l'instance EC2, l'adresse IP Elastic, le groupe de sécurité, le compartiment S3 et les sauvegardes. Pour plus d'informations sur le balisage d'un serveur OpsWorks pour Puppet Enterprise, consultez. Utilisation des balises sur les AWS OpsWorks for Puppet Enterprise ressources

  12. Lorsque vous avez terminé de configurer les paramètres avancés, cliquez sur Suivant.

  13. Sur la page Vérification, vérifiez vos choix. Lorsque vous êtes prêt à créer le serveur, choisissez Lancer.

    Pendant que vous attendez de AWS OpsWorks créer votre Puppet master, téléchargez le kit de démarrage Configurer le serveur maître Puppet à l'aide du Starter Kit et les informations d'identification de la console Puppet Enterprise. N'attendez pas que votre serveur soit en ligne pour télécharger ces éléments.

    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.

Créez un Puppet Enterprise Master à l'aide du AWS CLI

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.

La création d'un serveur principal OpsWorks pour Puppet Enterprise en exécutant des AWS CLI commandes est différente de la création d'un serveur dans la console. Dans la console, AWS OpsWorks crée un rôle de service et un groupe de sécurité pour vous, si vous ne spécifiez pas ceux que vous souhaitez utiliser. Dans le AWS CLI, vous AWS OpsWorks pouvez créer un groupe de sécurité pour vous si vous n'en spécifiez pas un, mais cela ne crée pas automatiquement un rôle de service ; vous devez fournir un ARN de rôle de service dans le cadre de votre create-server commande. Dans la console, lors AWS OpsWorks de la création de votre Puppet master, vous téléchargez le kit de démarrage et les informations de connexion pour la console Puppet Enterprise. Comme vous ne pouvez pas le faire lorsque vous créez un master OpsWorks for Puppet Enterprise à l'aide de AWS CLI, vous utilisez un utilitaire de traitement JSON pour obtenir les informations de connexion et le kit de démarrage à partir des résultats de la create-server commande une fois que votre nouveau master OpsWorks for Puppet Enterprise est en ligne.

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-server. Pour plus d'informations sur les paramètres create-server, consultez create-server dans la Référence de l'AWS CLI .

  1. Veillez à exécuter les Prérequis. Pour créer votre serveur maître Puppet, vous avez besoin d'un ID de sous-réseau. Par conséquent, vous devez disposer d'un VPC.

  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
  3. 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 d'ARN de rôle de service ressemblant à ce qui suit. Notez les ARN de rôle de service. Ces valeurs vous seront utiles pour créer votre serveur maître Puppet Enterprise.

    { "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" }
  4. Recherchez et copiez les ARN des profils d'instance dans votre compte.

    aws iam list-instance-profiles --no-paginate

    Dans les résultats de la commande list-instance-profiles, recherchez les entrées d'ARN de profil d'instance ressemblant à ce qui suit. Notez les ARN de profil d'instance. Ces valeurs vous seront utiles pour créer votre serveur maître Puppet Enterprise.

    { "Path": "/", "InstanceProfileName": "aws-opsworks-cm-ec2-role", "InstanceProfileId": "EXAMPLEDC6UR3LTUW7VHK", "Arn": "arn:aws:iam::123456789012:instance-profile/aws-opsworks-cm-ec2-role", "CreateDate": "2017-01-05T20:42:20Z", "Roles": [ { "Path": "/service-role/", "RoleName": "aws-opsworks-cm-ec2-role", "RoleId": "EXAMPLEE4STNUQG6R22HC", "Arn": "arn:aws:iam::123456789012:role/service-role/aws-opsworks-cm-ec2-role", "CreateDate": "2017-01-05T20:42:20Z", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } } ] },
  5. Créez le master OpsWorks for Puppet Enterprise en exécutant la create-server commande.

    • La --engine valeur est PuppetMonolithic, --engine-model est et --engine-version peut être 2019 ou2017.

    • Le nom du serveur doit être unique dans votre AWS compte, dans chaque région. Les noms de serveur doivent commencer par une lettre. Ensuite, vous pouvez utiliser des lettres, des chiffres ou des tirets (-), jusqu'à un maximum de 40 caractères.

    • Utilisez l'ARN du profil d'instance et celui du rôle de service que vous avez copiés lors des Étapes 3 et 4.

    • Les types d'instance valides sont m5.xlarge, c5.2xlarge et c5.4xlarge. Pour plus d'informations sur les spécifications de ces types d'instances, consultez la section Types d'instances du guide de l'utilisateur Amazon EC2.

    • Le paramètre --engine-attributes est facultatif ; si vous ne spécifiez pas de mot de passe administrateur Puppet, le processus de création de serveur en génère un pour vous. Si vous ajoutez --engine-attributes, spécifiez un élément 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.

    • Une paire de clés SSH est facultative, mais elle peut vous aider à vous connecter à votre serveur maître Puppet si vous devez réinitialiser le mot de passe de l'administrateur de la console. Pour plus d'informations sur la création d'une paire de clés SSH, consultez la section Paires de clés Amazon EC2 dans le guide de l'utilisateur Amazon EC2.

    • Pour utiliser un domaine personnalisé, ajoutez les paramètres suivants à votre commande. Sinon, le processus de création d'un maître Puppet génère automatiquement un point de terminaison pour vous. Les trois paramètres sont requis pour configurer un domaine personnalisé. Pour plus d'informations sur les exigences supplémentaires relatives à l'utilisation de ces paramètres, consultez CreateServerla référence de l'API AWS OpsWorks CM.

      • --custom-domain - Point de terminaison public facultatif d'un serveur, tel que https://aws.my-company.com.

      • --custom-certificate - Un certificat HTTPS au format PEM. La valeur peut être un seul certificat auto-signé ou une chaîne de certificats.

      • --custom-private-key - Une clé privée au format PEM pour se connecter au serveur à l'aide de HTTPS. La clé privée ne doit pas être chiffrée ; elle ne peut pas être protégée par un mot de passe ou une phrase passe.

    • Une maintenance hebdomadaire du système est obligatoire. Vous devez spécifier des valeurs valides au format suivant : DDD:HH:MM. L'heure doit être exprimée en heure UTC (temps universel coordonné). Si vous ne spécifiez aucune valeur pour --preferred-maintenance-window, la valeur par défaut est un intervalle aléatoire d'une heure le mardi, le mercredi ou le vendredi.

    • Les valeurs valides pour --preferred-backup-window doivent être spécifiées dans l'un des formats suivants : HH:MM pour les sauvegardes quotidiennes ou DDD:HH:MM pour les sauvegardes hebdomadaires. L'heure indiquée est en heure UTC. La valeur par défaut est une heure de début quotidienne aléatoire. Pour annuler les sauvegardes quotidiennes, ajoutez le paramètre --disable-automated-backup.

    • Pour --security-group-ids, entrez un ou plusieurs ID de groupe de sécurité, séparés par un espace.

    • Pour --subnet-ids, entrez un ID de sous-réseau.

    aws opsworks-cm create-server --engine "Puppet" --engine-model "Monolithic" --engine-version "2019" --server-name "server_name" --instance-profile-arn "instance_profile_ARN" --instance-type "instance_type" --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"ASCII_password"}' --key-pair "key_pair_name" --preferred-maintenance-window "ddd:hh:mm" --preferred-backup-window "ddd:hh:mm" --security-group-ids security_group_id1 security_group_id2 --service-role-arn "service_role_ARN" --subnet-ids subnet_ID

    Voici un exemple.

    aws opsworks-cm create-server --engine "Puppet" --engine-model "Monolithic" --engine-version "2019" --server-name "puppet-02" --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" --instance-type "m5.xlarge" --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" --preferred-backup-window "Sun:02:00" --security-group-ids sg-b00000001 sg-b0000008 --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" --subnet-ids subnet-383daa71

    L'exemple suivant crée un maître Puppet qui utilise un domaine personnalisé.

    aws opsworks-cm create-server \ --engine "Puppet" \ --engine-model "Monolithic" \ --engine-version "2019" \ --server-name "puppet-02" \ --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.xlarge" \ --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --custom-domain "my-puppet-master.my-corp.com" \ --custom-certificate "-----BEGIN CERTIFICATE----- EXAMPLEqEXAMPLE== -----END CERTIFICATE-----" \ --custom-private-key "-----BEGIN RSA PRIVATE KEY----- EXAMPLEqEXAMPLE= -----END RSA PRIVATE KEY-----" \ --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" \ --preferred-backup-window "Sun:02:00" \ --security-group-ids sg-b00000001 sg-b0000008 \ --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-383daa71

    L'exemple suivant crée un maître Puppet qui ajoute deux balises : Stage: Production et Department: Marketing. Pour plus d'informations sur l'ajout et la gestion de balises sur OpsWorks les serveurs Puppet Enterprise, consultez Utilisation des balises sur les AWS OpsWorks for Puppet Enterprise ressources ce guide.

    aws opsworks-cm create-server \ --engine "Puppet" \ --engine-model "Monolithic" \ --engine-version "2019" \ --server-name "puppet-02" \ --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.xlarge" \ --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" \ --preferred-backup-window "Sun:02:00" \ --security-group-ids sg-b00000001 sg-b0000008 \ --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-383daa71 \ --tags [{\"Key\":\"Stage\",\"Value\":\"Production\"},{\"Key\":\"Department\",\"Value\":\"Marketing\"}]
  6. OpsWorks pour Puppet Enterprise, il faut environ 15 minutes pour créer un nouveau serveur. Ne supprimez pas la sortie de la commande create-server ou ne fermez pas votre session shell, car la sortie peut contenir des informations importantes qui ne seront plus réaffichées. Pour obtenir les mots de passe et le kit de démarrage à partir des résultats de la commande create-server, passez à l'étape suivante.

    Si vous utilisez un domaine personnalisé avec le serveur, dans la sortie de la commande create-server, copiez la valeur de l'attribut Endpoint. Voici un exemple.

    "Endpoint": "puppet-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
  7. Si vous avez choisi que OpsWorks Puppet Enterprise génère un mot de passe pour vous, vous pouvez l'extraire dans un format utilisable à partir des create-server résultats en utilisant un processeur JSON tel que jq. Une fois que vous avez installé jq, vous pouvez exécuter les commandes suivantes pour extraire le mot de passe administrateur et le kit de démarrage Puppet. Si vous n'avez pas fourni votre propre mot de passe à l'étape 3, veillez à sauvegarder le mot de passe administrateur extrait dans un emplacement sécurisé, mais pratique.

    #Get the Puppet password: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "PUPPET_ADMIN_PASSWORD") | .Value' #Get the Puppet Starter Kit: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "PUPPET_STARTER_KIT") | .Value' | base64 -D > starterkit.zip
    Note

    Vous ne pouvez pas régénérer un nouveau kit de démarrage de serveur maître Puppet Starter Kit dans l' AWS Management Console. Lorsque vous créez un Puppet master à l'aide de AWS CLI, exécutez la jq commande précédente pour enregistrer le kit de démarrage codé en base64 dans les create-server résultats sous forme de fichier ZIP.

  8. Si vous n'utilisez pas un domaine personnalisé, passez à l'étape suivante. Si vous utilisez un domaine personnalisé avec le serveur, créez une entrée CNAME dans l'outil de gestion DNS de votre entreprise pour faire pointer votre domaine personnalisé vers le point de terminaison OpsWorks pour Puppet Enterprise que vous avez copié à l'étape 6. Vous ne pouvez pas accéder ou vous connecter à un serveur avec un domaine personnalisé tant que vous n'avez pas effectué cette étape.

  9. Passez à la section suivante, Configurer le serveur maître Puppet à l'aide du Starter Kit.