Plateformes personnalisées Elastic Beanstalk (retirées) - AWS Elastic Beanstalk

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.

Plateformes personnalisées Elastic Beanstalk (retirées)

Note

Le 18 juillet 2022, Elastic Beanstalk a défini le statut de toutes les branches de la plateforme basées sur Amazon AMI Linux () comme étant retirées. AL1 Cela inclut les plateformes personnalisées. Elastic Beanstalk ne prend pas en charge les plateformes personnalisées. Pour plus d'informations sur le retrait d'Amazon Linux AMI par Elastic Beanstalk, consultez. FAQ sur le retrait de la plateforme

Cette rubrique reste dans ce document comme référence pour tout client ayant utilisé la fonctionnalité de plateforme personnalisée d'Elastic Beanstalk avant son retrait. Dans le passé, les plateformes personnalisées d'Elastic Beanstalk permettaient de créer et de créer AMI un compte à partir d'AMIAmazon RHEL Linux, RHEL 7, 6 ou Ubuntu 16.04 (base). AMIs Ces systèmes d'exploitation ne sont plus pris en charge par Elastic Beanstalk. Pour en savoir plus sur la fonctionnalité des plateformes personnalisées, qui n'est plus prise en charge, consultez la rubrique suivante.

Une plateforme personnalisée est à plusieurs titres une personnalisation plus avancée qu'une image personnalisée. Une plateforme personnalisée vous permet de développer une plateforme entièrement nouvelle avec un système d'exploitation personnalisé, des logiciels supplémentaires et des scripts exécutés par Elastic Beanstalk sur les instances de la plateforme. Cette souplesse vous permet de construire une plateforme pour une application qui utilise un langage ou d'autres logiciels d'infrastructure pour lesquels Elastic Beanstalk ne fournit pas de plateforme gérée. Comparez cela aux images personnalisées, dans lesquelles vous modifiez une image Amazon Machine (AMI) pour l'utiliser avec une plateforme Elastic Beanstalk existante, et Elastic Beanstalk fournit toujours les scripts de la plateforme et contrôle la pile logicielle de la plateforme. Par ailleurs, avec les plateformes personnalisées, vous créez et tenez à jour vos personnalisations de façon automatisée et scriptée, alors qu'avec les images personnalisées, vous apportez les modifications manuellement sur une instance en cours d'exécution.

