AWS Proton composants - AWS Proton

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.

AWS Proton composants

Les composants sont un type de AWS Proton ressource. Ils ajoutent de la flexibilité aux modèles de services. Les composants fournissent aux équipes chargées de la plateforme un mécanisme permettant d'étendre les modèles d'infrastructure de base et de définir des garanties qui permettent aux développeurs de gérer certains aspects de leur infrastructure d'applications.

Dans AWS Proton les administrateurs, définissez l'infrastructure standard utilisée par les équipes de développement et les applications. Cependant, les équipes de développement peuvent avoir besoin d'inclure des ressources supplémentaires pour leurs cas d'utilisation spécifiques, comme les files d'attente Amazon Simple Queue Service (Amazon SQS) ou les tables Amazon DynamoDB. Ces ressources spécifiques aux applications peuvent changer fréquemment, en particulier au début du développement des applications. Le maintien de ces modifications fréquentes dans les modèles créés par les administrateurs peut s'avérer difficile à gérer et à adapter : les administrateurs devraient gérer un plus grand nombre de modèles sans véritable valeur ajoutée pour les administrateurs. L'alternative, qui consiste à laisser les développeurs d'applications créer des modèles pour leurs applications, n'est pas idéale non plus, car elle empêche les administrateurs de normaliser les principaux composants de l'architecture, tels que les tâches. AWS Fargate C'est là que les composants entrent en jeu.

Avec un composant, un développeur peut ajouter des ressources supplémentaires à son application, au-delà de ce que les administrateurs ont défini dans les modèles d'environnement et de service. Le développeur attache ensuite le composant à une instance de service. AWS Proton provisionne les ressources d'infrastructure définies par le composant de la même manière qu'il provisionne les ressources pour les environnements et les instances de service.

Un composant peut lire les entrées d'une instance de service et fournir des sorties à l'instance de service, pour une expérience totalement intégrée. Par exemple, si le composant ajoute un compartiment Amazon Simple Storage Service (Amazon S3) destiné à être utilisé par une instance de service, le modèle de composant peut prendre en compte les noms de l'environnement et des instances de service pour nommer le compartiment. Lors du AWS Proton rendu du modèle de service pour provisionner une instance de service, l'instance de service peut faire référence au compartiment et l'utiliser.

Les composants AWS Proton actuellement pris en charge sont des composants directement définis. Vous transmettez le fichier Infrastructure as Code (IaC) qui définit l'infrastructure du composant directement à l' AWS Proton API ou à la console. Cela est différent d'un environnement ou d'un service, dans lequel vous définissez iAc dans un ensemble de modèles et vous enregistrez le bundle en tant que ressource de modèle, puis vous utilisez une ressource de modèle pour créer l'environnement ou le service.

Note

Les composants directement définis permettent aux développeurs de définir une infrastructure supplémentaire et de la provisionner. AWS Proton provisionne tous les composants directement définis exécutés dans le même environnement en utilisant le même rôle AWS Identity and Access Management (IAM).

Un administrateur peut contrôler ce que les développeurs peuvent faire avec les composants de deux manières :

  • Sources de composants prises en charge : un administrateur peut autoriser l'attachement de composants à des instances de service en fonction d'une propriété des versions des modèles de AWS Proton service. Par défaut, les développeurs ne peuvent pas associer de composants aux instances de service.

    Pour plus d'informations sur cette propriété, consultez le supportedComponentSourcesparamètre de l'action d'CreateServiceTemplateVersionAPI dans la référence AWS Proton d'API.

    Note

    Lorsque vous utilisez la synchronisation de modèles, AWS Proton crée implicitement des versions de modèles de service lorsque vous validez les modifications apportées à un ensemble de modèles de services dans un référentiel. Dans ce cas, au lieu de spécifier les sources de composants prises en charge lors de la création de la version du modèle de service, vous spécifiez cette propriété dans un fichier associé à chaque version majeure du modèle de service. Pour de plus amples informations, veuillez consulter Modèles de service de synchronisation.

  • Rôles des composants : un administrateur peut attribuer un rôle de composant à un environnement. AWS Proton assume ce rôle lorsqu'il provisionne une infrastructure définie par un composant directement défini dans l'environnement. Par conséquent, le rôle du composant limite l'infrastructure que les développeurs peuvent ajouter à l'aide de composants directement définis dans l'environnement. En l'absence du rôle de composant, les développeurs ne peuvent pas créer de composants directement définis dans l'environnement.

    Pour plus d'informations sur l'attribution d'un rôle de composant, consultez le componentRoleArnparamètre de l'action d'CreateEnvironmentAPI dans la référence d'AWS Proton API.

    Note

    Les rôles des composants ne sont pas utilisés dans Provisionnement autogéré les environnements.

