Création d'un serveur Chef Automate - 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éation d'un serveur Chef Automate

Important

AWS OpsWorks for Chef Automate a atteint sa fin de vie le 5 mai 2024 et a été désactivé pour les nouveaux clients et les clients existants. Nous recommandons aux clients existants de migrer vers Chef SaaS ou vers une solution alternative. Si vous avez des questions, vous pouvez contacter l' AWS Support équipe sur AWS Re:Post ou via le AWS Support Premium.

Vous pouvez créer un serveur Chef à l'aide de la AWS OpsWorks for Chef Automate console ou du AWS CLI.

Créez un serveur Chef Automate dans 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 Accéder à OpsWorks pour Chef Automate.

    AWS OpsWorks maison de service
  3. Sur la page d' AWS OpsWorks for Chef Automate accueil, choisissez Create Chef Automate server.

    Page d'accueil des serveurs Chef Automate
  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 Chef peuvent inclure 40 caractères au maximum 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.large 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.

    Page Select an SSH key (Sélectionner une clé SSH)
  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.

    Section de spécification du point de terminaison du serveur
  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.

    Utiliser un nom de domaine personnalisé
    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.

    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. Choisissez Suivant.

  8. Sur la page Configuration de 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é. Les exigences pour votre VPC sont les suivantes :

    • Le VPC doit avoir au moins un sous-réseau public.

    • La résolution DNS doit être activée.

    • Attribuer automatiquement l'adresse IP publique (Auto-assign public) doit être activé sur les sous-réseaux publics.

    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é. Vous ne pouvez pas modifier les paramètres de réseau et de sécurité pour le serveur Chef une fois que vous avez quitté cette page.

    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. Les nœuds connectés passent à l'état pending-server tant que la maintenance n'est pas terminée.

    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 sont conservées ; lorsque le maximum est atteint, les sauvegardes les plus anciennes sont AWS OpsWorks for Chef Automate supprimées 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 AWS OpsWorks for Chef Automate serveur, consultezUtilisation des balises sur les AWS OpsWorks for Chef Automate 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 serveur Chef, accédez au kit de démarrage Configuration d'un serveur Chef à l'aide du Starter Kit et aux informations d'identification du tableau de bord Chef Automate et téléchargez-les. 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 serveur Chef est disponible sur la page d'accueil d' AWS OpsWorks for Chef Automate , avec un statut online (en ligne). Une fois que le serveur est en ligne, le tableau de bord Chef Automate est disponible sur le domaine du serveur, à une URL au format suivant : https://your_server_name-random.region.opsworks-cm.io.

Créez un serveur Chef Automate à l'aide du AWS CLI