Pour créer une plate-forme personnalisée, vous devez en créer une AMI à partir de l'un des systèmes d'exploitation pris en chargeRHEL, Ubuntu ou Amazon Linux (voir l'flavorentrée Format de fichier platform.yaml pour les numéros de version exacts), puis ajouter des personnalisations supplémentaires. Vous créez votre propre plateforme Elastic Beanstalk à l'aide de Packer, un outil open source permettant de créer des images de machine pour de nombreuses plateformes, AMIs notamment pour Amazon Elastic Compute Cloud (Amazon). EC2 Une plateforme Elastic Beanstalk AMI comprend un ensemble configuré pour exécuter un ensemble de logiciels prenant en charge une application, et des métadonnées pouvant inclure des options de configuration personnalisées et des paramètres d'options de configuration par défaut.

Elastic Beanstalk gère Packer comme une plateforme intégrée distincte. Autrement dit, vous n'avez pas besoin de vous soucier de la configuration et des versions de Packer.

Vous créez une plate-forme en fournissant à Elastic Beanstalk un modèle Packer, ainsi que les scripts et les fichiers que le modèle invoque pour créer un. AMI Ces composants sont fournis avec un fichier de définition de plate-forme, qui spécifie le modèle et les métadonnées, dans une ZIP archive, connue sous le nom d'archive de définition de plate-forme.

Lorsque vous créez une plateforme personnalisée, vous lancez un environnement d'instance unique sans aucune adresse IP élastique pour exécuter Packer. Packer lance alors une autre instance pour générer une image. Vous pouvez réutiliser cet environnement pour plusieurs plateformes et plusieurs versions de chaque plateforme.

Note

Les plateformes personnalisées sont spécifiques à chaque AWS région. Si vous utilisez Elastic Beanstalk dans plusieurs régions, vous devez créer vos plateformes séparément dans chaque région.

Dans certaines circonstances, les instances lancées par Packer ne sont pas nettoyées et doivent être mises hors service manuellement. Pour savoir comment nettoyer manuellement ces instances, consultez Nettoyage des instances Packer.

Les utilisateurs de votre compte peuvent utiliser vos plateformes personnalisées en spécifiant une plate-forme ARN lors de la création de l'environnement. Ils ARNs sont renvoyés par la eb platform create commande que vous avez utilisée pour créer la plateforme personnalisée.

Chaque fois que vous créez votre plateforme personnalisée, Elastic Beanstalk crée une nouvelle version de la plateforme. Les utilisateurs peuvent spécifier une plateforme par son nom pour obtenir uniquement la dernière version de la plateforme, ou inclure un numéro de version pour obtenir une version spécifique.

Par exemple, pour déployer la dernière version de la plate-forme personnalisée avec, par exemple ARNMyCustomPlatformARN, la version 3.0, votre ligne de CLI commande EB devrait ressembler à ceci :

eb create -p MyCustomPlatformARN

Pour déployer la version 2.1, votre ligne de CLI commande EB ressemblera à ceci :

eb create -p MyCustomPlatformARN --version 2.1

Vous pouvez appliquer des balises à une version de plateforme personnalisée lorsque vous la créez, et modifier des balises de versions de plateforme personnalisée existantes. Pour plus de détails, consultez Étiquette des versions de plateforme personnalisée.

Création d'une plateforme personnalisée

Pour créer une plateforme personnalisée, la racine de votre application doit inclure un fichier de définition de plateforme platform.yaml, qui définit le type de générateur utilisé pour la création de la plateforme personnalisée. Le format de ce fichier est décrit dans Format de fichier platform.yaml. Vous pouvez créer une plateforme personnalisée entièrement nouvelle ou reposant sur l'un des exemples de plateforme personnalisée.

Utilisation d'un exemple de plateforme personnalisée

Une alternative à la création de votre propre plateforme personnalisée consiste à utiliser l'un des exemples d'archive de définition de plateforme pour amorcer votre plateforme personnalisée. Les seuls éléments que vous devez configurer dans les exemples avant de pouvoir les utiliser sont une source AMI et une région.

Note

N'utilisez pas d'exemple de plateforme personnalisée non modifié en production. L'objectif des exemples vise à illustrer certaines des fonctionnalités disponibles pour une plateforme personnalisée, mais qui n'ont pas été renforcées à des fins de production.

NodePlatform_Ubuntu.zip

Cette plateforme personnalisée est basée sur Ubuntu 16.04 et prend en charge Node.js 4.4.4. Nous allons utiliser cette plateforme personnalisée pour les exemples de cette section.

NodePlatform_ RHEL .zip

Cette plate-forme personnalisée est basée sur la RHELversion 7.2 et prend en charge Node.js 4.4.4.

NodePlatform_ AmazonLinux .zip

Cette plateforme personnalisée est basée sur Amazon Linux 2016.09.1 et prend en charge Node.js 4.4.4.

TomcatPlatform_Ubuntu.zip

Cette plateforme personnalisée est basée sur Ubuntu 16.04 et prend en charge Tomcat 7/Java 8.

CustomPlatform_ NodeSampleApp .zip

Exemple Node.js qui utilise express et ejs pour afficher une page web statique.

CustomPlatform_ TomcatSampleApp .zip

Exemple Tomcat qui affiche une page web statique lors de son déploiement.

Téléchargez l'exemple d'archive de définition de plateforme : NodePlatform_Ubuntu.zip. Ce fichier contient un fichier de définition de plateforme, un modèle Packer, des scripts exécutés par Packer lors de la création de l'image, et des scripts et des fichiers de configuration que Packer copie sur l'instance de générateur lors de la création de la plateforme.

Exemple NodePlatform_Ubuntu.zip
|-- builder Contains files used by Packer to create the custom platform |-- custom_platform.json Packer template |-- platform.yaml Platform definition file |-- ReadMe.txt Briefly describes the sample

Le fichier de définition de plateforme, platform.yaml, indique à Elastic Beanstalk le nom du modèle Packer, custom_platform.json.

version: "1.0" provisioner: type: packer template: custom_platform.json flavor: ubuntu1604

Le modèle Packer indique à Packer comment créer le AMIs pour la plate-forme, en utilisant un Ubuntu AMI comme base pour l'image de la plate-forme pour les types d'HVMinstances. La section provisioners demande à Packer de copier tous les fichiers dans le dossier builder au sein de l'archive vers l'instance et d'exécute le script builder.sh sur l'instance. Lorsque les scripts sont terminés, Packer crée une image à partir de l'instance modifiée.

Elastic Beanstalk crée trois variables d'environnement qui peuvent être utilisées pour baliser dans Packer : AMIs

AWS_EB_ _ PLATFORM ARN

Celui ARN de la plateforme personnalisée.

AWS_EB_ _ PLATFORM NAME

Le nom de la plateforme personnalisée.

AWS_EB_ _ PLATFORM VERSION

La version de la plateforme personnalisée.

L'exemple de fichier custom_platform.json utilise ces variables pour définir les valeurs suivantes qu'il utilise dans les scripts :

  • platform_name, qui est définie par platform.yaml

  • platform_version, qui est définie par platform.yaml

  • platform_arn, qui est définie par le script de génération principal, builder.sh, qui s'affiche à la fin de l'exemple de fichier custom_platform.json.

Le fichier custom_platform.json contient deux propriétés pour lesquelles vous devez préciser une valeur : source_ami et region. Pour plus de détails sur le choix des bonnes valeurs AMI et des bonnes valeurs de région, voir Mettre à jour le modèle Packer dans le eb-custom-platforms-samples GitHub référentiel.

Exemple custom_platform.json
{ "variables": { "platform_name": "{{env `AWS_EB_PLATFORM_NAME`}}", "platform_version": "{{env `AWS_EB_PLATFORM_VERSION`}}", "platform_arn": "{{env `AWS_EB_PLATFORM_ARN`}}" }, "builders": [ { ... "region": "", "source_ami": "", ... } ], "provisioners": [ {...}, { "type": "shell", "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} sudo {{ .Path }}", "scripts": [ "builder/builder.sh" ] } ] }

Les scripts et les autres fichiers que vous incluez dans votre archive de définition de plateforme varient considérablement selon les modifications que vous souhaitez apporter à l'instance. L'exemple de plateforme inclut les scripts suivants :

  • 00-sync-apt.sh – Mis en commentaire : apt -y update. Nous avons mis la commande en commentaire parce qu'elle demande à l'utilisateur une entrée, ce qui rompt la mise à jour automatique du package. Cela peut être un problème Ubuntu. Cependant, l'exécution d'apt -y update est toujours recommandée comme bonne pratique. Pour cette raison, nous avons laissé la commande dans l'exemple de script à titre de référence.

  • 01-install-nginx.sh – Installe nginx.

  • 02-setup-platform.sh – Installe wget, tree et git. Copie les hooks et les configurations de journalisation sur l'instance, et crée les répertoires suivants :

    • /etc/SampleNodePlatform – Emplacement de chargement du fichier de configuration de conteneur pendant le déploiement.

    • /opt/elasticbeanstalk/deploy/appsource/ – Emplacement où le script 00-unzip.sh charge le code source de l'application pendant le déploiement (pour plus d'informations sur ce script, consultez la section Outils de script de plateforme pour vos environnements Elastic Beanstalk).

    • /var/app/staging/ – Emplacement de traitement du code source de l'application pendant le déploiement.

    • /var/app/current/ – Emplacement d'exécution du code source de l'application après le traitement.

    • /var/log/nginx/healthd/ – Emplacement où l'agent amélioré de vérification de l'état écrit les journaux.

    • /var/nodejs – Emplacement de chargement des fichiers Node.js pendant le déploiement.

