Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AWS Proton componentes
Los componentes son un tipo de recurso. AWS Proton Añaden flexibilidad a las plantillas de servicio. Los componentes proporcionan a los equipos de plataformas un mecanismo para ampliar los patrones de infraestructura principales y definir medidas de seguridad que permiten a los desarrolladores administrar aspectos de su infraestructura de aplicaciones.
En, AWS Proton los administradores definen la infraestructura estándar que se utiliza en todos los equipos de desarrollo y las aplicaciones. Sin embargo, es posible que los equipos de desarrollo necesiten incluir recursos adicionales para sus casos de uso específicos, como las colas de Amazon Simple Queue Service (Amazon SQS) o las tablas de Amazon DynamoDB. Estos recursos específicos de la aplicación pueden cambiar con frecuencia, especialmente durante las primeras etapas del desarrollo de una aplicación. Mantener estos cambios frecuentes en las plantillas creadas por los administradores puede resultar difícil de administrar y escalar; los administradores tendrían que mantener muchas más plantillas sin un verdadero valor añadido para el administrador. La alternativa (permitir que los desarrolladores de aplicaciones creen plantillas para sus aplicaciones) tampoco es ideal, ya que reduce la capacidad de los administradores de estandarizar los principales componentes de la arquitectura, como las tareas. AWS Fargate Aquí es donde entran en juego los componentes.
Con un componente, un desarrollador puede agregar recursos adicionales a su aplicación, más allá de lo que los administradores definieron en las plantillas de entorno y servicio. A continuación, el desarrollador adjunta el componente a una instancia de servicio. AWS Proton aprovisiona los recursos de infraestructura definidos por el componente del mismo modo que aprovisiona los recursos para los entornos y las instancias de servicio.
Un componente puede leer las entradas de la instancia de servicio y proporcionar salidas a la instancia de servicio, para una experiencia totalmente integrada. Por ejemplo, si el componente agrega un bucket de Amazon Simple Storage Service (Amazon S3) para que lo utilice una instancia de servicio, la plantilla del componente puede tener en cuenta los nombres de las instancias de servicio y de entorno para darle un nombre al bucket. Cuando AWS Proton renderiza la plantilla de servicio para aprovisionar una instancia de servicio, la instancia de servicio puede hacer referencia al depósito y usarlo.
Los componentes que AWS Proton actualmente son compatibles son componentes definidos directamente. El archivo de infraestructura como código (IaC) que define la infraestructura del componente se transfiere directamente a la AWS Proton API o a la consola. Esto es diferente a un entorno o servicio, en el que se define la IaC en un paquete de plantillas y se registra el paquete como un recurso de plantilla y, a continuación, se utiliza un recurso de plantilla para crear el entorno o el servicio.
nota
Los componentes definidos directamente permiten a los desarrolladores definir una infraestructura adicional y aprovisionarla. AWS Proton aprovisiona todos los componentes definidos directamente que se ejecutan en el mismo entorno y utilizan la misma función AWS Identity and Access Management (IAM).
Un administrador puede controlar lo que los desarrolladores pueden hacer con los componentes de dos maneras:
-
Fuentes de componentes compatibles: un administrador puede permitir la conexión de componentes a las instancias de servicio en función de una propiedad de las versiones de las plantillas de AWS Proton servicio. De forma predeterminada, los desarrolladores no pueden conectar componentes a las instancias de servicio.
Para obtener más información sobre esta propiedad, consulte el supportedComponentSourcesparámetro de la acción de la CreateServiceTemplateVersionAPI en la referencia de la AWS Proton API.
nota
Cuando utilizas la sincronización de plantillas, AWS Proton crea versiones de plantillas de servicio de forma implícita al confirmar los cambios en un paquete de plantillas de servicio de un repositorio. En este caso, en lugar de especificar los orígenes de componentes compatibles durante la creación de la versión de la plantilla de servicio, el usuario debe especificar esta propiedad en un archivo asociado a cada versión principal de la plantilla de servicio. Para obtener más información, consulte Sincronización de plantillas de servicio.
-
Funciones de componentes: un administrador puede asignar una función de componente a un entorno. AWS Proton asume esta función cuando aprovisiona la infraestructura definida por un componente definido directamente en el entorno. Por lo tanto, el rol de componente abarca la infraestructura que los desarrolladores pueden añadir mediante componentes definidos directamente en el entorno. Al no existir el rol de componente, los desarrolladores no pueden crear componentes definidos directamente en el entorno.
Para obtener más información sobre la asignación de una función de componente, consulte el componentRoleArnparámetro de la acción de la CreateEnvironmentAPI en la referencia de la AWS Proton API.
nota
Los roles de los componentes no se utilizan en los entornos de Aprovisionamiento autoadministrado.
Temas
¿Cómo se comparan los componentes con otros AWS Proton recursos?
En muchos sentidos, los componentes son similares a otros AWS Proton recursos. Su infraestructura se define en un archivo de plantilla de IaC, creado en formato AWS CloudFormation YAML o Terraform HCL. AWS Proton pueden aprovisionar la infraestructura de componentes mediante el aprovisionamiento gestionado o el aprovisionamiento AWS autogestionado.
Sin embargo, los componentes se diferencian de otros AWS Proton recursos en varios aspectos:
-
Estado desconectado: los componentes están diseñados para conectarse a las instancias de servicio y ampliar su infraestructura, pero también pueden estar en un estado desconectado, en el que no están conectados a ninguna instancia de servicio. Para obtener más información sobre componentes del sistema, consulte Estados de los componentes.
-
No hay ningún esquema: los componentes no tienen ningún esquema asociado a diferencia de los paquetes de plantillas. Un servicio define las entradas de los componentes. Un componente puede consumir entradas cuando está conectado a una instancia de servicio.
-
No hay componentes gestionados por el cliente: AWS Proton siempre le aprovisiona la infraestructura de componentes. No hay ninguna versión de componentes del tipo “traiga sus propios recursos”. Para obtener más información sobre entornos administrados por el cliente, consulte Creación de un entorno.
-
No hay recursos de plantillas: los componentes definidos directamente no tienen ningún recurso de plantilla asociado similar a las plantillas de entorno y servicio. Debe proporcionar un archivo de plantilla de IaC directamente al componente. Del mismo modo, el usuario proporciona directamente un manifiesto que define el lenguaje de la plantilla y el motor de representación para aprovisionar la infraestructura del componente. El archivo de plantilla y el manifiesto se crean de forma similar a la creación de un paquete de plantillas. Sin embargo, con los componentes definidos directamente, no es necesario almacenar los archivos de IaC como paquetes en ubicaciones determinadas, y no se crea un recurso de plantilla a AWS Proton partir de los archivos de IaC.
-
Sin aprovisionamiento CodeBuild basado: no puede aprovisionar componentes definidos directamente mediante su propio script de aprovisionamiento personalizado, conocido como aprovisionamiento basado. CodeBuild Para obtener más información, consulte Cómo funciona el CodeBuild aprovisionamiento.
Componentes de la consola AWS Proton
Utilice la AWS Proton consola para crear, actualizar, ver y utilizar AWS Proton componentes.
Las siguientes páginas de la consola están relacionadas con los componentes. Incluimos enlaces directos a las páginas de consolas de nivel superior.
-
Componentes
: consulte la lista de componentes de su AWS cuenta. Puede crear nuevos componentes y actualizar o eliminar los componentes existentes. Seleccione de la lista el nombre de algún componente para ver su página de detalles. También existen listas similares en las páginas Detalles del entorno y Detalles de la instancia de servicio. Estas listas muestran solo los componentes asociados al recurso que se está viendo. Al crear un componente a partir de una de estas listas, AWS Proton preselecciona el entorno asociado en la página Crear componente.
-
Detalles del componente: para ver la página de detalles del componente, elija el nombre de algún componente en la lista Componentes
. En la página de detalles, consulte los detalles y el estado del componente y actualice o elimine el componente. Vea y gestione listas de resultados (por ejemplo, recursos aprovisionados ARNs), AWS CloudFormation pilas aprovisionadas y etiquetas asignadas.
-
Crear componente
: cree un componente. Introduzca el nombre y la descripción del componente, elija los recursos asociados, especifique el archivo de IaC de origen del componente y asigne etiquetas. -
Actualizar componente: para actualizar un componente, seleccione el componente en la lista Componentes
y, a continuación, en el menú Acciones, elija Actualizar componente. Como alternativa, en las páginas de Detalles del componente, seleccione Actualizar. Puede actualizar la mayoría de los detalles del componente. No puede actualizar el nombre del componente. Además, puede elegir si desea volver a implementar o no el componente después de una actualización correcta.
-
Configurar el entorno: al crear o actualizar un entorno, puede especificar un rol de componente. Este rol controla la capacidad de ejecutar componentes definidos directamente en el entorno y proporciona permisos para aprovisionarlos.
-
Crear una nueva versión de la plantilla de servicio: al crear una versión de la plantilla de servicio, puede especificar los Orígenes de componentes compatibles para la versión de la plantilla. Esto controla la capacidad de asociar componentes a las instancias de servicio de los servicios basados en esta versión de plantilla.
Componentes de la API y AWS ProtonAWS CLI
Use la AWS Proton API o la AWS CLI para crear, actualizar, ver y usar AWS Proton componentes.
Las siguientes acciones de la API administran directamente los recursos de los AWS Proton componentes.
-
CreateComponent— Crear un AWS Proton componente.
-
DeleteComponent— Eliminar un AWS Proton componente.
-
GetComponent— Obtenga datos detallados de un componente.
-
ListComponentOutputs— Obtenga una lista de las salidas de infraestructura como código (IaC) de los componentes.
-
ListComponentProvisionedResources— Enumere los recursos aprovisionados para un componente con detalles.
-
ListComponents— Listar los componentes con datos resumidos. Puede filtrar la lista de resultados por entorno, por servicio o por una sola instancia de servicio.
Las siguientes acciones de API de otros AWS Proton recursos tienen alguna funcionalidad relacionada con los componentes.
-
CreateEnvironment, UpdateEnvironment— Se utiliza
componentRoleArn
para especificar el nombre de recurso de Amazon (ARN) del rol de servicio de IAM que se AWS Proton utiliza al aprovisionar componentes definidos directamente en este entorno. Determina el alcance de la infraestructura que puede aprovisionar un componente definido directamente. -
CreateServiceTemplateVersion— Se utiliza
supportedComponentSources
para especificar las fuentes de componentes compatibles. Los componentes con orígenes compatibles se pueden asociar a las instancias de servicio en función de esta versión de plantilla de servicio.
Preguntas frecuentes sobre los componentes
¿Cuál es el ciclo de vida de un componente?
Los componentes pueden estar conectados o desconectados. Están diseñados para conectarse a una instancia de servicio y mejorar su infraestructura la mayor parte del tiempo. Los componentes desconectados se encuentran en un estado de transición que permite eliminar un componente o conectarlo a otra instancia de servicio de forma controlada y segura. Para obtener más información, consulte Estados de los componentes.
¿Por qué no puedo eliminar los componentes conectados?
Solución: para eliminar un componente conectado, actualice el componente para desconectarlo de la instancia de servicio, valide la estabilidad de la instancia de servicio y, a continuación, elimine el componente.
¿Por qué es necesario? Los componentes conectados proporcionan la infraestructura adicional que la aplicación necesita para realizar sus funciones de tiempo de ejecución. La instancia de servicio puede estar utilizando las salidas de los componentes para detectar y utilizar los recursos de esta infraestructura. Eliminar el componente y, por lo tanto, eliminar sus recursos de infraestructura, podría interrumpir la instancia de servicio conectada.
Como medida de seguridad adicional, AWS Proton requiere que actualice el componente y lo separe de su instancia de servicio antes de poder eliminarlo. A continuación, podrá validar la instancia de servicio para asegurarse de que sigue implementándose y funcionando correctamente. Si detecta algún problema, puede volver a conectar rápidamente el componente a la instancia de servicio y, a continuación, intentar solucionar el problema. Cuando tenga la certeza de que su instancia de servicio haya dejado de depender del componente, podrá eliminarlo de forma segura.
¿Por qué no puedo cambiar directamente la instancia de servicio conectada a un componente?
Solución: para cambiar la conexión, actualice el componente para desconectarlo de la instancia de servicio, valide la estabilidad del componente y de la instancia de servicio y, a continuación, conecte el componente a la nueva instancia de servicio.
¿Por qué es necesario? Un componente está diseñado para conectarse a una instancia de servicio. El componente puede utilizar las entradas de la instancia de servicio para la asignación de nombres y la configuración de los recursos de infraestructura. Cambiar la instancia de servicio conectada podría afectar negativamente al componente (además de provocar una posible interrupción en la instancia de servicio), tal y como se describe en la pregunta frecuente anterior: ¿Por qué no puedo eliminar los componentes conectados?). Por ejemplo, podría provocar el cambio de nombre, y posiblemente incluso la sustitución, de los recursos definidos en la plantilla de la IaC del componente.
Como medida de seguridad adicional, AWS Proton requiere que actualice el componente y lo separe de su instancia de servicio antes de poder conectarlo a otra instancia de servicio. A continuación, podrá validar la estabilidad tanto del componente como de la instancia de servicio antes de conectar el componente a la nueva instancia de servicio.