Composants AWS Proton - 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.

Composants AWS Proton

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

DansAWS Proton les administrateurs, les administrateurs définissent l'infrastructure standard utilisée par les équipes de développement et les applications. Toutefois, 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 d'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 à faire évoluer. Les administrateurs auraient besoin de gérer de nombreux modèles supplémentaires 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 standardiser les principaux composants de l'architecture, tels queAWS Fargate les tâches. 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 Protonfournit les ressources d'infrastructure définies par le composant tout comme il fournit des 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 duAWS Proton rendu du modèle de service pour provisionner une instance de service, l'instance de service peut faire référence au bucket et l'utiliser.

Les composantsAWS Proton actuellement pris en charge sont des composants directement définis. Vous transmettez le fichier d'infrastructure sous forme de code (IAC) qui définit l'infrastructure du composant directement à l'AWS ProtonAPI ou à la console. Cela est différent d'un environnement ou d'un service, dans lequel vous définissez l'IaC dans un ensemble de modèles et enregistrez le bundle en tant que ressource modèle, puis utilisez une ressource 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 mettre en service. AWS Protonprovisionne tous les composants directement définis s'exécutant dans le même environnement en utilisant le même rôleAWS 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 deAWS Proton service. Par défaut, les développeurs ne peuvent pas associer de composants à des instances de service.

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

    Note

    Lorsque vous utilisez la synchronisation des modèles,AWS Proton crée implicitement des versions de modèles de service lorsque vous apportez des modifications à 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 principale du modèle de service. Pour plus d'informations, consultez Modèles de service de synchronisation.

  • Rôles des composants : un administrateur peut attribuer un rôle de composant à un environnement. AWS Protonassume ce rôle lorsqu'il fournit 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 des composants, 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 à un composant, consultez le componentRoleArnparamètre de l'action d'CreateEnvironmentAPI dans la référenceAWS Proton API.

    Note

    Les rôles des composants ne sont pas utilisés dansApprovisionnement les environnements.

Comment les composants se comparent-ils aux autresAWS Proton ressources ?

À bien des égards, les composants sont similaires aux autresAWS Proton ressources. Leur infrastructure est définie dans un fichier modèle IAC, créé au formatAWS CloudFormation YAML ou Terraform HCL. AWS Protonpeut provisionner l'infrastructure des composants à l'aide du provisionnementAWS géré ou du provisionnement autogéré.

Les composants se distinguent toutefois des autresAWS Proton ressources de plusieurs manières :

  • É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é, c'est-à-dire qu'ils ne sont attachés à aucune instance de service. Pour de plus amples informations sur les états des composants, veuillez consulterÉtats des composants.

  • Pas de schéma : aucun schéma n'est associé aux composants, 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 :AWS Proton provisionne toujours l'infrastructure des composants pour vous. Il n'existe pas de version des composants utilisant vos propres ressources. Pour de plus amples informations sur les environnements gérés par le client, veuillez consulterCréation d'un environnement.

  • Aucune ressource modèle : les composants directement définis ne sont pas associés à une ressource modèle 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. Toutefois, avec des composants directement définis, il n'est pas nécessaire de stocker les fichiers iAC sous forme de lots à des emplacements particuliers, et vous ne créez pas de modèle de ressource àAWS Proton partir de fichiers iAC.

  • Provisionnement non CodeBuild basé : vous ne pouvez pas provisionner des composants directement définis à l'aide de votre propre script de provisionnement personnalisé, connu sous le nom de provisionnementCodeBuild basé. Pour plus d'informations, consultez Comment fonctionne CodeBuild le provisionnement.

Composants de laAWS Proton console

Utilisez laAWS Proton console pour créer, mettre à jour, afficher et utiliserAWS Proton des composants.

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

  • Composants : consultez la liste des composants de votreAWS 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 la page contenant ses détails.

    Des listes similaires existent également sur les pages Détails de l'environnement et Détails de l'instance de service. Ces listes affichent uniquement les composants associés à la ressource consultée. 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 de 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 l'état du composant, puis mettez à jour ou supprimez le composant. Affichez et gérez les listes de sorties (par exemple, les ARN de ressources provisionnées), lesAWS CloudFormation piles provisionnées et les balises attribuées.

  • Créer un composant : crée 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 le composant : pour mettre à jour un composant, sélectionnez-le dans la liste des composants, puis, dans le menu Actions, choisissez Mettre à jour le composant. Vous pouvez également choisir Mettre à jour sur les pages de détails du composant.

    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 provisionnement.

  • 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'attacher des composants à des instances de service de services en fonction de cette version de modèle.

Les composants de l'AWS ProtonAPI etAWS CLI

Utilisez l'AWS ProtonAPI ou laAWS CLI pour créer, mettre à jour, afficher et utiliserAWS Proton des composants.

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

  • CreateComponent— Créez unAWS Proton composant.

  • DeleteComponent— Supprime unAWS 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épertorie les ressources provisionnées pour un composant avec des détails.

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

Les actions d'API suivantes d'autresAWS Proton ressources possèdent certaines fonctionnalités liées aux composants.

  • CreateEnvironment, UpdateEnvironmentcomponentRoleArn À utiliser pour spécifier le nom de ressource Amazon (ARN) du rôle de service IAMAWS 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 en fonction de cette version de modèle de service.

Questions fréquentes 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'attacher à une autre instance de service de manière contrôlée et sécurisée. Pour plus d'informations, consultez États des composants.

Pourquoi ne puis-je pas supprimer mes composants attachés ?

Solution : pour supprimer un composant attaché, mettez à jour le composant 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 connectés fournissent l'infrastructure supplémentaire dont votre application a besoin pour exécuter ses fonctions d'exécution. L'instance de service peut utiliser les sorties des composants pour détecter et utiliser les ressources de cette infrastructure. La suppression du composant, 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 vous efforcer de le résoudre. Lorsque vous êtes certain que votre instance de service est exempte de toute dépendance vis-à-vis du composant, vous pouvez supprimer le composant en toute sécurité.

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

Solution : pour modifier la pièce jointe, 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'attacher à 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.