Utilisez l'EB CLI pour créer votre première plate-forme personnalisée à l'aide de l'exemple d'archive de définitions de plate-forme.

Pour créer une plateforme personnalisée
  1. Installez l'EB CLI.

  2. Créez un répertoire dans lequel l'exemple de plateforme personnalisée sera extrait.

    ~$ mkdir ~/custom-platform
  3. Extrayez NodePlatform_Ubuntu.zip dans le répertoire, puis modifiez le répertoire extrait.

    ~$ cd ~/custom-platform ~/custom-platform$ unzip ~/NodePlatform_Ubuntu.zip ~/custom-platform$ cd NodePlatform_Ubuntu
  4. Modifiez le fichier custom_platform.json et fournissez les valeurs des propriétés source_ami et region. Pour plus d'informations, consultez Updating Packer template (Mise à jour du modèle Packer).

  5. Exécutez eb platform init et suivez les instructions pour initialiser un référentiel de plateforme.

    Vous pouvez raccourcir eb platform en ebp.

    Note

    Windows PowerShell l'utilise ebp comme alias de commande. Si vous exécutez l'EB CLI sous Windows PowerShell, utilisez la forme longue de cette commande : eb platform

    ~/custom-platform$ eb platform init

    Cette commande crée également le répertoire .elasticbeanstalk dans le répertoire actuel et ajoute le fichier de configuration config.yml au répertoire. Ne modifiez ou ne supprimez pas ce fichier, car Elastic Beanstalk l'utilise pour créer la plateforme personnalisée.

    Par défaut, eb platform init utilise le nom du dossier actuel comme nom de plateforme personnalisée, custom-platform dans cet exemple.

  6. Exécutez eb platform createpour lancer un environnement Packer et profiter ARN de la plateforme personnalisée. Vous aurez besoin de cette valeur plus tard lorsque vous créerez un environnement en utilisant la plateforme personnalisée.

    ~/custom-platform$ eb platform create ...

    Par défaut, Elastic Beanstalk crée le profil d'instance aws-elasticbeanstalk-custom-platform-ec2-role pour les plateformes personnalisées. Si vous préférez utiliser un profil d'instance existant, ajoutez l'option -ip INSTANCE_PROFILE à la commande eb platform create.

    Note

    Packer ne parvient pas à créer de plateforme personnalisée si vous utilisez le profil d'instance Elastic Beanstalk par défaut, aws-elasticbeanstalk-ec2-role.

    L'EB CLI affiche le résultat des événements de l'environnement Packer jusqu'à ce que la construction soit terminée. Vous pouvez quitter la vue des événements en appuyant sur Ctrl+C.

  7. Vous pouvez consulter les erreurs d'utilisation de la commande eb platform logs dans les journaux.

    ~/custom-platform$ eb platform logs ...
  8. Vous pouvez vérifier le processus ultérieurement avec eb platform events.

    ~/custom-platform$ eb platform events ...
  9. Vérifiez l'état de votre plateforme avec eb platform status.

    ~/custom-platform$ eb platform status ...

