

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.

# Paso 2. Crea el producto AWS Service Catalog
<a name="step-2-create-blueprint-product"></a>

Para crear un AWS Service Catalog producto, siga los pasos que se indican en la [sección Creación de productos](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/productmgmt-cloudresource.html) de la *Guía AWS Service Catalog del administrador*. Cuando crees el AWS Service Catalog producto, añadirás el esquema de tu cuenta como plantilla.

**importante**  
*Como resultado de la actualización de las licencias HashiCorp de Terraform, se AWS Service Catalog cambió el soporte para los productos de *código abierto de Terraform* y se aprovisionaron los productos a un nuevo tipo de producto, denominado Externo.* Para obtener más información sobre cómo afecta este cambio a AFC, incluida la forma de actualizar los esquemas de cuentas actuales al tipo de producto externo, consulte [Transition to External product type](af-customization-page.md#service-catalog-external-product-type). 

**Resumen de los pasos para la creación de un esquema**
+ Cree o descargue una CloudFormation plantilla o un archivo de configuración tar.gz de Terraform que se convertirá en el esquema de su cuenta. Algunos ejemplos de plantillas se proporcionan más adelante en esta sección.
+ Inicia sesión en el Cuenta de AWS lugar donde guardas los planos de Account Factory (a veces denominada cuenta hub).
+ Navega hasta la AWS Service Catalog consola. Seleccione **Lista de productos** y, a continuación, **Cargar nuevo producto**.
+ En el panel **Detalles del producto**, introduzca los detalles del producto de esquema, como el nombre y la descripción.
+ Seleccione **Usar un archivo de plantilla** y, a continuación, **Elegir archivo**. Seleccione o pegue la plantilla o el archivo de configuración que ha desarrollado o descargado para utilizarlo como esquema.
+ Seleccione **Crear producto** en la parte inferior de la página de la consola.

 Puede descargar una CloudFormation plantilla del repositorio de arquitectura de AWS Service Catalog referencia. [Un ejemplo de ese repositorio ayuda a configurar un plan de copia de seguridad para los recursos](https://github.com/aws-samples/aws-service-catalog-reference-architectures/blob/master/backup/backup-tagoptions.yml). 

A continuación, se muestra un ejemplo de plantilla para una empresa ficticia llamada **Best Pets**. Ayuda a establecer una conexión con su base de datos de mascotas.

```
Resources:
  ConnectionStringGeneratorLambdaRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"		 	 	 
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - lambda.amazonaws.com
            Action:
              - "sts:AssumeRole"
  ConnectionStringGeneratorLambda:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: !Join ['-', ['ConnectionStringGenerator', !Select [4, !Split ['-', !Select [2, !Split ['/', !Ref AWS::StackId]]]]]]
      Description: Retrieves the connection string for this account to access the Pet Database
      Role: !GetAtt ConnectionStringGeneratorLambdaRole.Arn
      Runtime: nodejs22.x
      Handler: index.handler
      Timeout: 5
      Code:
        ZipFile: >
           export const handler = async (event, context) => {
             const awsAccountId = context.invokedFunctionArn.split(“:”)[4]
             const connectionString= “fake connection for account ” + awsAccountId;
             const response = {
               statusCode: 200,
               body: connectionString
             };
           return response;
          };

  ConnectionString:
    Type: Custom::ConnectionStringGenerator
    Properties:
      ServiceToken: !GetAtt ConnectionStringGeneratorLambda.Arn

  PetDatabaseConnectionString:
    DependsOn: ConnectionString
    # For example purposes we're using SSM parameter store.
    # In your template, use secure alternatives to store
    # sensitive values such as connection strings.
    Type: AWS::SSM::Parameter
    Properties: 
      Name: pet-database-connection-string
      Description: Connection information for the BestPets pet database
      Type: String
      Value: !GetAtt ConnectionString.Value
```