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.
Remplacement des attributs intégrés
Important
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour 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
Note
Cette rubrique s'applique uniquement aux piles Linux. Vous ne pouvez pas remplacer des attributs intégrés sur des piles Windows.
AWS OpsWorks Stacks installe un ensemble de livres de recettes intégrés sur chaque instance. La plupart des livres des recettes intégrés prennent en charge les couches intégrées, et leurs fichiers d'attributs définissent différents paramètres système et des applications par défaut, par exemple les paramètres de configuration du serveur Apache. En mettant ces paramètres dans des fichiers d'attributs, vous pouvez personnaliser de nombreux paramètres de configuration en remplaçant l'attribut intégré correspondant de l'une des façons suivantes :
-
Définissez l'attribut de manière personnaliséeJSON.
Cette approche a l'avantage d'être simple et flexible. Toutefois, vous devez saisir le paramètre personnalisé JSON manuellement. Il n'existe donc aucun moyen fiable de gérer les définitions d'attributs.
-
Implémentez un livre de recettes personnalisé et définissez l'attribut dans un fichier d'attribut
customize.rb
.Cette approche est moins flexible que l'utilisation de la personnalisationJSON, mais elle est plus robuste car vous pouvez placer les livres de recettes personnalisés sous contrôle de source.
Cette rubrique décrit comment utiliser un fichier d'attributs de livre de recettes personnalisé pour remplacer les attributs intégrés, à l'aide du serveur Apache à titre d'exemple. Pour plus d'informations sur la façon de remplacer les attributs par des attributs personnalisésJSON, consultezUtilisation de Custom JSON. Pour obtenir des informations générales sur le remplacement des attributs, consultez Remplacement des attributs.
Note
Le remplacement des attributs est le meilleur moyen de personnaliser les paramètres de configuration, mais les paramètres ne sont pas toujours représentés par des attributs. Dans ce cas, vous pouvez souvent personnaliser le fichier de configuration en remplaçant le modèle que les recettes intégrées utilisent pour créer le fichier de configuration. Pour obtenir un exemple, consultez Remplacement des modèles intégrés.
Les attributs intégrés représentent généralement des valeurs dans les fichiers de modèle que les recettes Setup utilisent pour créer des fichiers de configuration. Par exemple, l'une des recettes Setup apache2
, default.rb
apache2.conf.erb
httpd.conf
(Amazon Linux) ou apache2.conf
(Ubuntu). Voici un extrait du modèle de fichier :
... # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests <%= node[:apache][:keepaliverequests] %> # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout <%= node[:apache][:keepalivetimeout] %> ## ## Server-Pool Size Regulation (MPM specific) ## ...
Le paramètre KeepAliveTimeout
de cet exemple est la valeur de l'attribut [:apache][:keepalivetimeout]
. La valeur par défaut de cet attribut est définie dans le livre de recettes apache2
et son fichier d'attributs apache.rb
... # General settings default[:apache][:listen_ports] = [ '80','443' ] default[:apache][:contact] = 'ops@example.com' default[:apache][:log_level] = 'info' default[:apache][:timeout] = 120 default[:apache][:keepalive] = 'Off' default[:apache][:keepaliverequests] = 100 default[:apache][:keepalivetimeout] = 3 ...
Note
Pour plus d'informations sur les attributs intégrés couramment utilisés, consultez Attributs des livres de recettes intégrés.
Pour prendre en charge le remplacement des attributs intégrés, tous les livres de recettes intégrés comportent un fichier d'attributs customize.rb
qui est intégré à tous les modules via une directive include_attribute
. Les fichiers customize.rb
des livres de recettes intégrés ne contiennent aucune définition d'attribut et n'ont aucun effet sur les attributs intégrés. Pour remplacer les attributs intégrés, vous créez un livre de recettes personnalisé avec le même nom que le livre de recettes intégré et vous placez vos définitions d'attributs personnalisés dans un fichier d'attributs également nommé customize.rb
. Ce fichier est prioritaire sur la version intégrée et il est inclus dans les modules associés. Si vous définissez les attributs intégrés dans votre fichier customize.rb
, ils remplacent les attributs intégrés correspondants.
Cet exemple montre comment remplacer l'attribut intégré [:apache][:keepalivetimeout]
pour définir sa valeur sur 5 au lieu de 3. Vous pouvez utiliser une approche similaire pour n'importe quel attribut intégré. Cependant, soyez prudent avec les attributs que vous remplacez. Par exemple, le remplacement des attributs de l'espace de noms opsworks
peut entraîner des problèmes pour certaines recettes intégrées.
Important
Ne remplacez pas les attributs intégrés en modifiant une copie du fichier d'attributs intégrés lui-même. Par exemple, vous pouvez placer une copie du fichier apache.rb
dans le dossier apache2/attributes
de votre livre de recettes personnalisées, et modifier certains de ses paramètres. Toutefois, ce fichier est prioritaire sur la version intégrée et les recettes intégrées utiliseront maintenant votre version du fichier apache.rb
. Si AWS OpsWorks Stacks modifie ultérieurement le apache.rb
fichier intégré, les recettes n'obtiendront pas les nouvelles valeurs à moins que vous ne mettiez à jour manuellement votre version. En utilisantcustomize.rb
, vous remplacez uniquement les attributs spécifiés ; les recettes intégrées continuent à obtenir automatiquement des up-to-date valeurs pour chaque attribut que vous n'avez pas remplacé.
Pour commencer, créez un livre de recettes personnalisé.
Pour créer le livre de recettes
-
Dans votre répertoire
opsworks_cookbooks
, créez un répertoire de livres de recettes nomméapache2
et accédez à celui-ci.Pour que vous puissiez remplacer les attributs intégrés, le livre de recettes personnalisé doit avoir le même nom que le livre de recettes intégré,
apache2
pour cet exemple. -
Dans le répertoire
apache2
, créez un répertoireattributes
. -
Ajoutez un fichier nommé
customize.rb
au répertoireattributes
et utilisez-le pour définir le livre de recettes intégré qui vous souhaitez remplacer. Pour cet exemple, le fichier doit contenir les éléments suivants :normal[:apache][:keepalivetimeout] = 5
Important
Pour que vous puissiez remplacer un attribut intégré, un attribut personnalisé doit avoir le type
normal
ou porter exactement le même nom de nœud que l'attribut intégré correspondant. Le typenormal
garantit que l'attribut personnalisé est prioritaire sur les attributs intégrés, qui sont tous de typedefault
. Pour de plus amples informations, veuillez consulter Priorité des attributs. -
Créez une
.zip
archiveopsworks_cookbooks
nomméeopsworks_cookbooks.zip
et chargez-la dans un compartiment Amazon Simple Storage Service (Amazon S3). Pour des raisons de simplicité, rendez le fichier public. Enregistrez le URL pour une utilisation ultérieure. Vous pouvez également stocker vos livres de recettes dans une archive privée Amazon S3 ou dans d'autres types de référentiels. Pour de plus amples informations, veuillez consulter Référentiels de livres de recettes.Le contenu livré aux compartiments Amazon S3 peut contenir du contenu client. Pour plus d'informations sur la suppression de données sensibles, consultez How Do I Empty an S3 Bucket? (Comment puis-je vider un compartiment S3 ?) ou How Do I Delete an S3 Bucket? (Comment supprimer un compartiment S3 ?).
Pour utiliser l'attribut personnalisé, créez une pile et installez le livre de recettes.
Pour utiliser l'attribut personnalisé
-
Ouvrez la console AWS OpsWorks
, puis choisissez Add Stack (Ajouter une pile). -
Spécifiez les paramètres standard suivants.
-
Nom — ApacheConfig
-
Région — Ouest des États-Unis (Oregon)
Vous pouvez placer votre stack dans n'importe quelle région, mais nous vous recommandons l'ouest des États-Unis (Oregon) pour les tutoriels.
-
SSHClé par défaut : une paire de EC2 clés
Si vous devez créer une paire de EC2 clés, consultez Amazon EC2 Key Pairs. Notez que la paire de clés doit appartenir à la même AWS région que la pile.
Choisissez Advanced>> (Avancé>>), définissez Use custom Chef cookbooks (Utiliser les livres de recettes Chef personnalisés) sur Yes (Oui), puis spécifiez les paramètres suivants.
-
Type de référentiel — Http Archive
-
Référentiel URL — L'archive du livre de recettes URL que vous avez enregistrée précédemment
Acceptez les valeurs par défaut pour les autres paramètres, puis choisissez Add Stack (Ajouter une pile) pour créer la pile.
Note
Cet exemple utilise le système d'exploitation par défaut, Amazon Linux. Vous pouvez utiliser Ubuntu si vous le souhaitez. La seule différence est que sur les systèmes Ubuntu, la recette Setup intégrée produit un fichier de configuration avec les mêmes paramètres nommé
apache2.conf
et le place dans le répertoire/etc/apache2
. -
-
Choisissez Ajouter une couche, puis ajoutez une couche Java App Server avec les paramètres par défaut à la pile.
-
Ajoutez une instance 24/7 avec les paramètres par défaut dans la couche, puis lancez l'instance.
Une instance t2.micro suffit pour cet exemple.
-
Une fois que l'instance est en ligne, connectez-vous à l'aide de SSH. Le fichier
httpd.conf
se trouve dans le répertoire/etc/httpd/conf
. Si vous examinez le fichier, vous devez voir votre paramètre personnaliséKeepAliveTimeout
. Les autres paramètres auront les valeurs par défaut du fichier intégréapache.rb
. La partie appropriée dehttpd.conf
doit être similaire à ce qui suit :... # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 5 ...