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.
Uso de Enterprise Blueprint Factory
Esta sección le ayuda a crear, actualizar o eliminar esquemas en su entorno. Proporciona instrucciones detalladas para gestionar un plano a lo largo de su ciclo de vida.
Para crear o actualizar planos personalizados, debe saber cómo crear plantillas de IaC, como AWS CloudFormationplantillas o componentes fijos. AWS Cloud Development Kit (AWS CDK) Esta guía no incluye información ni instrucciones sobre cómo definir los planos que se publican a través de Enterprise Blueprint Factory.
Requisitos previos
Los siguientes son los requisitos previos para utilizar Enterprise Blueprint Factory en su entorno: AWS
-
AWS Command Line Interface (AWS CLI), instalado y configurado
-
Permisos para asumir la
ServiceCatalogEndUserRoleAWS Identity and Access Management función (IAM) -
Una CloudFormation plantilla o construcción AWS CDK
Crear un plano
Las canalizaciones de Enterprise Blueprint Factory implementan los planos que se definen en el archivo de configuración. El desarrollador inicia el proceso de configuración fusionando el archivo de configuración en el repositorio de configuración. Luego, Enterprise Blueprint Factory utiliza el ServiceCatalogLaunchConstraintRole para implementar el blueprint como un producto en Service Catalog. Para obtener más información sobre las acciones que realizan la canalización de configuración y la canalización de versiones al crear un blueprint, consulte la sección Creación de blueprints en esta guía.
Para añadir el blueprint al repositorio de productos
-
Asegúrese de haber configurado su Enterprise Blueprint Factory de acuerdo con las instrucciones de Configuración de Enterprise Blueprint Factory de esta guía.
-
Confirme que la política del
ServiceCataloglogLaunchConstraintRolerol le permita aprovisionar los recursos definidos en el plan. -
En el repositorio de productos (
ServiceCatalog-BlueprintProductRepo), cree una carpeta para el nuevo blueprint. -
Pegue la plantilla de IaC (CloudFormation plantilla o AWS CDK construcción) en la carpeta que ha creado.
-
Cree un archivo denominado product_config.json en la carpeta que creó.
-
Abra el archivo product_config.json y pegue lo siguiente en él:
{ "SchemaVersion": "1.0", "ProductVersionName": "1.0.1", "Deprecated_Versions" : [], "ProductVersionDescription": "<description>", "ProductType": "CLOUD_FORMATION_TEMPLATE", "Properties": { "TemplateFilePath": "./<folder name>/<file name>" } }Donde:
-
<description>es una breve descripción de la versión del plan -
<folder name>es el nombre de la carpeta que ha creado en el repositorio de productos -
<file name>es el nombre de la plantilla de IaC
nota
Puede actualizar la versión del esquema o los nombres de las versiones del producto para que coincidan con las políticas de su organización.
-
-
Guarda y cierra el archivo product_config.json.
-
Introduzca los siguientes comandos para combinar los cambios en el repositorio de productos:
cd ServiceCatalog-BlueprintProductRepo git add <folder name>/<file name> <folder name>\product_config.json git commit -m "The first version of <file name> blueprint" git push origin main
Para actualizar el archivo de configuración
-
En el repositorio de configuración (
ServiceCatalog-ConfigRepo), abra el archivo config.yml. -
Edite la
portfoliossección y laproductssección según sea necesario para el nuevo blueprint. Para obtener más información, consulte el archivo de configuración de esta guía. -
Guarde y cierre el archivo config.yml.
-
Introduzca los siguientes comandos para combinar los cambios en el repositorio de configuración:
cd ServiceCatalog-ConfigRepo git add config.yml git commit -m "<description of change>" git push origin mainLa aprobación de esta solicitud de cambios inicia el proceso de configuración. La canalización de configuración crea una canalización de lanzamiento para el producto.
Para revisar los registros de implementación
-
Inicie sesión en la cuenta administrativa de Enterprise Blueprint Factory.
-
Abra la consola de AWS CodePipeline
. -
En Nombre, elija el proceso de lanzamiento del producto. De forma predeterminada, el nombre de la canalización es
BluePrint_<Product-Name>-<CloudFormation-Stack-Name>. -
Seleccione Ver historial.
-
Vea el estado de la canalización y la ejecución de la fase. Para obtener más información sobre el estado, consulte Ver el estado de la ejecución en la CodePipeline documentación.
-
Si la canalización falla, revise la causa del error. Para obtener instrucciones sobre cómo configurar la supervisión de las canalizaciones, consulte Supervisión de las canalizaciones en la CodePipeline documentación. Si la canalización de lanzamiento falló debido a una comprobación de cfn-lint o cfn_nag, corrija el error en la plantilla. Envía otra solicitud de cambios al repositorio de productos. Esto reinicia el proceso de lanzamiento. Para obtener más información sobre cómo corregir los errores de las plantillas, consulta la sección de solución de problemas de esta guía.
-
Espere hasta que el estado de la canalización de lanzamientos sea el siguiente
Succeeded.
Para validar el despliegue
-
Inicie sesión en una cuenta de consumidor de la organización.
-
Asuma la función
ServiceCatalogEndUserRolede IAM. -
Abra la consola de Service Catalog
. -
En el panel de navegación, elija Productos.
-
Confirme que el nuevo producto esté disponible en la lista de productos.
Actualizar un proyecto
Para obtener más información sobre las acciones que realizan la canalización de configuración y la canalización de versiones al crear un blueprint, consulte la actualización del blueprint en esta guía.
Para actualizar un blueprint
-
En el repositorio de productos, navegue hasta la carpeta del producto.
-
Pegue la plantilla iAC actualizada. Asegúrese de que el nombre del archivo es el mismo que el de la versión anterior.
-
Abre el archivo product_config.json.
-
Para
ProductVersionName, actualice el número de versión. -
Si desea evitar que la versión anterior del producto se despliegue en el futuro
Deprecated_Versions, introduzca los números de la versión anterior en una lista separada por comas. -
Introduzca los siguientes comandos para combinar los cambios en el repositorio de productos:
cd ServiceCatalog-BlueprintProductRepo git add <folder name>/<file name> <folder name>\product_config.json git commit -m "Version <number> of <file name> blueprint" git push origin mainLa aprobación de esta solicitud de cambios inicia el proceso de lanzamiento del producto.
Para revisar los registros de implementación
-
Inicie sesión en la cuenta administrativa de Enterprise Blueprint Factory.
-
Abra la consola de AWS CodePipeline
. -
En Nombre, elija la canalización de lanzamiento. De forma predeterminada, el nombre de la canalización es
BluePrint_<Product-Name>-<CloudFormation-Stack-Name>. -
Seleccione Ver historial.
-
Vea el estado de la canalización y la ejecución de la fase. Para obtener más información sobre el estado, consulte Ver el estado de la ejecución en la CodePipeline documentación.
-
Si la canalización falla, revise la causa del error. Para obtener instrucciones sobre cómo configurar la supervisión de las canalizaciones, consulte Supervisión de las canalizaciones en la CodePipeline documentación. Si la canalización de lanzamiento falló debido a una comprobación de cfn-lint o cfn_nag, corrija el error en la plantilla. Envía otra solicitud de cambios al repositorio de productos. Esto reinicia el proceso de lanzamiento. Para obtener más información sobre cómo corregir los errores de las plantillas, consulta la sección de solución de problemas de esta guía.
-
Espere hasta que el estado de la canalización de lanzamientos sea el siguiente
Succeeded.
Para validar la actualización
-
Inicie sesión en una cuenta de consumidor de la organización.
-
Asuma la función
ServiceCatalogEndUserRolede IAM. -
Abra la consola de Service Catalog
. -
En el panel de navegación, elija Productos.
-
Confirme que la nueva versión del producto esté disponible en la lista de productos.
Eliminar un plano
Al eliminar un producto, Service Catalog elimina todas las versiones del producto de todas las carteras que contienen el producto. Para obtener más información, consulte Eliminar productos en la documentación de Service Catalog. Para obtener más información sobre las acciones que realizan la canalización de configuración y la canalización de versiones al crear un blueprint, consulte Eliminación de blueprints en esta guía.
Para eliminar un blueprint
-
En el repositorio de configuración, abra el archivo config.yml.
-
Edita la sección de productos, elimina o comenta el producto que deseas eliminar.
-
Guarda y cierra el archivo config.yml.
-
Introduzca los siguientes comandos para combinar los cambios en el repositorio de configuración:
cd ServiceCatalog-ConfigRepo git add config.yml git commit -m "<description of change>" git push origin mainLa aprobación de esta solicitud de cambios inicia el proceso de configuración. La canalización de configuración elimina el producto y su canalización de lanzamiento.
-
En el repositorio del producto, elimine la carpeta del producto, incluido su contenido.
-
Introduzca los siguientes comandos para combinar los cambios en el repositorio de productos:
cd ServiceCatalog-BlueprintProductRepo git add . git commit -m "Delete <file name> blueprint" git push origin main
Para validar la eliminación
-
Inicie sesión en una cuenta de consumidor de la organización.
-
Asuma la función
ServiceCatalogEndUserRolede IAM. -
Abra la consola de Service Catalog
. -
En el panel de navegación, elija Productos.
-
Confirme que el producto eliminado ya no está disponible.
Solución de problemas
Al crear o actualizar un plano, las herramientas cfn-lint y cfn-nag lo validan. Para obtener más información sobre la validación en la canalización de publicación, consulte la canalización de versiones en esta guía. Cualquier error de sintaxis o de seguridad que se notifique provoca un error en la canalización. Para implementar correctamente el blueprint durante el proceso de lanzamiento, debe corregir los errores del blueprint.
El siguiente es un ejemplo de resultado que muestra dos errores relacionados con la seguridad: un error y una advertencia.
BP-SNS.yml --------------------------------------------------- BP-SNS.yml --------------------------------------------------- | WARN W47 | | Resource: ["ExampleTopic"] | Line numbers: [5] | | SNS Topic should specify KmsMasterKeyId property --------------------------------------------------- | FAIL F18 | | Resource: ["ExampleTopicPolicy"] | Line numbers: [10] | | SNS topic policy should not allow * principal Failures count: 1 Warnings count: 1
Para corregir estos errores, en el archivo de planos, sustituiría el * principio de la política temática del Amazon Simple Notification Service (Amazon SNS) y asociaría una clave AWS Key Management Service (AWS KMS) al tema. En el siguiente ejemplo de código se muestran estas actualizaciones.
ExampleTopic: Type: AWS::SNS::Topic Properties: TopicName: ExampleTopic ExampleTopicPolicy: Type: AWS::SNS::TopicPolicy Properties: KmsMasterKeyId: alias/aws/sns # Added KMS key PolicyDocument: Id: Id1 Version: '2012-10-17' Statement: - Sid: Sid2 Effect: Allow Principal: "Service" : "s3.amazonaws.com" # Replaced "AWS": '*' Action: 'sns:Publish' Resource: !Ref ExampleTopic Topics: - !Ref ExampleTopic