Lorsque l'opération est terminée, vous disposez d'une plateforme que vous pouvez utiliser pour lancer un environnement Elastic Beanstalk.

Vous pouvez utiliser la plateforme personnalisée lors de la création d'un nouvel environnement à partir de la console. Consultez Assistant de création d'un environnement.

Pour lancer un environnement sur votre plateforme personnalisée
  1. Créez un nouveau répertoire pour votre application.

    ~$ mkdir custom-platform-app ~$ cd ~/custom-platform-app
  2. Initialisez un référentiel d'application.

    ~/custom-platform-app$ eb init ...
  3. Téléchargez l'exemple d'application NodeSampleApp.zip.

  4. Procédez à l'extraction de l'exemple d'application.

    ~/custom-platform-app$ unzip ~/NodeSampleApp.zip
  5. Courezeb create -p CUSTOM-PLATFORM-ARN, où CUSTOM-PLATFORM-ARN est ARN renvoyé par une eb platform create commande, pour lancer un environnement exécutant votre plateforme personnalisée.

    ~/custom-platform-app$ eb create -p CUSTOM-PLATFORM-ARN ...

Contenu de l'archive de définition de plateforme

Une archive de définition de plateforme est l'équivalent plateforme d'un bundle de fichiers source d'application. L'archive de définition de plate-forme est un ZIP fichier qui contient un fichier de définition de plate-forme, un modèle Packer, ainsi que les scripts et fichiers utilisés par le modèle Packer pour créer votre plate-forme.

Note

Lorsque vous utilisez l'EB CLI pour créer une plate-forme personnalisée, l'EB CLI crée une archive de définition de plate-forme à partir des fichiers et des dossiers du référentiel de votre plate-forme. Vous n'avez donc pas besoin de créer l'archive manuellement.

Le fichier de définition de plate-forme est un fichier YAML au format -formaté qui doit être nommé platform.yaml et se trouver à la racine de votre archive de définition de plate-forme. Pour obtenir la liste des clés obligatoires et facultatives prises en charge dans un fichier de définition de plateforme, consultez Création d'une plateforme personnalisée.

Vous n'avez pas besoin d'attribuer un nom spécifique au modèle Packer, mais le nom du fichier doit correspondre au modèle de fournisseur spécifié dans le fichier de définition de plateforme. Consultez la documentation Packer officielle pour plus d'informations sur la création de modèles Packer.

