

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 Chef Automate serveur en utilisant CloudFormation
<a name="opscm-create-server-cfn"></a>

**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](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

AWS OpsWorks for Chef Automate vous permet d'exécuter un serveur [Chef Automate](https://www.chef.io/automate/) dans AWS. Vous pouvez mettre en service un serveur Chef Automate en 15 minutes environ.

À partir du 3 mai 2021, AWS OpsWorks for Chef Automate stocke certains attributs du serveur Chef Automate dans AWS Secrets Manager. Pour de plus amples informations, veuillez consulter [Intégration avec AWS Secrets Manager](data-protection.md#data-protection-secrets-manager).

La procédure pas à pas suivante vous aide à créer un serveur dans en AWS OpsWorks for Chef Automate créant un stack in CloudFormation.

**Topics**
+ [Conditions préalables](#opscm-create-server-cfn-prereqs)
+ [Créer un serveur Chef Automate dans CloudFormation](#opscm-create-server-cfn-main)

## Conditions préalables
<a name="opscm-create-server-cfn-prereqs"></a>

Avant de créer un nouveau serveur Chef Automate, créez les ressources extérieures à AWS OpsWorks for Chef Automate dont vous aurez besoin pour accéder au serveur Chef et le gérer. Pour plus d'informations, consultez [Conditions préalables](gettingstarted-opscm.md#gettingstarted-opscm-prereq) dans la section Mise en route de ce guide.

Consultez la [section OpsWorks -CM](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html) de la référence du modèle de *guide de CloudFormation l'utilisateur* pour en savoir plus sur les valeurs prises en charge et requises dans le CloudFormation modèle que vous utilisez pour créer votre serveur.

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 CloudFormation modèle. Pour plus d'informations sur les exigences relatives aux `CustomPrivateKey` paramètres`CustomDomain`,, et`CustomCertificate`,,,,,,, consultez [CreateServer](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_CreateServer.html)le manuel de *référence de l'API OpsWorks CM*.

Créez un mot de passe pour l'attribut de moteur `CHEF_AUTOMATE_ADMIN_PASSWORD`. 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. Vous spécifiez ce mot de passe dans votre CloudFormation modèle ou en tant que valeur du `CHEF_AUTOMATE_ADMIN_PASSWORD` paramètre lorsque vous créez votre pile.

Générez une paire de clés RSA codée en base64 avant de commencer à créer un serveur Chef Automate dans. CloudFormation La clé publique de la paire est la valeur de`CHEF_AUTOMATE_PIVOTAL_KEY`, spécifique à Chef, issue [EngineAttributes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-engineattributes)de l'[CreateServer](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_CreateServer.html)API. Cette clé est fournie sous forme de valeur de **Parameters** dans la CloudFormation console ou dans la **create-stack** commande du AWS CLI. Pour générer cette clé, nous suggérons les méthodes suivantes.
+ Sur les ordinateurs Linux, vous pouvez générer cette clé en exécutant la commande [OpenSSL](https://www.openssl.org/) suivante.

  ```
  openssl genrsa -out pivotal_key_file_name.pem 2048
  ```

  Ensuite, exportez dans un fichier la partie clé publique RSA de la paire. La clé publique devient la valeur de `CHEF_AUTOMATE_PIVOTAL_KEY`.

  ```
  openssl rsa -in pivotal_key_file_name.pem -pubout -out public.pem -outform PEM
  ```
+ Sur les ordinateurs Windows, vous pouvez utiliser l'TTYgen utilitaire Pu pour générer une paire de clés RSA codée en base64. Pour plus d'informations, consultez [Pu TTYgen - Key Generator for PuTTY sous Windows sur SSH.com](https://www.ssh.com/ssh/putty/windows/puttygen).

## Créer un serveur Chef Automate dans CloudFormation
<a name="opscm-create-server-cfn-main"></a>

Cette section décrit comment utiliser un CloudFormation modèle pour créer une pile qui crée un AWS OpsWorks for Chef Automate serveur. Vous pouvez le faire à l'aide de la CloudFormation console ou du AWS CLI. Un [exemple de CloudFormation modèle](samples/opsworkscm-server.zip) est à votre disposition pour créer une pile de AWS OpsWorks for Chef Automate serveurs. 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 doit utiliser un domaine personnalisé, vous devez spécifier des valeurs pour les `CustomPrivateKey` paramètres `CustomDomain``CustomCertificate`, et dans votre CloudFormation modèle. Vous pouvez spécifier les attributs `CHEF_AUTOMATE_PIVOTAL_KEY` du moteur `CHEF_AUTOMATE_ADMIN_PASSWORD` et leurs valeurs dans le CloudFormation modèle, ou fournir uniquement les attributs, puis spécifier des valeurs pour les attributs dans l'assistant ou la **create-stack** commande CloudFormation **Create Stack**. Pour plus d'informations sur ces attributs, consultez [Créez un serveur Chef Automate dans le AWS Management Console](gettingstarted-opscm-create.md#gettingstarted-opscm-create-console) dans la section Mise en route de ce guide.

**Topics**
+ [Créer d'un serveur Chef Automate en utilisant CloudFormation (console)](#opscm-create-server-cfn-console)
+ [Créer un serveur Chef Automate en utilisant CloudFormation (CLI)](#opscm-create-server-cfn-cli)

### Créer d'un serveur Chef Automate en utilisant CloudFormation (console)
<a name="opscm-create-server-cfn-console"></a>

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

1. Sur la page d' CloudFormation accueil, choisissez **Create stack**.

1. Dans **Prérequis - Préparer le modèle**, si vous utilisez le [CloudFormation modèle d'exemple](samples/opsworkscm-server.zip), choisissez **Le modèle est prêt**.

1. 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 CloudFormation modèle qui crée un serveur Chef Automate. Accédez à votre fichier de modèle, puis choisissez **Suivant**.

   Un CloudFormation modèle peut être au format YAML ou JSON. Un [CloudFormation modèle d'exemple](samples/opsworkscm-server.zip) est à votre disposition ; veillez à remplacer les valeurs d'exemple par les vôtres. Vous pouvez utiliser le concepteur de 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 CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer-overview.html) dans le *guide de l'utilisateur CloudFormation *.  
![\[CloudFormation Créer une page de pile\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/cfn_select_template.png)

1. 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**, collez les valeurs créées dans [Conditions préalables](#opscm-create-server-cfn-prereqs). Entrez le mot de passe dans le **Mot de passe**.

   Collez le contenu du fichier de clé RSA dedans **PivotalKey**. Dans la CloudFormation console, vous devez ajouter des caractères newline (**\$1n**) à la fin de chaque ligne de la valeur clé pivot, comme indiqué dans la capture d'écran suivante. Choisissez **Suivant**.  
![\[Spécifiez la page de détails de la pile dans CloudFormation\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/cfn_template_params_opscm.png)

1. Sur la page **Configurer les options de pile**, 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 CloudFormation pile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html) dans le *guide de l'CloudFormation utilisateur*.

1. Sur la page **Vérification**, vérifiez vos choix. Lorsque vous êtes prêt à créer votre pile de serveur, choisissez **Create stack (Créer une pile)**.

   Pendant que vous attendez de 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 CloudFormation , consultez [Dépannage des erreurs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors) dans le *guide de l'utilisateur CloudFormation *.

   Lorsque la création du serveur est terminée, votre serveur Chef Automate est disponible sur la page d'accueil d' AWS OpsWorks for Chef Automate , avec un statut **en ligne**. Générez un nouveau kit de démarrage et les informations d'identification du tableau de bord Chef Automate à partir de la page Propriétés du serveur. 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-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 associe votre domaine personnalisé au point de terminaison généré AWS OpsWorks for Chef Automate automatiquement pour le serveur. Vous ne pouvez pas gérer le serveur ou vous connecter au tableau de bord Chef Automate 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éer un serveur Chef Automate en utilisant CloudFormation (CLI)
<a name="opscm-create-server-cfn-cli"></a>

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](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 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 [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html) dans la *Référence de l'AWS CLI *.

1. Veillez à suivre les étapes requises détaillées dans [Conditions préalables](gettingstarted-opscm.md#gettingstarted-opscm-prereq) pour créer un serveur AWS OpsWorks for Chef Automate .

1. Créez un rôle de service et un profil d'instance.

   Recherchez et copiez les rôles ARNs 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 le rôle de service et le profil ARNs de l'instance, puis ajoutez-les au CloudFormation modèle que vous utilisez pour créer votre pile de serveurs.

1. Créez le AWS OpsWorks for Chef Automate serveur en exécutant à nouveau la **create-stack** commande.
   + Remplacez *stack\$1name* par le nom de votre pile. Il s'agit du nom de la CloudFormation pile, pas de votre serveur Chef Automate. Le nom du serveur Chef Automate est la valeur de `ServerName` dans votre CloudFormation modèle.
   + *template*Remplacez-le par le chemin d'accès à votre fichier modèle et l'extension *yaml or json* par `.yaml` ou `.json` selon le cas.
   + Les valeurs de `--parameters` correspondent à celles [EngineAttributes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-engineattributes)de l'[CreateServer](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_CreateServer.html)API. Pour Chef, les attributs de moteur fournis par l'utilisateur pour créer un serveur sont `CHEF_AUTOMATE_PIVOTAL_KEY`, une clé publique RSA encodée en base64 générée à l'aide des utilitaires décrits dans [Conditions préalables](#opscm-create-server-cfn-prereqs), et `CHEF_AUTOMATE_ADMIN_PASSWORD`, un mot de passe de 8 à 32 caractères créé par vos soins. Pour en savoir plus sur `CHEF_AUTOMATE_ADMIN_PASSWORD`, consultez [Créez un serveur Chef Automate à l'aide du AWS CLI](gettingstarted-opscm-create.md#gettingstarted-opscm-create-cli). Vous pouvez fournir un pointeur vers le fichier PEM contenant votre clé pivotale comme valeur du paramètre `PivotalKey`, tel qu'illustré dans l'exemple. Si les valeurs pour `CHEF_AUTOMATE_ADMIN_PASSWORD` et ne `CHEF_AUTOMATE_PIVOTAL_KEY` sont pas spécifiées dans votre modèle, vous devez les fournir dans votre AWS CLI commande.

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

   Voici un exemple qui inclut des exemples de valeurs pour les attributs `CHEF_AUTOMATE_PIVOTAL_KEY` et `CHEF_AUTOMATE_ADMIN_PASSWORD`. Exécutez une commande similaire si vous n'avez pas spécifié de valeurs pour ces attributs dans votre CloudFormation modèle.

   ```
   aws cloudformation create-stack --stack-name "OpsWorksCMChefServerStack" --template-body file://opsworkscm-server.yaml --parameters ParameterKey=PivotalKey,ParameterValue="$(openssl rsa -in "pivotalKey.pem" -pubout)" ParameterKey=Password,ParameterValue="SuPer\$ecret890"
   ```

1. Lorsque la création de la pile est terminée, ouvrez la page Propriétés du nouveau serveur dans la AWS OpsWorks for Chef Automate console et téléchargez un kit de démarrage. Le téléchargement d'un nouveau kit de démarrage réinitialise le mot de passe administrateur du tableau de bord Chef Automate.

1. Si votre serveur utilise un domaine, un certificat et une clé privée personnalisés, suivez les étapes de configuration de `knife.rb` dans [(Facultatif) Configurer `knife` pour utiliser un domaine personnalisé](opscm-starterkit.md#opscm-starterkit-customdomain), puis passez à l'étape 7.

1. Pour utiliser des commandes `knife` sur le nouveau serveur, mettez à jour les paramètres du fichier de configuration `knife.rb` Chef. Un exemple de fichier `knife.rb` est inclus avec le kit de démarrage. L'exemple suivant montre comment configurer `knife.rb` sur un serveur qui n'utilise pas de domaine personnalisé. Si vous utilisez un domaine personnalisé, consultez [(Facultatif) Configurer `knife` pour utiliser un domaine personnalisé](opscm-starterkit.md#opscm-starterkit-customdomain) pour obtenir les instructions de configuration de `knife`.
   + Remplacez *ENDPOINT* par la valeur du point de terminaison du serveur. Cela fait partie de la sortie de l'opération de création de pile. Vous pouvez supprimer le point de terminaison en exécutant la commande suivante.

     ```
     aws cloudformation describe-stacks --stack-name stack_name 
     ```
   + Remplacez *key\$1pair\$1file.pem* dans la `client_key` configuration par le nom du fichier PEM qui contient celui `CHEF_AUTOMATE_PIVOTAL_KEY` que vous avez utilisé pour créer votre serveur.

     ```
     base_dir = File.join(File.dirname(File.expand_path(__FILE__)), '..')
     
     log_level                :info
     log_location             STDOUT
     node_name                'pivotal'
     client_key               File.join(base_dir, '.chef', 'key_pair_file.pem')
     syntax_check_cache_path  File.join(base_dir, '.chef', 'syntax_check_cache')
     cookbook_path            [File.join(base_dir, 'cookbooks')]
     
     chef_server_url          'ENDPOINT/organizations/default'
     ssl_ca_file              File.join(base_dir, '.chef', 'ca_certs', 'opsworks-cm-ca-2020-root.pem')
     trusted_certs_dir        File.join(base_dir, '.chef', 'ca_certs')
     ```

1. Lorsque le processus de création du serveur est terminé, accédez à [Configuration d'un serveur Chef à l'aide du Starter Kit](opscm-starterkit.md). 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 CloudFormation piles, consultez la section [Résolution des erreurs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors) dans le *guide de l'CloudFormation utilisateur*.