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.
Personalice los nombres de los roles predeterminados mediante AWS CDK aspectos y trampillas de escape
Creado por SANDEEP SINGH (AWS) y James Jacob () AWS
Repositorio de código: cdk-aspects-override-example | Entorno: producción | Tecnologías: infraestructura DevOps; gestión y gobierno |
AWSservicios: AWS CDK AWS CloudFormation; AWS Lambda |
Resumen
Este patrón demuestra cómo personalizar los nombres predeterminados de los roles que crean las AWS Cloud Development Kit (AWS CDK) construcciones. La personalización de los nombres de los roles suele ser necesaria si la organización tiene restricciones específicas basadas en las convenciones de nomenclatura. Por ejemplo, su organización puede establecer AWS Identity and Access Management (IAM) límites de permisos o políticas de control de servicios (SCPs) que requieran un prefijo específico en los nombres de los roles. En esos casos, es posible que los nombres de los roles predeterminados generados por AWS CDK las construcciones no cumplan con estas convenciones y sea necesario modificarlos. Este patrón aborda esos requisitos mediante el uso de trampillas de escape y aspectos de. AWS CDK Utiliza las trampillas de escape para definir los nombres de los roles personalizados y Aspects para aplicar un nombre personalizado a todos los roles, a fin de garantizar el cumplimiento de las políticas y restricciones de la organización.
Requisitos previos y limitaciones
Requisitos previos
Un activo Cuenta de AWS
Requisitos previos especificados en la documentación AWS CDK
Limitaciones
Los aspectos filtran los recursos en función de los tipos de recursos, por lo que todos los roles comparten el mismo prefijo. Si necesita prefijos de función diferentes para funciones distintas, es necesario aplicar filtros adicionales en función de otras propiedades. Por ejemplo, para asignar distintos prefijos a los roles que están asociados a AWS Lambda funciones, puede filtrar por atributos o etiquetas de rol específicos y aplicar un prefijo para los roles relacionados con Lambda y un prefijo diferente para los demás roles.
IAMLos nombres de los roles tienen una longitud máxima de 64 caracteres, por lo que los nombres de los roles modificados deben recortarse para cumplir con esta restricción.
Algunos Servicios de AWS no están disponibles en todos Regiones de AWS. Para ver la disponibilidad por región, consulta Servicios de AWS por región
. Para ver puntos de enlace específicos, consulta la página de puntos de enlace y cuotas del servicio y elige el enlace del servicio.
Arquitectura
Pila de tecnología de destino
AWS CDK
AWS CloudFormation
Arquitectura de destino
Una AWS CDK aplicación consta de una o más AWS CloudFormation pilas, que se sintetizan e implementan para administrar los recursos. AWS
Para modificar una propiedad de un recurso AWS CDK administrado que no esté expuesta por una construcción de capa 2 (L2), se utiliza una vía de escape para anular las CloudFormation propiedades subyacentes (en este caso, el nombre de la función) y un aspecto para aplicar la función a todos los recursos de la AWS CDK aplicación durante el proceso de síntesis de la pila. AWS CDK
Herramientas
Servicios de AWS
AWS Cloud Development Kit (AWS CDK)es un marco de desarrollo de software que le ayuda a definir y aprovisionar la Nube de AWS infraestructura en el código.
AWS CDK La interfaz de línea de comandos (AWS CDK CLI) (también conocida como kit de AWS CDK herramientas) es un kit de desarrollo en la nube de línea de comandos que le ayuda a interactuar con su AWS CDK aplicación. El CLI
cdk
comando es la herramienta principal para interactuar con la AWS CDK aplicación. Ejecuta tu aplicación, consulta el modelo de aplicación que has definido y produce e implementa las CloudFormation plantillas generadas por el. AWS CDKAWS CloudFormationle ayuda a configurar AWS los recursos, aprovisionarlos de forma rápida y coherente y administrarlos a lo largo de su ciclo de vida en todas Cuentas de AWS las regiones.
Repositorio de código
El código fuente y las plantillas de este patrón están disponibles en el repositorio GitHub CDKAspects Override
Prácticas recomendadas
Consulte las mejores prácticas para usar el AWS CDK in TypeScript para crear proyectos de IaC en el sitio web de la Guía AWS prescriptiva.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Instale el AWS CDK CLI. | Para instalar el AWS CDK CLI globalmente, ejecute el comando:
| AWS DevOps |
Verificar la versión. | Ejecute el comando:
Confirme que está utilizando la versión 2 de AWS CDK CLI. | AWS DevOps |
Inicie el AWS CDK entorno. | Antes de implementar las AWS CloudFormation plantillas, prepare la cuenta Región de AWS que desea usar. Ejecute el comando:
Para obtener más información, consulte el proceso de AWS CDK arranque en la documentación. AWS | AWS DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Configure el proyecto. |
| AWS DevOps |
Implemente pilas con los nombres de los roles predeterminados asignados por. AWS CDK | Implemente dos CloudFormation pilas (
El código no transfiere de forma explícita las propiedades de los roles, por lo que los nombres de los roles los construirá el. AWS CDK Para ver un ejemplo de salida, consulte la sección de información adicional. | AWS DevOps |
Implemente pilas con aspectos. | En este paso, se aplica un aspecto que impone una convención de nombres de funciones añadiendo un prefijo a todas las IAM funciones que se despliegan en el proyecto. AWS CDK El aspecto se define en el
Para ver un ejemplo de salida, consulte la sección de información adicional. | AWS DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Elimina tus AWS CloudFormation pilas. | Cuando termine de usar este patrón, ejecute el siguiente comando para limpiar los recursos y evitar incurrir en costos adicionales:
| AWS DevOps |
Resolución de problemas
Problema | Solución |
---|---|
Tiene problemas al utilizar el AWS CDK. | Consulte Solución de AWS CDK problemas comunes en la AWS CDK documentación. |
Recursos relacionados
Información adicional
Nombres de rol creados por AWS CloudFormation sin aspectos
Outputs: ExampleStack1WithoutAspects.Function1RoleName = example-stack1-without-as-Function1LambdaFunctionSe-y7FYTY6FXJXA ExampleStack1WithoutAspects.Function2RoleName = example-stack1-without-as-Function2LambdaFunctionSe-dDZV4rkWqWnI ... Outputs: ExampleStack2WithoutAspects.Function3RoleName = example-stack2-without-as-Function3LambdaFunctionSe-ygMv49iTyMq0
Nombres de rol creados por AWS CloudFormation With Aspects
Outputs: ExampleStack1WithAspects.Function1RoleName = dev-unicorn-Function1LambdaFunctionServiceRole783660DC ExampleStack1WithAspects.Function2RoleName = dev-unicorn-Function2LambdaFunctionServiceRole2C391181 ... Outputs: ExampleStack2WithAspects.Function3RoleName = dev-unicorn-Function3LambdaFunctionServiceRole4CAA721C