Les autres fichiers de votre archive de définition de plate-forme sont des scripts et des fichiers utilisés par le modèle pour personnaliser une instance avant d'en créer uneAMI.

Hooks de plateforme personnalisée

Elastic Beanstalk utilise une structure de répertoires normalisée pour les hooks sur les plateformes personnalisées. Il s'agit de scripts exécutés au cours d'événements du cycle de vie et en réponse à des opérations de gestion : lorsque des instances dans votre environnement sont lancées, ou lorsqu'un utilisateur initie un déploiement ou utilise la fonctionnalité de redémarrage de serveur d'application.

Placez les scripts que vous souhaitez voir déclenchés par les hooks dans l'un des sous-dossiers du dossier /opt/elasticbeanstalk/hooks/.

Avertissement

L'utilisation de hooks de plateforme personnalisée sur des plateformes gérées n'est pas prise en charge. Les hooks de plateforme personnalisée sont conçus pour les plateformes personnalisées. Sur les plateformes Elastic Beanstalk gérées, ils peuvent fonctionner différemment ou présenter quelques problèmes, et le comportement peut varier d'une plateforme à l'autre. Sur les AMI plateformes Amazon Linux (antérieures à Amazon Linux 2), ils peuvent toujours fonctionner de manière utile dans certains cas ; utilisez-les avec prudence.

Les hooks de plateforme personnalisés sont une fonctionnalité héritée des AMI plateformes Amazon Linux. Sur les plateformes Amazon Linux 2, les hooks de plateforme personnalisés qui figurent dans le dossier /opt/elasticbeanstalk/hooks/ sont complètement obsolètes. Elastic Beanstalk ne les lit ou ne les exécute pas. Les plateformes Amazon Linux 2 prennent en charge un nouveau type de hook de plateforme, spécialement conçu pour étendre les plateformes Elastic Beanstalk gérées. Vous pouvez ajouter des scripts et des programmes personnalisés directement dans un répertoire hooks de votre bundle de fichiers source d'application. Elastic Beanstalk les exécute au cours des différentes étapes de provisionnement d'instance. Pour plus d'informations, développez la section Platform Hooks dans Extension des plateformes Linux Elastic Beanstalk.

Les hooks sont organisés dans les dossiers suivants :

  • appdeploy &endash; Scripts exécutés lors d'un déploiement d'application. Elastic Beanstalk effectue un déploiement d'application lorsque de nouvelles instances sont lancées et quand un client initie un déploiement de nouvelle version.

  • configdeploy — Scripts exécutés lorsqu'un client effectue une mise à jour de configuration qui affecte la configuration logicielle sur l'instance, par exemple, en définissant des propriétés d'environnement ou en activant la rotation des journaux sur Amazon S3.

  • restartappserver &endash; Scripts exécutés lorsqu'un client effectue une opération de redémarrage de serveur d'application.

  • preinit &endash; Scripts exécutés lors de l'amorçage d'une instance.

  • postinit &endash; Scripts exécutés après l'amorçage d'une instance.

Les dossiers appdeploy, configdeploy et restartappserver contiennent les sous-dossiers pre, enact et post. Lors de chaque phase d'une opération, tous les scripts du dossier pre sont exécutés par ordre alphabétique, puis viennent ceux du dossier enact, puis ceux du dossier post.

Lorsqu'une instance est démarrée, Elastic Beanstalk exécute preinit, appdeploy et postinit. Sur les déploiements suivants sur des instances en cours d'exécution, Elastic Beanstalk exécute les hooks appdeploy. Les hooks configdeploy sont exécutés lorsqu'un utilisateur met à jour des paramètres de configuration de logiciel d'instance. Les hooks restartappserver sont exécutés uniquement lorsque l'utilisateur lance un redémarrage de serveur d'application.

Lorsque vos scripts détectent des erreurs, ils peuvent quitter avec un état différent de zéro et écrire sur stderr pour faire échouer l'opération. Le message que vous écrivez dans stderr apparaîtra dans l'événement qui est généré lorsque l'opération échoue. Elastic Beanstalk capture également ces informations dans le fichier journal /var/log/eb-activity.log. Si vous ne voulez pas que l'opération échoue, renvoyez 0 (zéro). Les messages que vous écrivez dans stderr ou stdout apparaissent dans les journaux de déploiement, mais pas dans le flux d'événements, sauf si l'opération échoue.

Nettoyage des instances Packer