Comment les composants se comparent-ils aux autres AWS Proton ressources ?

À bien des égards, les composants sont similaires aux autres AWS Proton ressources. Leur infrastructure est définie dans un fichier modèle IaC, créé au format AWS CloudFormation YAML ou Terraform HCL. AWS Proton peut provisionner une infrastructure de composants à l'aide d'un provisionnement AWS géré ou d'un provisionnement autogéré.

Les composants sont toutefois différents des autres AWS Proton ressources à plusieurs égards :

  • État détaché : les composants sont conçus pour être attachés à des instances de service et pour étendre leur infrastructure, mais ils peuvent également être dans un état détaché, dans lequel ils ne sont attachés à aucune instance de service. Pour plus d'informations sur les états des composants, consultezÉtats des composants.

  • Pas de schéma : les composants ne sont pas associés à un schéma contrairement aux ensembles de modèles. Les entrées des composants sont définies par un service. Un composant peut consommer des entrées lorsqu'il est attaché à une instance de service.

  • Aucun composant géré par le client : provisionne AWS Proton toujours l'infrastructure des composants pour vous. Il n'existe pas de version « apportez vos propres ressources » des composants. Pour plus d'informations sur les environnements gérés par le client, consultez. Création d'un environnement

  • Aucune ressource de modèle : les composants directement définis n'ont pas de ressource de modèle associée similaire aux modèles d'environnement et de service. Vous fournissez un fichier modèle IaC directement au composant. De même, vous fournissez directement un manifeste qui définit le langage du modèle et le moteur de rendu pour le provisionnement de l'infrastructure du composant. Vous créez le fichier modèle et le manifeste de la même manière que vous créez un ensemble de modèles. Cependant, avec des composants directement définis, il n'est pas nécessaire de stocker les fichiers IaC sous forme de bundles dans des emplacements particuliers, et vous ne devez pas créer de ressource modèle dans AWS Proton des fichiers IaC externes.

  • Pas de provisionnement CodeBuild basé : vous ne pouvez pas approvisionner des composants directement définis à l'aide de votre propre script de provisionnement personnalisé, connu sous le nom de provisionnement CodeBuildbasé. Pour de plus amples informations, veuillez consulter Comment fonctionne CodeBuild le provisionnement.

Composants de la AWS Proton console

Utilisez la AWS Proton console pour créer, mettre à jour, afficher et utiliser AWS Proton des composants.

Les pages de console suivantes concernent les composants. Nous incluons des liens directs vers les pages de console de haut niveau.

  • Composants : consultez la liste des composants de votre AWS compte. Vous pouvez créer de nouveaux composants et mettre à jour ou supprimer des composants existants. Choisissez le nom d'un composant dans la liste pour afficher sa page de détails.

    Des listes similaires existent également sur les pages Détails de l'environnement et Détails des instances de service. Ces listes affichent uniquement les composants associés à la ressource en cours de consultation. Lorsque vous créez un composant à partir de l'une de ces listes, AWS Proton présélectionne l'environnement associé sur la page Créer un composant.

  • Détails du composant : pour afficher la page des détails du composant, choisissez un nom de composant dans la liste des composants.

    Sur la page de détails, consultez les détails et le statut du composant, puis mettez-le à jour ou supprimez-le. Affichez et gérez les listes de sorties (par exemple, les ressources allouées ARNs), les AWS CloudFormation piles provisionnées et les balises attribuées.

  • Créer un composant — Créez un composant. Entrez le nom et la description du composant, choisissez les ressources associées, spécifiez le fichier iAc source du composant et attribuez des balises.

  • Mettre à jour un composant : pour mettre à jour un composant, sélectionnez-le dans la liste des composants, puis dans le menu Actions, choisissez Mettre à jour le composant. Sur les pages de détails du composant, vous pouvez également sélectionner Mettre à jour.

    Vous pouvez mettre à jour la plupart des détails du composant. Vous ne pouvez pas mettre à jour le nom du composant. Et vous pouvez choisir de redéployer ou non le composant après une mise à jour réussie.

  • Configurer l'environnement : lorsque vous créez ou mettez à jour un environnement, vous pouvez spécifier un rôle de composant. Ce rôle contrôle la capacité à exécuter des composants directement définis dans l'environnement et fournit des autorisations pour leur mise en service.

  • Créer une nouvelle version de modèle de service : lorsque vous créez une version de modèle de service, vous pouvez spécifier les sources de composants prises en charge pour la version du modèle. Cela contrôle la possibilité d'associer des composants à des instances de service de services en fonction de cette version de modèle.

