

AWS Migration Hub Refactor Spaces se encuentra en una versión preliminar, por lo que está sujeto a cambios.

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.

# Creación de recursos de Refactor Spaces con CloudFormation
<a name="creating-resources-with-cloudformation"></a>

AWS Migration Hub Refactor Spaces se integra conAWS CloudFormation, un servicio que le ayuda a modelar y configurar suAWSpara que pueda dedicar menos tiempo a crear y administrar sus recursos e infraestructura. Crea una plantilla que describe todos losAWSrecursos que desea (tales como entornos, aplicaciones, servicios y rutas) yCloudFormationaprovisiona y configura dichos recursos. 

Cuando utilizaCloudFormation, puede volver a utilizar la plantilla para configurar sus recursos de Refactor Spaces de forma coherente y repetida. Solo tiene que describir los recursos una vez y luego aprovisionar los mismos recursos una y otra vez en varias cuentas y regiones de AWS. 

## Plantillas de espacios de refactor y CloudFormation
<a name="working-with-templates"></a>

Para aprovisionar y configurar los recursos de Refactor Spaces y sus servicios relacionados, debe entender[CloudFormationPlantillas de](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html). Las plantillas son archivos de texto con formato de tipo JSON o YAML. Estas plantillas describen los recursos que desea aprovisionar en sus pilas de CloudFormation. Si no está familiarizado con JSON o YAML, puede utilizar Designer de CloudFormation para comenzar a utilizar las plantillas de CloudFormation. Para obtener más información, consulte [¿Qué es Designer de CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html) en la Guía del usuario de *AWS CloudFormation*.

Refactor Spaces admite la creación de entornos, aplicaciones, servicios y rutas enCloudFormation. Para obtener más información, incluidos ejemplos de plantillas JSON y YAML para entornos, aplicaciones, servicios y rutas, consulte[AWS Migration Hub Refactorizar](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)en la*AWS CloudFormationGuía del usuario de*.

### Ejemplo de plantilla
<a name="working-with-templates-example"></a>

En la siguiente plantilla de ejemplo se crea una nube virtual privada (VPC) y los recursos de Refactor Spaces. Cuando elige desplegar unCloudFormationplantilla para crear un entorno de refactor de demostración desde elIntroducción, la consola de Refactor Spaces implementa la siguiente plantilla.

**Example Plantilla de espacios de refactor YAML**  

```
AWSTemplateFormatVersion: '2010-09-09'
Description: This creates resources in one account.
Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.2.0.0/16
      Tags:
        - Key: Name
          Value: VpcForRefactorSpaces
  PrivateSubnet1:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      AvailabilityZone: !Select [ 0, !GetAZs  '' ]
      CidrBlock: 10.2.1.0/24
      MapPublicIpOnLaunch: false
      Tags:
        - Key: Name
          Value: RefactorSpaces Private Subnet (AZ1)
  PrivateSubnet2:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      AvailabilityZone: !Select [ 1, !GetAZs  '' ]
      CidrBlock: 10.2.2.0/24
      MapPublicIpOnLaunch: false
      Tags:
        - Key: Name
          Value: RefactorSpaces Private Subnet (AZ2)
  RefactorSpacesTestEnvironment:
    Type: AWS::RefactorSpaces::Environment
    DeletionPolicy: Delete
    Properties:
      Name: EnvWithMultiAccountServices
      NetworkFabricType: TRANSIT_GATEWAY
      Description: "This is a test environment"
  TestApplication:
    Type: AWS::RefactorSpaces::Application
    DeletionPolicy: Delete
    DependsOn:
      - PrivateSubnet1
      - PrivateSubnet2
    Properties:
      Name: proxytest
      EnvironmentIdentifier: !Ref RefactorSpacesTestEnvironment
      VpcId: !Ref VPC
      ProxyType: API_GATEWAY
      ApiGatewayProxy:
        EndpointType: "REGIONAL"
        StageName: "admintest"
  AdminAccountService:
    Type: AWS::RefactorSpaces::Service
    DeletionPolicy: Delete
    Properties:
      Name: AdminAccountService
      EnvironmentIdentifier: !Ref RefactorSpacesTestEnvironment
      ApplicationIdentifier: !GetAtt TestApplication.ApplicationIdentifier
      EndpointType: URL
      VpcId: !Ref VPC
      UrlEndpoint:
        Url: "http://aws.amazon.com"
  RefactorSpacesDefaultRoute:
    Type: AWS::RefactorSpaces::Route
    Properties:
      RouteType: "DEFAULT"
      EnvironmentIdentifier: !Ref RefactorSpacesTestEnvironment
      ApplicationIdentifier: !GetAtt TestApplication.ApplicationIdentifier
      ServiceIdentifier: !GetAtt AdminAccountService.ServiceIdentifier
  RefactorSpacesURIRoute:
    Type: AWS::RefactorSpaces::Route
    DependsOn: 'RefactorSpacesDefaultRoute'
    Properties:
      RouteType: "URI_PATH"
      EnvironmentIdentifier: !Ref RefactorSpacesTestEnvironment
      ApplicationIdentifier: !GetAtt TestApplication.ApplicationIdentifier
      ServiceIdentifier: !GetAtt AdminAccountService.ServiceIdentifier
      UriPathRoute:
        SourcePath: "/cfn-created-route"
        ActivationState: ACTIVE
        Methods: [ "GET" ]
```

## Más información sobre CloudFormation
<a name="learn-more-cloudformation"></a>

Para obtener más información acerca de CloudFormation, consulte los siguientes recursos:
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [Guía del usuario de AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [Referencia de la API de CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html)
+ [Guía del usuario de la interfaz de la línea de comandos de AWS CloudFormation](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)