Dans certaines conditions, par exemple la suppression du processus du générateur Packer avant sa fin, les instances lancées par Packer ne sont pas nettoyées. Ces instances ne font pas partie de l'environnement Elastic Beanstalk et ne peuvent être consultées et résiliées qu'en utilisant le service Amazon. EC2

Pour nettoyer manuellement ces instances
  1. Ouvrez la EC2console Amazon.

  2. Assurez-vous que vous vous trouvez dans la même AWS région que celle dans laquelle vous avez créé l'instance avec Packer.

  3. Sous Ressources, sélectionnez N Instances en cours d'exécution, où N indique le nombre d'instances en cours d'exécution.

  4. Dans la zone de texte de la requête.

  5. Sélectionnez la balise Name.

  6. Saisissez packer.

    La requête doit se présenter comme suit : tag:Name: packer

  7. Sélectionnez les instances qui correspondent à la requête.

  8. Si État de l'instance est en cours d'exécution, sélectionnez Actions, État de l'instance, Arrêter, puis Actions, État de l'instance, Résilier.

Format de fichier platform.yaml

Le fichier platform.yaml a le format suivant :

version: "version-number" provisioner: type: provisioner-type template: provisioner-template flavor: provisioner-flavor metadata: maintainer: metadata-maintainer description: metadata-description operating_system_name: metadata-operating_system_name operating_system_version: metadata-operating_system_version programming_language_name: metadata-programming_language_name programming_language_version: metadata-programming_language_version framework_name: metadata-framework_name framework_version: metadata-framework_version option_definitions: - namespace: option-def-namespace option_name: option-def-option_name description: option-def-description default_value: option-def-default_value option_settings: - namespace: "option-setting-namespace" option_name: "option-setting-option_name" value: "option-setting-value"

Remplacez les espaces réservés par les valeurs suivantes :

version-number

Obligatoire. Version de la YAML définition. Doit indiquer 1.0.

provisioner-type

Obligatoire. Le type de générateur utilisé pour créer la plateforme personnalisée. Doit indiquer packer.

provisioner-template

Obligatoire. Le JSON fichier contenant les paramètres pour provisioner-type.

provisioner-flavor

Facultatif. Le système d'exploitation de base utilisé pourAMI. L'un des éléments suivants :

amazon (valeur par défaut)

Amazon Linux. Si la version n'est pas spécifiée, il s'agit de la dernière version d'Amazon Linux disponible au moment de la création de la plateforme.

Amazon Linux 2 n'est pas une version de système d'exploitation prise en charge.

ubuntu1604

Ubuntu 16.04 LTS

rhel7

RHEL7

rhel6

RHEL6

metadata-maintainer

Facultatif. Informations de contact pour la personne qui possède la plateforme (100 caractères).

metadata-description

Facultatif. Description de la plateforme (2 000 caractères).

metadata-operating_system_name

Facultatif. Nom du système d'exploitation de la plateforme (50 caractères). Cette valeur est disponible lors du filtrage de la sortie pour le ListPlatformVersionsAPI.

metadata-operating_system_version

Facultatif. Version du système d'exploitation de la plateforme (20 caractères).

metadata-programming_language_name

Facultatif. Langage de programmation pris en charge par la plateforme (50 caractères).

metadata-programming_language_version

Facultatif. Langue de la version de la plateforme (20 caractères).

metadata-framework_name

Facultatif. Nom de l'infrastructure web utilisée par la plateforme (50 caractères).

metadata-framework_version

Facultatif. Version de l'infrastructure web de la plateforme (20 caractères).

option-def-namespace

Facultatif. Un espace de noms sous aws:elasticbeanstalk:container:custom (100 caractères)

option-def-option_name

Facultatif. Nom de l'option (100 caractères). Vous pouvez définir jusqu'à 50 options de configuration personnalisées que la plateforme fournit aux utilisateurs.

option-def-description

Facultatif. Description de l'option (1 024 caractères).

option-def-default_value

Facultatif. Valeur par défaut utilisée lorsque l'utilisateur n'en spécifie pas.

L'exemple suivant crée l'option NPM_START.

options_definitions: - namespace: "aws:elasticbeanstalk:container:custom:application" option_name: "NPM_START" description: "Default application startup command" default_value: "node application.js"
option-setting-namespace

Facultatif. Espace de noms de l'option.

option-setting-option_name