Composants de l' AWS Proton API et AWS CLI

Utilisez l' AWS Proton API ou le AWS CLI pour créer, mettre à jour, afficher et utiliser AWS Proton des composants.

Les actions d'API suivantes gèrent directement les ressources des AWS Proton composants.

  • CreateComponent— Crée un AWS Proton composant.

  • DeleteComponent— Supprime un AWS Proton composant.

  • GetComponent— Obtenez des données détaillées pour un composant.

  • ListComponentOutputs— Obtenez une liste des sorties de l'infrastructure sous forme de code (IaC) des composants.

  • ListComponentProvisionedResources— Répertoriez les ressources allouées pour un composant avec des informations détaillées.

  • ListComponents— Répertoriez les composants avec des données récapitulatives. Vous pouvez filtrer la liste des résultats par environnement, par service ou par instance de service unique.

Les actions d'API suivantes d'autres AWS Proton ressources comportent certaines fonctionnalités liées aux composants.

  • CreateEnvironment, UpdateEnvironmentcomponentRoleArn À utiliser pour spécifier le nom de ressource Amazon (ARN) du rôle de service IAM AWS Proton utilisé lors du provisionnement de composants directement définis dans cet environnement. Il détermine l'étendue de l'infrastructure qu'un composant directement défini peut fournir.

  • CreateServiceTemplateVersionsupportedComponentSources À utiliser pour spécifier les sources de composants prises en charge. Les composants dont les sources sont prises en charge peuvent être attachés à des instances de service sur la base de cette version de modèle de service.

Questions fréquemment posées sur les composants

Quel est le cycle de vie d'un composant ?

Les composants peuvent être attachés ou détachés. Ils sont conçus pour être attachés à une instance de service et améliorer son infrastructure la plupart du temps. Les composants détachés sont dans un état de transition qui vous permet de supprimer un composant ou de l'associer à une autre instance de service de manière contrôlée et sûre. Pour de plus amples informations, veuillez consulter États des composants.

Pourquoi ne puis-je pas supprimer les composants associés ?

Solution : pour supprimer un composant attaché, mettez-le à jour pour le détacher de l'instance de service, validez la stabilité de l'instance de service, puis supprimez le composant.

Pourquoi est-ce nécessaire ? Les composants attachés fournissent l'infrastructure supplémentaire dont votre application a besoin pour exécuter ses fonctions d'exécution. L'instance de service utilise peut-être les sorties des composants pour détecter et utiliser les ressources de cette infrastructure. La suppression du composant, et donc de ses ressources d'infrastructure, peut perturber l'instance de service attachée.

Par mesure de sécurité supplémentaire, AWS Proton vous devez mettre à jour le composant et le détacher de son instance de service avant de pouvoir le supprimer. Vous pouvez ensuite valider votre instance de service pour vous assurer qu'elle continue à se déployer et à fonctionner correctement. Si vous détectez un problème, vous pouvez rapidement rattacher le composant à l'instance de service, puis essayer de le résoudre. Lorsque vous êtes certain que votre instance de service est exempte de toute dépendance à l'égard du composant, vous pouvez le supprimer en toute sécurité.

Pourquoi ne puis-je pas modifier directement l'instance de service attachée à un composant ?

Solution : pour modifier l'attachement, mettez à jour le composant pour le détacher de l'instance de service, validez la stabilité du composant et de l'instance de service, puis attachez le composant à la nouvelle instance de service.

Pourquoi est-ce nécessaire ? Un composant est conçu pour être attaché à une instance de service. Votre composant peut utiliser des entrées d'instance de service pour la dénomination et la configuration des ressources d'infrastructure. La modification de l'instance de service attachée peut perturber le composant (en plus d'une éventuelle interruption de l'instance de service, comme décrit dans la FAQ précédente, Pourquoi ne puis-je pas supprimer mes composants attachés ? ). Par exemple, cela peut entraîner le changement de nom, voire le remplacement, des ressources définies dans le modèle IaC du composant.

Par mesure de sécurité supplémentaire, AWS Proton vous devez mettre à jour le composant et le détacher de son instance de service avant de pouvoir l'associer à une autre instance de service. Vous pouvez ensuite valider la stabilité du composant et de l'instance de service avant d'attacher le composant à la nouvelle instance de service.