La création d'un AWS OpsWorks for Chef Automate serveur en exécutant AWS CLI des 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 aucun rôle de service et un groupe de sécurité 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 serveur Chef Automate, vous téléchargez le kit de démarrage Chef Automate et les informations de connexion pour le tableau de bord Chef Automate. Comme vous ne pouvez pas le faire lorsque vous créez un AWS OpsWorks for Chef Automate serveur à l'aide du AWS CLI, vous utilisez un utilitaire de traitement JSON pour obtenir les informations d'identification et le kit de démarrage à partir des résultats de la create-server commande une fois que votre nouveau AWS OpsWorks for Chef Automate serveur est en ligne. Sinon, vous pouvez générer un nouvel ensemble d'informations d'identification de connexion et un nouveau kit de démarrage dans la console une fois que votre nouveau serveur AWS OpsWorks for Chef Automate 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 à remplir les conditions préalables, en particulier Configuration d'un VPC, ou assurez-vous que vous disposez d'un VPC existant que vous pouvez utiliser. Pour créer votre serveur Chef Automate, vous avez besoin d'un ID de sous-réseau.

  2. Le cas échéant, générez une clé centrale Chef à l'aide d'OpenSSL et enregistrez la clé dans un fichier pratique et sécurisé sur votre ordinateur local. La clé centrale est automatiquement générée dans le cadre du processus de création de serveur si vous n'en fournissez pas une dans la commande create-server. Si vous souhaitez ignorer cette étape, vous pouvez obtenir la clé centrale Chef Automate à partir des résultats de la commande create-server. Si vous choisissez de générer la clé centrale à l'aide des commandes suivantes, veillez à inclure le paramètre -pubout, car la valeur de la clé centrale Chef Automate est la moitié publique de la paire de clés RSA. Pour de plus amples informations, veuillez consulter l'étape 6.

    umask 077 openssl genrsa -out "pivotal" 2048 openssl rsa -in "pivotal" -pubout
  3. 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
  4. 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 Chef Automate.

    { "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" }
  5. 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 Chef Automate.

    { "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" } ] } } ] },
  6. Créez le AWS OpsWorks for Chef Automate serveur en exécutant la create-server commande.

    • La valeur de --engine est ChefAutomate, --engine-model a pour valeur Single et --engine-version a pour valeur 12.

    • 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 4 et 5.

    • Les types d'instance valides sont m5.large, r5.xlarge et r5.2xlarge. 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 l'une des valeurs ou les deux, le processus de création de serveur les génère pour vous. Si vous ajoutez --engine-attributes, spécifiez la valeur CHEF_AUTOMATE_PIVOTAL_KEY que vous avez générée à l'étape 2, une valeur CHEF_AUTOMATE_ADMIN_PASSWORD, ou les deux.

      Si vous ne définissez pas de valeur pour CHEF_AUTOMATE_ADMIN_PASSWORD, un mot de passe est généré et inclus dans la réponse create-server. Vous pouvez également télécharger à nouveau le kit de démarrage dans la console, ce qui permet de générer à nouveau ce mot de passe. La longueur du mot de passe est de huit caractères au minimum et de 32 au maximum. Le mot de passe peut contenir des lettres, des nombres et des caractères spéciaux (!/@#$%^+=_). Il doit contenir au moins une lettre en minuscule, une lettre en majuscule, un chiffre et un caractère spécial.

    • Une paire de clés SSH est facultative, mais elle peut vous aider à vous connecter à votre serveur Chef Automate si vous devez réinitialiser le mot de passe de l'administrateur du tableau de bord Chef Automate. 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 de serveur Chef Automate 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 "ChefAutomate" --engine-model "Single" --engine-version "12" --server-name "server_name" --instance-profile-arn "instance_profile_ARN" --instance-type "instance_type" --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"pivotal_key","CHEF_AUTOMATE_ADMIN_PASSWORD":"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 "ChefAutomate" --engine-model "Single" --engine-version "12" --server-name "automate-06" --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" --instance-type "m5.large" --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_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::12345678912:role/service-role/aws-opsworks-cm-service-role" --subnet-ids subnet-300aaa00

    L'exemple suivant crée un serveur Chef Automate qui utilise un domaine personnalisé.

    aws opsworks-cm create-server --engine "ChefAutomate" --engine-model "Single" --engine-version "12" \ --server-name "my-custom-domain-server" \ --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.large" \ --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --custom-domain "my-chef-automate-server.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::12345678912:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-300aaa00

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

    aws opsworks-cm create-server --engine "ChefAutomate" --engine-model "Single" --engine-version "12" \ --server-name "my-test-chef-server" \ --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.large" \ --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_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::12345678912:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-300aaa00 \ --tags [{\"Key\":\"Stage\",\"Value\":\"Production\"},{\"Key\":\"Department\",\"Value\":\"Marketing\"}]
  7. AWS OpsWorks for Chef Automate prend 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": "automate-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
  8. Si vous avez choisi de AWS OpsWorks for Chef Automate générer une clé et un mot de passe pour vous, vous pouvez les extraire dans des formats utilisables à partir des create-server résultats à l'aide d'un processeur JSON tel que jq. Une fois que vous avez installé jq, vous pouvez exécuter les commandes suivantes pour extraire la clé centrale, le mot de passe administrateur du tableau de bord Chef Automate et le kit de démarrage. Si vous n'avez pas fourni votre propre clé centrale et votre mot de passe à l'étape 4, veillez à sauvegarder la clé centrale et le mot de passe administrateur extraits dans des emplacements sécurisés, mais pratiques.

    #Get the Chef password: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_AUTOMATE_ADMIN_PASSWORD") | .Value' #Get the Chef Pivotal Key: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_AUTOMATE_PIVOTAL_KEY") | .Value' #Get the Chef Starter Kit: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_STARTER_KIT") | .Value' | base64 -D > starterkit.zip
  9. Si vous n'avez pas extrait le kit de démarrage à partir des résultats des create-server commandes, vous pouvez éventuellement télécharger un nouveau kit de démarrage depuis la page Propriétés du serveur dans la AWS OpsWorks for Chef Automate console. Le téléchargement d'un nouveau kit de démarrage réinitialise le mot de passe administrateur du tableau de bord Chef Automate.

  10. 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 AWS OpsWorks for Chef Automate terminaison que vous avez copié à l'étape 7. Vous ne pouvez pas accéder ou vous connecter à un serveur avec un domaine personnalisé tant que vous n'avez pas effectué cette étape.

  11. Lorsque le processus de création du serveur est terminé, accédez à Configuration d'un serveur Chef à l'aide du Starter Kit.