Facultatif. Nom de l'option. Vous pouvez spécifier jusqu'à 50 options fournies par Elastic Beanstalk.

option-setting-value

Facultatif. Valeur utilisée lorsque l'utilisateur n'en spécifie pas.

L'exemple suivant crée l'option TEST.

option_settings: - namespace: "aws:elasticbeanstalk:application:environment" option_name: "TEST" value: "This is a test"

Étiquette des versions de plateforme personnalisée

Vous pouvez appliquer des balises aux versions AWS Elastic Beanstalk personnalisées de votre plateforme. Les balises sont des paires clé-valeur associées à des AWS ressources. Pour plus d'informations sur l'étiquette des ressources Elastic Beanstalk, les cas d'utilisation, les contraintes de clé et de valeur d'identification, et les types de ressources pris en charge, consultez Étiquette des ressources d'application Elastic Beanstalk.

Vous pouvez spécifier des identifications lorsque vous créez une version de plateforme personnalisée. Dans une version de plateforme personnalisée, vous pouvez ajouter ou supprimer des identifications, ainsi que mettre à jour les valeurs des identifications existantes. Vous pouvez ajouter jusqu'à 50 identifications à chaque version de plateforme personnalisée.

Ajout d'identifications lors de la création de versions de plateforme personnalisée

Si vous utilisez l'EB CLI pour créer la version personnalisée de votre plateforme, utilisez l'--tagsoption avec eb platform create pour ajouter des balises.

~/workspace/my-app$ eb platform create --tags mytag1=value1,mytag2=value2

Avec les clients API basés sur le AWS CLI ou d'autres, ajoutez des balises à l'aide du --tags paramètre de la create-platform-version commande.

$ aws elasticbeanstalk create-platform-version \ --tags Key=mytag1,Value=value1 Key=mytag2,Value=value2 \ --platform-name my-platform --platform-version 1.0.0 --platform-definition-bundle S3Bucket=amzn-s3-demo-bucket,S3Key=sample.zip

Gestion des identifications d'une version de plateforme personnalisée existante

Vous pouvez ajouter, mettre à jour et supprimer des identifications dans une version existante de la plateforme personnalisée Elastic Beanstalk.

Si vous utilisez l'EB CLI pour mettre à jour la version personnalisée de votre plateforme, eb tags utilisez-le pour ajouter, mettre à jour, supprimer ou répertorier des balises.

Par exemple, la commande suivante répertorie les identifications dans une version de plateforme personnalisée.

~/workspace/my-app$ eb tags --list --resource "arn:aws:elasticbeanstalk:us-east-2:my-account-id:platform/my-platform/1.0.0"

La commande suivante met à jour l'identification mytag1 et supprime l'identification mytag2.

~/workspace/my-app$ eb tags --update mytag1=newvalue --delete mytag2 \ --resource "arn:aws:elasticbeanstalk:us-east-2:my-account-id:platform/my-platform/1.0.0"

Pour obtenir une liste complète des options et d'autres exemples, consultez eb tags.

Avec les clients API basés sur le AWS CLI ou d'autres, utilisez la list-tags-for-resource commande pour répertorier les balises d'une version de plate-forme personnalisée.

$ aws elasticbeanstalk list-tags-for-resource --resource-arn "arn:aws:elasticbeanstalk:us-east-2:my-account-id:platform/my-platform/1.0.0"

Utilisez la commande update-tags-for-resource pour ajouter, mettre à jour ou supprimer des identifications dans une version de plateforme personnalisée.

$ aws elasticbeanstalk update-tags-for-resource \ --tags-to-add Key=mytag1,Value=newvalue --tags-to-remove mytag2 \ --resource-arn "arn:aws:elasticbeanstalk:us-east-2:my-account-id:platform/my-platform/1.0.0"

Spécifiez les identifications à ajouter et les identifications à mettre à jour dans le paramètre --tags-to-add de update-tags-for-resource. Une identification inexistante est ajoutée et la valeur d'une identification existante est mise à jour.

Note

Pour utiliser certains EB CLI et certaines AWS CLI commandes avec une version de plateforme personnalisée d'Elastic Beanstalk, vous avez besoin de la version personnalisée de la plateforme. ARN Vous pouvez les récupérer à ARN l'aide de la commande suivante.

$ aws elasticbeanstalk list-platform-versions

Utilisez l'option --filters pour filtrer la sortie vers le nom de votre plateforme personnalisée.