

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.

# Copiar los productos de AWS Service Catalog en diferentes cuentas y regiones de AWS
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions"></a>

*Sachin Vighe y Santosh Kale, Amazon Web Services*

## Resumen
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-summary"></a>

AWS Service Catalog es un servicio regional, lo que significa que las [carteras y los productos](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html) de AWS Service Catalog solo están visibles en la región de AWS en la que se crearon. Si configura un [centro de AWS Service Catalog](https://aws.amazon.com/about-aws/whats-new/2020/06/aws-service-catalog-now-supports-sharing-portfolios-across-an-organization-from-a-delegated-member-account/) en una nueva región, debe volver a crear sus productos existentes, lo que puede llevar mucho tiempo.

El enfoque de este patrón ayuda a simplificar este proceso al describir cómo copiar productos de un centro de AWS Service Catalog de una cuenta o región de AWS de origen a un nuevo centro de una cuenta o región de destino. Para obtener más información sobre el modelo hub and spoke de AWS Service Catalog, consulte [AWS Service Catalog hub and spoke model: How to automate the deployment and management of AWS Service Catalog to many accounts](https://aws.amazon.com/blogs/mt/aws-service-catalog-hub-and-spoke-model-how-to-automate-the-deployment-and-management-of-service-catalog-to-many-accounts/) en el blog AWS Management and Governance. 

El patrón también proporciona los paquetes de códigos independientes necesarios para copiar los productos de AWS Service Catalog entre cuentas o a otras regiones. Al utilizar este patrón, su organización puede ahorrar tiempo, hacer que las versiones actuales y anteriores del producto estén disponibles en un nuevo centro de AWS Service Catalog, minimizar el riesgo de errores manuales y escalar el enfoque a varias cuentas o regiones.

**nota**  
La sección *Epics *de este patrón ofrece dos opciones para copiar productos. Puede usar la opción 1 para copiar productos entre cuentas o elegir la opción 2 para copiar productos entre regiones.

## Requisitos previos y limitaciones
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Productos de AWS Service Catalog existentes en una cuenta o región de origen.
+ Un centro de AWS Service Catalog existente en una cuenta o región de destino.
+ Si desea copiar productos entre cuentas, debe compartir e importar la cartera de AWS Service Catalog que contiene los productos a su cuenta de destino. Para obtener más información al respecto, consulte [Compartir e importar carteras](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_sharing.html) en la documentación del AWS Service Catalog.

**Limitaciones**
+ Los productos de AWS Service Catalog que desee copiar entre regiones o cuentas no pueden pertenecer a más de una cartera.

## Arquitectura
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-architecture"></a>

En el siguiente diagrama se muestra la copia de los productos de AWS Service Catalog de una cuenta de origen a una cuenta de destino.

![\[Un rol entre cuentas en la Región 1, un rol de ejecución de Lambda y una función de Lambda en la Región 2.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/7ede5d17-89eb-4455-928f-6953d145ac9f/images/26738220-1ed2-4f84-911b-3c88e954b60e.png)


 El siguiente diagrama muestra la copia de productos de AWS Service Catalog de una región de origen a una región de destino.

![\[Productos copiados mediante la scProductCopy función Lambda en la Región 2.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/7ede5d17-89eb-4455-928f-6953d145ac9f/images/0a936792-3bdc-45c2-ba05-17e828615061.png)


**Pila de tecnología**
+ Amazon CloudWatch
+ AWS Identity y Access Management (IAM)
+ AWS Lambda
+ AWS Service Catalog

**Automatizar y escalar**

Puede escalar el enfoque de este patrón mediante una función de Lambda que se puede escalar en función del número de solicitudes recibidas o del número de productos de AWS Service Catalog que necesite copiar. Para obtener más información al respecto, consulte el [escalado de funciones de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-scaling.html) en la documentación de AWS Lambda.

## Tools (Herramientas)
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-tools"></a>
+ La [interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
+ [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) le ayuda a administrar de forma centralizada los catálogos de servicios de TI aprobados para AWS. Los usuarios finales pueden implementar rápidamente solo los servicios de TI aprobados que necesitan, de acuerdo con las limitaciones establecidas por su organización.

**Código**

Puede usar el paquete (adjunto) ` cross-account-copy` para copiar los productos de AWS Service Catalog entre cuentas o el paquete (adjunto) `cross-region-copy` para copiar productos entre regiones.

El paquete `cross-account-copy` contiene los siguientes archivos:
+ `copyconf.properties`: el archivo de configuración que contiene los parámetros de región e ID de cuenta de AWS para copiar productos entre cuentas.
+ `scProductCopyLambda.py`: la función de Python para copiar productos entre cuentas.
+ `createDestAccountRole.sh`: el script para crear un rol de IAM en la cuenta de destino.
+ `createSrcAccountRole.sh`: el script para crear un rol de IAM en la cuenta de origen.
+ `copyProduct.sh`: el script para crear e invocar la función de Lambda para copiar productos entre cuentas.

El paquete `cross-region-copy` contiene los siguientes archivos:
+ `copyconf.properties`: el archivo de configuración que contiene los parámetros de región e ID de cuenta de AWS para copiar productos entre regiones.
+ `scProductCopyLambda.py`: la función Python para copiar productos entre regiones.
+ `copyProduct.sh`: el script para crear un rol de IAM y crear e invocar la función de Lambda para copiar productos entre regiones.

## Epics
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-epics"></a>

### Opción 1: copiar los productos de AWS Service Catalog en todas las cuentas
<a name="option-1-ndash-copy-aws-service-catalog-products-across-accounts"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Actualizar el archivo de configuración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Configure sus credenciales para la AWS CLI en la cuenta de destino. | Configure sus credenciales para acceder a la AWS CLI en su cuenta de destino ejecutando el `aws configure` comando y proporcionando los siguientes valores:<pre>$aws configure <br />AWS Access Key ID [None]: <your_access_key_id> <br />AWS Secret Access Key [None]: <your_secret_access_key> <br />Default region name [None]: Region<br />Default output format [None]:</pre>Para obtener más información al respecto, consulte [Conceptos básicos de configuración](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) en la interfaz de la línea de comandos de AWS.  | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Configure sus credenciales para la AWS CLI en la cuenta de origen. | Configure sus credenciales para acceder a la AWS CLI en su cuenta de origen ejecutando el comando `aws configure` y proporcionando los siguientes valores: <pre>$aws configure<br />AWS Access Key ID [None]: <your_access_key_id><br />AWS Secret Access Key [None]: <your_secret_access_key><br />Default region name [None]: Region<br />Default output format [None]:</pre>Para obtener más información al respecto, consulte [Conceptos básicos de configuración](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) en la interfaz de la línea de comandos de AWS.  | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Cree un rol de ejecución para Lambda en su cuenta de destino. | Ejecute el script `createDestAccountRole.sh ` en su cuenta de destino. El script implementa las siguientes acciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Cree el rol de IAM multicuenta en su cuenta de origen. | Ejecute el script `createSrcAccountRole.sh ` en su cuenta de origen. El script implementa las siguientes acciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Ejecute el script CopyProduct en la cuenta de destino. | Ejecute el script `copyProduct.sh ` en su cuenta de destino. El script implementa las siguientes acciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 

### Opción 2: copiar los productos de AWS Service Catalog de una región de origen a una región de destino
<a name="option-2-ndash-copy-aws-service-catalog-products-from-a-source-region-to-a-destination-region"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Actualizar el archivo de configuración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de sistemas de AWS, administrador de la nube, administrador de AWS | 
| Configurar la CLI con sus credenciales de AWS. | Configure sus credenciales para acceder a la AWS CLI en su entorno ejecutando el comando `aws configure` y proporcionando los siguientes valores:<pre>$aws configure<br />AWS Access Key ID [None]: <your_access_key_id><br />AWS Secret Access Key [None]: <your_secret_access_key><br />Default region name [None]: Region<br />Default output format [None]:</pre>Para obtener más información al respecto, consulte [Conceptos básicos de configuración](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) en la interfaz de la línea de comandos de AWS.  | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Ejecute el script CopyProduct. | Ejecute el script `copyProduct.sh` en la región de destino. El script implementa las siguientes acciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 

## Recursos relacionados
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-resources"></a>
+ [Crear un rol de ejecución para Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) (documentación de AWS Lambda)
+ [Crear una función de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-awscli.html) (documentación de AWS Lambda)
+ [AWS Service Catalog referencia API](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_Operations_AWS_Service_Catalog.html)
+ [Documentación de AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html)

## Conexiones
<a name="attachments-7ede5d17-89eb-4455-928f-6953d145ac9f"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/7ede5d17-89eb-4455-928f-6953d145ac9f/attachments/attachment.zip)