

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.

# Migración de sus AWS OpsWorks Stacks aplicaciones a AWS Systems Manager Application Manager
<a name="migrating-to-systems-manager"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. 

Ahora puede migrar sus AWS OpsWorks Stacks aplicaciones a [Application Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/application-manager.html), una función que consiste AWS Systems Manager en utilizar un script de migración. La migración de sus aplicaciones de Stacks a Systems Manager Application Manager le permite utilizar AWS funciones que no están disponibles en AWS OpsWorks Stacks, como nuevos tipos de EC2 instancias de Amazon, como Graviton, nuevos volúmenes de Amazon Elastic Block Store (EBS), como gp3, nuevos sistemas operativos, integraciones con grupos de Auto Scaling y balanceadores de carga de aplicaciones.

Con esta versión, ahora puede supervisar y ejecutar operaciones en las instancias migradas mediante la nueva pestaña **Instancias** disponible en Systems Manager Application Manager. Puede usar la pestaña **Instancias para ver varias instancias en** un solo lugar. AWS Con esta pestaña, puede ver información sobre el estado de las instancias y solucionar problemas. Para obtener más información sobre cómo trabajar con la pestaña **Instancias**, consulte [Trabajar con las instancias de la aplicación](https://docs.aws.amazon.com/systems-manager/latest/userguide/application-manager-working-instances.html) en la *Guía del AWS Systems Manager usuario*.

**Topics**
+ [Cómo funciona el script](#migrating-to-systems-manager-script)
+ [Requisitos previos](migrating-to-systems-manager-prerequisites.md)
+ [Limitaciones](migrating-to-systems-manager-limitations.md)
+ [Introducción](migrating-to-systems-manager-getting-started.md)
+ [Preguntas frecuentes](migrating-to-systems-manager-faqs.md)
+ [Resolución de problemas](migrating-to-systems-manager-troubleshooting.md)

## Cómo funciona el script
<a name="migrating-to-systems-manager-script"></a>

OpsWorks proporciona un script que puede ejecutar para migrar AWS OpsWorks Stacks las aplicaciones a Systems Manager Application Manager mediante una CloudFormation plantilla. El script obtiene información sobre una OpsWorks capa existente y, según el valor del `--provision-application` parámetro del script, aprovisiona un clon de la aplicación o proporciona una CloudFormation plantilla inicial que puede modificar mediante ella CloudFormation. 

# Requisitos previos
<a name="migrating-to-systems-manager-prerequisites"></a>
+ Asegúrese de que AWS CLI está instalada y configurada. Para obtener más información sobre la instalación del AWS CLI, consulte [Instalación o actualización de la última versión del AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) en la *Guía del AWS Command Line Interface usuario*. 
**nota**  
Si no desea configurar el AWS CLI, también puede ejecutar comandos utilizando AWS CloudShell. Para obtener más información sobre cómo trabajar con CloudShell, consulte [Trabajar con él AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/working-with-cloudshell.html) en la *Guía del AWS CloudShell usuario*. 
+ Asegúrese de que la versión 3.6 o posterior de Python está instalada o viene con la imagen de máquina de Amazon (AMI). 
+ Asegúrese de que su sistema operativo sea compatible. Puede descargar y ejecutar el script de migración en los siguientes sistemas operativos. 
  +  Amazon Linux y Amazon Linux 2 
  +  Ubuntu 18.04 LTS, 20.04 LTS, 22.04 LTS 
  +  Red Hat Enterprise Linux 8 
  +  Windows 10 Enterprise y Windows Server 2019. 
**nota**  
 No se admite Microsoft Windows Server 2022. 

# Limitaciones
<a name="migrating-to-systems-manager-limitations"></a>

La nueva OpsWorks arquitectura es diferente de la arquitectura de AWS OpsWorks Stacks. En esta sección se describen las limitaciones conocidas de esta arquitectura.

La nueva OpsWorks arquitectura no admite lo siguiente.
+ Ejecución de recetas de Chef en instancias de Windows y Centos
+ Capas Chef 11 integradas y Berkshelf
+ Atributos y bolsas de datos del chef
+ Instancias en las instalaciones
+ Instancias importadas de EC2
+ No se admite la instalación de una lista de paquetes de sistema operativo especificada por el usuario
+ Las aplicaciones no se admiten ni se migran

Se admiten con las siguientes limitaciones:
+ El script de migración clona la información sobre los volúmenes de EBS, pero excluye los puntos de montaje y los datos reales contenidos en los volúmenes.
+ Las instancias escaladas basadas en el tiempo y en la carga se migran, pero las reglas de escalado asociadas a estas instancias no se migran. Puede modificar el grupo de escalado automático para obtener resultados similares.
+ Las entidades de IAM definidas en la página de **permisos** de la pila en la OpsWorks consola no se crean ni se generan.
+  El script de migración solo es capaz de aprovisionar aplicaciones de una sola capa en Systems Manager. Por ejemplo, si ejecuta el script dos veces para dos capas de la misma pila, obtendrá dos aplicaciones diferentes en Systems Manager. 

# Introducción
<a name="migrating-to-systems-manager-getting-started"></a>

 El script de migración,`stack_exporter.py`, es un script de Python que se puede ejecutar de forma local o en una EC2 instancia. Antes de ejecutar el script, asegúrese de que se cumplen todos los requisitos previos. Para obtener más información acerca de los requisitos previos, consulte [Requisitos previos](migrating-to-systems-manager-prerequisites.md). 

Los pasos de las siguientes secciones le muestran cómo migrar sus OpsWorks pilas a Systems Manager Application Manager.

**Topics**
+ [Paso 1: Preparar el entorno para ejecutar el script](w2ab1c14c43c17b9.md)
+ [Paso 2: Descargar el script de migración](migrating-to-systems-manager-download-script.md)
+ [Paso 3: Configurar el entorno para ejecutar el script](migrating-to-systems-manager-script-parameters.md)
+ [Paso 4: Ejecutar el script](migrating-to-systems-manager-run-script.md)
+ [Paso 5: Aprovisione una CloudFormation pila](migrating-to-systems-manager-provision-stack.md)
+ [Paso 6: Revisar los recursos aprovisionados](migrating-to-systems-manager-provision-resources.md)
+ [Paso 7: Comenzar una instancia](migrating-to-systems-manager-start-instance.md)
+ [Paso 8: Revisar la instancia](migrating-to-systems-manager-review-instance.md)
+ [Paso 9: Supervise y ejecute las operaciones en sus instancias mediante Systems Manager Application Manager](migrating-to-systems-manager-monitor.md)

# Paso 1: Preparar el entorno para ejecutar el script
<a name="w2ab1c14c43c17b9"></a>

Preparar el entorno mediante la ejecución de los comandos adecuados para el sistema operativo.

**Topics**
+ [Amazon Linux 2](#w2ab1c14c43c17b9b7)
+ [Amazon Linux](#w2ab1c14c43c17b9b9)
+ [Ubuntu 18.04, 20.04, 22.04](#w2ab1c14c43c17b9c11)
+ [Red Hat Enterprise Linux 8](#w2ab1c14c43c17b9c13)
+ [Windows 10 Enterprise y Windows Server 2019.](#w2ab1c14c43c17b9c15)

## Amazon Linux 2
<a name="w2ab1c14c43c17b9b7"></a>

```
sudo su
python3 -m pip install pipenv
PATH="$PATH:/usr/local/bin"
yum update
yum install git
```

## Amazon Linux
<a name="w2ab1c14c43c17b9b9"></a>

```
sudo su
PATH="$PATH:/usr/local/bin"
export LC_ALL=en_US.utf-8
export LANG=en_US.utf-8
yum update
yum list | grep python3
yum install python36 // Any python version
yum install git
```

Para la versión 3.6 de Python, ejecute también:

```
python3 -m pip install pipenv==2022.4.8
```

Para la versión 3.7 y posteriores de Python, ejecute también:

```
python3 -m pip install pipenv
```

## Ubuntu 18.04, 20.04, 22.04
<a name="w2ab1c14c43c17b9c11"></a>

```
sudo su
export PATH="${HOME}/.local/bin:$PATH"
apt-get update
apt install python3-pip
apt-get install git // if git is not installed
python3 -m pip install --user pipenv==2022.4.8
```

## Red Hat Enterprise Linux 8
<a name="w2ab1c14c43c17b9c13"></a>

```
sudo su
sudo dnf install python3 
PATH="$PATH:/usr/local/bin"
yum update
yum install git
python3 -m pip install pipenv==2022.4.8
```

## Windows 10 Enterprise y Windows Server 2019.
<a name="w2ab1c14c43c17b9c15"></a>

**nota**  
Para Windows Server 2019, instale Python 3.6.1 o una versión posterior.

```
pip install pipenv
```

Descargue e instale [Git](https://git-scm.com/download/win), si aún no está instalado.

Si utiliza Git como fuente del libro de recetas, añada su servidor Git a un archivo `known_hosts` antes de ejecutar el script en Windows. Puede utilizarla PowerShell para crear la siguiente función.

```
function add_to_known_hosts($server){
    $new_host=$(ssh-keyscan $server 2> $null)
    $existing_hosts=''
    if (!(test-path "$env:userprofile\.ssh")) {
        md "$env:userprofile\.ssh"
    }
    if ((test-path "$env:userprofile\.ssh\known_hosts")) {
        $existing_hosts=Get-Content "$env:userprofile\.ssh\known_hosts"
    }
    $host_added=0
    foreach ($line in $new_host) {
        if (!($existing_hosts -contains $line)) {
            Add-Content -Path "$env:userprofile\.ssh\known_hosts" -Value $line
            $host_added=1
    }
   }
   if ($host_added) {
       echo "$server has been added to known_hosts."
   } else {
       echo "$server already exists in known_hosts."
   }
}
```

Luego puedes proporcionar tu servidor Git (por ejemplo, github.com, git-codecommit). *repository\$1region*.amazonaws.com) al ejecutar la función.

```
add_to_known_hosts "myGitServer"
```

# Paso 2: Descargar el script de migración
<a name="migrating-to-systems-manager-download-script"></a>

Descargue el archivo zip que contiene el script de migración y todos los archivos relevantes ejecutando el siguiente comando.

```
aws s3api get-object \
    --bucket export-opsworks-stacks-bucket-prod-us-east-1 \
    --key export_opsworks_stacks_script.zip export_opsworks_stacks_script.zip
```

Si utiliza Linux, instale la utilidad unzip mediante los siguientes comandos.

```
sudo apt-get install unzip
sudo yum install unzip
```

Descomprima los archivos mediante el comando apropiado para el sistema operativo del cliente.

**Para Linux**, utilice el siguiente comando.

```
unzip export_opsworks_stacks_script.zip
```

**Para Windows**, utilice el comando in. `Expand-Archive` PowerShell

```
Expand-Archive -LiteralPath PathToZipFile -DestinationPath PathToDestination
```

Una vez descomprimido el archivo, estarán disponibles los siguientes directorios y archivos.
+ README.md
+ Licencia 
+ NOTICE
+ requirements.txt
+ plantillas/
  + OpsWorksCFNTemplate.yaml
  +  Montar .yaml EBSVolumes 
+ opsworks/
+ cloudformation/
+ instances\$1tab/
+ cfn\$1stack\$1deployer.py 
+ s3.py
+ stack\$1exporter\$1context.py
+ stack\$1exporter.py

# Paso 3: Configurar el entorno para ejecutar el script
<a name="migrating-to-systems-manager-script-parameters"></a>

Configurar el entorno para ejecutar el script mediante el siguiente comando.

```
pipenv install -r requirements.txt
pipenv shell
```

**nota**  
 Actualmente, el script solo puede aprovisionar aplicaciones de una sola capa en Application Manager. Por ejemplo, si ejecuta el script dos veces para dos capas de la misma pila, el script crea dos aplicaciones diferentes en Application Manager. 

Tras configurar el entorno, revise los parámetros del script. Puede ver las opciones disponibles para el script de migración ejecutando el comando `python3 stack_exporter.py --help`.


****  

| Parámetro | Description (Descripción) | Obligatorio | Tipo | Predeterminado | 
| --- | --- | --- | --- | --- | 
| --layer-id | Exporta una CloudFormation plantilla para este ID de OpsWorks capa. | Sí | cadena |  | 
| --region | La AWS región de la OpsWorks pila. Si la región de la OpsWorks pila y la región del punto final de la API son diferentes, utilice la región de la pila. Es la misma región que los demás recursos que forman parte de tu OpsWorks pila (por ejemplo, EC2 instancias y subredes). | No | cadena | us-east-1 | 
| --provision-application | De forma predeterminada, el script aprovisiona la aplicación exportada por la CloudFormation plantilla. Pase este parámetro al script con el valor FALSE para omitir el aprovisionamiento de la CloudFormation plantilla. | No | Booleano | TRUE | 
| --launch-template | Este parámetro define si se debe utilizar una plantilla de lanzamiento existente o crear una nueva plantilla de lanzamiento. Puede crear una nueva plantilla de lanzamiento que utilice las propiedades de instancia recomendadas o que utilice propiedades de instancia que coincidan con una instancia en línea.  Los valores válidos son: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/migrating-to-systems-manager-script-parameters.html)  | No | cadena | RECOMMENDED | 
| --system-updates |  Define si se deben realizar actualizaciones del kernel y del paquete cuando la instancia arranca. Los valores válidos son: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/migrating-to-systems-manager-script-parameters.html)  | No | cadena | ALL\$1UPDATES | 
| --http-username | El nombre del SecureString parámetro Systems Manager que almacena el nombre de usuario utilizado para autenticarse en el archivo HTTP que contiene los libros de cocina personalizados. | No | cadena |  | 
| --http-password | El nombre del SecureString parámetro Systems Manager que almacena la contraseña utilizada para autenticarse en el archivo HTTP que contiene los libros de cocina personalizados. | No | cadena |  | 
| --repo-private-key | El nombre del SecureString parámetro Systems Manager que almacena la clave SSH utilizada para autenticarse en el repositorio que contiene los libros de cocina personalizados. Si el repositorio está activado GitHub, debes generar una nueva clave Ed25519 SSH. Si no generas una clave Ed25519 SSH nueva, se producirá un error en la conexión con el GitHub repositorio. | No | cadena |  | 
| --lb-type | El tipo de equilibrador de carga, en su caso, que debe crearse al migrar el equilibrador de carga existente. Los valores válidos son: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/migrating-to-systems-manager-script-parameters.html)  | No | cadena | ALB | 
| --lb-access-logs-path | La ruta a un bucket de S3 existente y el prefijo para almacenar los registros de acceso al equilibrador de carga. El bucket de S3 y el equilibrador de carga deben estar en la misma región. Si no proporciona un valor y el valor del --lb-type parámetro está establecido en None, el script crea un nuevo bucket y un prefijo de S3. Asegúrese de que haya una política de bucket adecuada para este prefijo.  | No | cadena |  | 
| --enable-instance-protection | Si se establece enTRUE, el script crea una política de terminación personalizada (función Lambda) para el grupo de Auto Scaling. EC2las instancias con una protected\$1instance etiqueta están protegidas de los eventos de escalamiento progresivo. Agrega una protected\$1instance etiqueta a cada EC2 instancia que desees proteger de los eventos de escalamiento horizontal. | No | Booleano | FALSE | 
| --command-logs-bucket | El nombre de un bucket de S3 existente para almacenar los AWS ApplyChefRecipe y registros MountEBSVolumes. Si no proporciona ningún valor, el script crea un nuevo bucket de S3. | No | cadena | aws-opsworks-application-manager-logs-account-id | 
| --custom-json-bucket | El nombre de un bucket de S3 existente para almacenar JSON personalizado. Si no proporciona ningún valor, el script crea un nuevo bucket de S3. | No | cadena | aws-apply-chef-application-manager-transition-data-account-id | 

**Notas:**
+ Si utilizas un GitHub repositorio privado, debes crear una nueva clave de `Ed25519` host para SSH. Esto se debe a que se GitHub cambiaron las claves compatibles con SSH y se eliminó el protocolo Git no cifrado. Para obtener más información sobre la clave de `Ed25519` host, consulta la entrada del GitHub blog Cómo [mejorar la seguridad del protocolo Git en GitHub](https://github.blog/2021-09-01-improving-git-protocol-security-github/). Tras generar una nueva clave de `Ed25519` host, cree un parámetro `SecureString` de Systems Manager para la clave SSH y utilice el nombre del parámetro `SecureString` como valor del parámetro `--repo-private-key`. Para obtener más información sobre cómo crear un `SecureString` parámetro de Systems Manager, consulte [Crear un SecureString parámetro (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html#param-create-cli-securestring) o [Crear un parámetro de Systems Manager (consola)](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-create-console.html) en la *Guía del AWS Systems Manager usuario*.
+ Los parámetros `--http-username`, `--http-password` y `--repo-private-key` se refieren al nombre de un parámetro de `SecureString` en Systems Manager. El script de migración utiliza estos parámetros al ejecutar el documento `AWS-ApplyChefRecipes`. 
+ El `--http-username` parámetro requiere que especifique también un valor para el `--http-password` parámetro.
+  El `--http-password` parámetro requiere que especifique también un valor para el `--http-username` parámetro. 
+ No establezca valores para ambos `--http-password` y `--repo-private-key`. Proporcione un nombre de parámetro `SecureString` de Systems Manager para una clave SSH (`--repo-private-key`) o un nombre de usuario del repositorio (`--http-username`) y una contraseña (`--http-password`).

# Paso 4: Ejecutar el script
<a name="migrating-to-systems-manager-run-script"></a>

Al ejecutar `python3 stack_exporter.py`, puede aprovisionar la aplicación o crear una plantilla inicial estableciendo el valor del parámetro `--provision-application` en `FALSE`.

**Ejemplo 1: Aprovisionamiento de una aplicación Systems Manager Application Manager**

El siguiente comando obtiene información sobre una OpsWorks capa existente y aprovisiona una aplicación mediante la OpsWorks arquitectura más reciente, con lo que se obtiene un resultado similar al de la versión de Chef configurada para la pila. El script aprovisiona todos los recursos necesarios, como los grupos de Auto Scaling CloudFormation, mediante el uso y, a continuación, registra la aplicación en el Administrador de aplicaciones de Systems Manager.

Sustituya *stack-region* y *layer-id* por los valores de la OpsWorks pila y la capa. 

```
python3 stack_exporter.py \
     --layer-id layer-id \
     --region stack-region
```

**Ejemplo 2: generar una plantilla**

El siguiente comando obtiene información sobre una OpsWorks capa existente y genera una CloudFormation plantilla. La plantilla, si se aprovisiona, logra un resultado similar al de usar Chef 14. En este ejemplo, no se aprovisiona ningún recurso porque el `--provision-application` parámetro está establecido en `FALSE`.

Sustituya *stack-region* y *layer-id* por los valores de la OpsWorks pila y la capa. 

```
python3 stack_exporter.py \
    --layer-id layer-id \
    --region stack-region \
    --provision-application FALSE
```

Tras ejecutar el comando, puede revisar la plantilla en la biblioteca de plantillas de Application Manager en Systems Manager y también puede aprovisionar la plantilla. Para obtener más información sobre la visualización de la biblioteca de plantillas, consulte [Trabajar con la biblioteca de plantillas](https://docs.aws.amazon.com/systems-manager/latest/userguide/application-manager-working-templates-overview.html#application-manager-working-stacks-template-library-working) en la *AWS Systems Manager Guía del usuario*.

# Paso 5: Aprovisione una CloudFormation pila
<a name="migrating-to-systems-manager-provision-stack"></a>

**nota**  
Solo necesita completar este paso si establece el `--provision-application` parámetro del script en `FALSE`.

Al especificar el `--provision-application` parámetro con un valor de`FALSE`, la salida del script proporciona el nombre y la URL de la CloudFormation plantilla. Esta plantilla representa una propuesta de reemplazo para la OpsWorks pila y la capa existentes.

Puede aprovisionar la plantilla mediante la biblioteca de plantillas de Application Manager (recomendada) o mediante CloudFormation. Para obtener más información sobre cómo trabajar con la biblioteca de plantillas, consulte [Trabajar con la biblioteca de plantillas](https://docs.aws.amazon.com/systems-manager/latest/userguide/application-manager-working-templates-overview.html#application-manager-working-stacks-template-library-working) en la *AWS Systems Manager Guía del usuario*.

# Paso 6: Revisar los recursos aprovisionados
<a name="migrating-to-systems-manager-provision-resources"></a>

Ahora ya puede revisar los recursos aprovisionados.

1. Revise los recursos de la pila aprovisionada mediante la CloudFormation consola.

   1. **Abre la CloudFormation consola en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) y selecciona Stacks.**

   1. Elija la pagina **Pilas** y, a continuación, elija la pestaña **Recursos**.

   1. En la pestaña **Recursos**, revise los recursos listados para su pila. La lista de recursos incluye un grupo de EC2 Auto Scaling, que puede consultar en la consola de Auto Scaling, o AWS CLI.

1. Revise los recursos de la aplicación mediante Systems Manager Application Manager.

   1.  Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/). 

   1. En el panel de navegación, elija **Administrador de aplicaciones**.

   1.  En la sección **Aplicaciones**, seleccione la aplicación personalizada. El administrador de aplicaciones abre la pestaña **Descripción general**.

   1.  Elija la pestaña **Recursos**. La pestaña **Recursos** muestra todos los recursos que se migraron para la OpsWorks pila y la capa. El nombre de la aplicación incluye el nombre de la OpsWorks pila y tiene el formato *app* - *stack-name* -, *suffix* donde *suffix* representa los seis primeros caracteres del ID de la pila. Para obtener más información sobre la visualización de los recursos en Application Manager, consulte [Visualización de los recursos](https://docs.aws.amazon.com/systems-manager/latest/userguide/application-manager-working-viewing-resources.html) de la aplicación en la *AWS Systems Manager Guía del usuario*. 

# Paso 7: Comenzar una instancia
<a name="migrating-to-systems-manager-start-instance"></a>

Una vez que haya aprovisionado una instancia, estará listo para probarla. En este momento, no hay ninguna instancia en ejecución.

Para poner sus instancias en línea, ajuste los valores `Min`, `Max` y `Desired capacity` del grupo de escalado automático a un número que tenga sentido para su aplicación. Al principio, puede que desee establecer estos valores en 1 para poner en línea una sola instancia y comprobar que la instancia realiza todas las acciones esperadas, incluida la ejecución de las recetas personalizadas de Chef. 

# Paso 8: Revisar la instancia
<a name="migrating-to-systems-manager-review-instance"></a>

Una vez que haya iniciado una instancia, verifique que se ejecute según lo previsto.

1.  Revisa el Chef `startup` y `terminate` los registros ubicados en el bucket de S3 especificado por el `--command-logs-bucket` parámetro del script. De forma predeterminada, los registros se almacenan en un bucket con el nombre `aws-opsworks-application-manager-logs-account-id`.

   1. Inicie sesión en la consola de Amazon S3 Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

   1.  Elija el bucket que contiene sus registros.

   1.  Navega hasta el `ApplyChefRecipes` prefijo para ver sus registros. 

1. Compruebe la conectividad y el estado del Equilibrador de carga de aplicación.

   Para ver los registros de acceso para el equilibrador de carga, siga estos pasos. Puede especificar el bucket de S3 donde desea almacenar los registros de acceso al equilibrador de carga mediante el `--lb-access-logs-path` parámetro del script.

   1. Inicie sesión en la consola de Amazon S3 Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

   1.  Elija su bucket de S3 y, a continuación, navegue hasta el prefijo que contiene los registros. 

1.  Compruebe que la instancia supera todas las comprobaciones de estado de escalado automático y Equilibrador de carga de aplicación (si ha configurado alguna). 

   Puede ver información sobre el estado de escalado automático en la nueva pestaña **Instancias**.

   1.  Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/). 

   1. En el panel de navegación, elija **Aplicaciones**.

   1.  En la sección **Aplicaciones**, elija **Aplicaciones personalizadas**. 

   1.  Elija su aplicación en la lista. El administrador de aplicaciones abre la pestaña **Descripción general**. 

   1.  Seleccione la pestaña **Instancias** para ver información sobre el estado de escalado automático.

Tras comprobar que las recetas Chef se ejecutan correctamente, puede disminuir la capacidad del grupo de escalado automático para finalizar la instancia. Si tiene alguna receta de terminación personalizada, compruebe que la receta funcione como se espera.

# Paso 9: Supervise y ejecute las operaciones en sus instancias mediante Systems Manager Application Manager
<a name="migrating-to-systems-manager-monitor"></a>

Ahora puede supervisar y ejecutar las operaciones en sus instancias mediante una nueva pestaña de **instancias** en la página del administrador de aplicaciones. Para obtener más información sobre cómo trabajar con la pestaña **Instancias**, consulte [Trabajar con las instancias de la aplicación](https://docs.aws.amazon.com/systems-manager/latest/userguide/application-manager-working-instances.html) en la *Guía del AWS Systems Manager usuario*.

Puede usar la pestaña **Instancias** para ver varias AWS instancias en un solo lugar. Con esta pestaña, puede ver información sobre el estado de las instancias y solucionar problemas.

![\[Application dashboard showing instance status with running, healthy, and OK indicators at 100%.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/instances-tab.png)


Sigue estos pasos para ver la pestaña **Instancias**.

1.  Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/). 

1. En el panel de navegación, elija **Aplicaciones**.

1.  En la sección **Aplicaciones**, elija **Aplicaciones personalizadas**. 

1.  Elija su aplicación en la lista. El administrador de aplicaciones abre la pestaña **Descripción general**. 

1.  Seleccione la pestaña **Instancias** para ver información sobre el estado y el estado de EC2 la instancia.

# Preguntas frecuentes
<a name="migrating-to-systems-manager-faqs"></a>

A continuación, se FAQs proporcionan respuestas a algunas preguntas frecuentes.

**Topics**
+ [¿Qué AWS OpsWorks Stacks versiones puedo migrar?](#w2ab1c14c43c19b7)
+ [¿Qué versiones de Chef pueden usar mis instancias migradas?](#w2ab1c14c43c19b9)
+ [¿Qué tipos de repositorios puedo migrar?](#w2ab1c14c43c19c11)
+ [¿Puedo seguir usando un repositorio Git privado?](#w2ab1c14c43c19c13)
+ [¿Qué claves SSH puedo usar para acceder a mis instancias?](#w2ab1c14c43c19c15)
+ [¿Por qué mis instancias se amplían y reducen automáticamente?](#w2ab1c14c43c19c17)
+ [¿Puedo desactivar escalado automático?](#w2ab1c14c43c19c19)
+ [¿Puedo actualizar el núcleo y los paquetes en las EC2 instancias lanzadas?](#w2ab1c14c43c19c21)
+ [¿Por qué los volúmenes de EBS de mis instancias no contienen ningún dato?](#w2ab1c14c43c19c23)
+ [¿Por qué no están montados los volúmenes de EBS descritos en mi plantilla de lanzamiento?](#w2ab1c14c43c19c25)
+ [¿Dónde puedo encontrar la receta Chef y los registros de volúmenes Mount EBS?](#w2ab1c14c43c19c27)
+ [¿Dónde puedo encontrar el registro de depuración del script de migración?](#w2ab1c14c43c19c29)
+ [¿El script de migración admite el control CloudFormation de versiones de plantillas?](#w2ab1c14c43c19c31)
+ [¿Puedo migrar varias capas?](#w2ab1c14c43c19c33)
+ [¿Cómo creo un `SecureString` parámetro?](#w2ab1c14c43c19c35)
+ [¿Cómo puedo proteger las instancias del nuevo grupo de escalado automático de los eventos de terminación?](#w2ab1c14c43c19c37)
+ [¿Qué equilibradores de carga están disponibles con el script de migración?](#w2ab1c14c43c19c39)
+ [¿Se migran las recetas configuradas a medida?](#w2ab1c14c43c19c41)
+ [¿Puedo ejecutar recetas de despliegue y desdespliegue en mis instancias recién creadas?](#w2ab1c14c43c19c43)
+ [¿Puedo cambiar las subredes que abarca mi grupo de escalado automático?](#w2ab1c14c43c19c45)

## ¿Qué AWS OpsWorks Stacks versiones puedo migrar?
<a name="w2ab1c14c43c19b7"></a>

 Solo puede migrar las pilas de Chef 11.10 y Chef 12, Amazon Linux, Amazon Linux 2, Ubuntu y Red Hat Enterprise Linux 7. 

## ¿Qué versiones de Chef pueden usar mis instancias migradas?
<a name="w2ab1c14c43c19b9"></a>

 Las instancias migradas pueden usar las versiones 11 a 14 de Chef. 

**nota**  
La migración de pilas de Windows no es compatible.

## ¿Qué tipos de repositorios puedo migrar?
<a name="w2ab1c14c43c19c11"></a>

 Puede migrar los tipos de repositorios S3, Git y HTTP. 

## ¿Puedo seguir usando un repositorio Git privado?
<a name="w2ab1c14c43c19c13"></a>

Sí, puede seguir usando un repositorio Git privado.

Si utilizas un GitHub repositorio privado, debes crear una nueva clave de `Ed25519` host para SSH. Esto se debe a que se GitHub cambiaron las claves compatibles con SSH y se eliminó el protocolo Git no cifrado. Para obtener más información sobre la clave de `Ed25519` host, consulta la entrada del GitHub blog Cómo [mejorar la seguridad del protocolo Git en GitHub](https://github.blog/2021-09-01-improving-git-protocol-security-github/). Tras generar una nueva clave de `Ed25519` host, cree un `SecureString` parámetro de Systems Manager para esta clave SSH y utilice el nombre del parámetro como valor del `--repo-private-key` parámetro. Para obtener más información sobre cómo crear un `SecureString` parámetro de Systems Manager, consulte [Crear un SecureString parámetro (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html#param-create-cli-securestring) en la *Guía del AWS Systems Manager usuario*.

Para cualquier otro tipo de repositorio de Git, cree un `SecureString` parámetro de Systems Manager para esta clave SSH y utilice el nombre del parámetro como valor para el `--repo-private-key` parámetro del script.

## ¿Qué claves SSH puedo usar para acceder a mis instancias?
<a name="w2ab1c14c43c19c15"></a>

Al ejecutar el script, este migra las claves SSH y las instancias configuradas en la pila. Puede usar las claves SSH para acceder a su instancia. Si se proporcionan claves SSH para la pila y la instancia, el script usa las claves de la pila. Si no está seguro de qué claves SSH debe usar, consulte las instancias en la EC2 consola ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)). La página de **detalles** de la EC2 consola muestra las claves SSH de la instancia.

## ¿Por qué mis instancias se amplían y reducen automáticamente?
<a name="w2ab1c14c43c19c17"></a>

Escalado automático escala las instancias en función de las reglas de escalado del grupo de escalado automático. Puede establecer los valores de **capacidad **mínima**, **máxima** y deseada** para su grupo. El grupo de escalado automático escala automáticamente su capacidad en consecuencia cuando actualiza estos valores.

## ¿Puedo desactivar escalado automático?
<a name="w2ab1c14c43c19c19"></a>

Puede desactivar escalado automático configurando los valores de **capacidad **mínima**, **máxima** y deseada** del grupo de escalado automático en el mismo número. Por ejemplo, si quiere tener siempre diez instancias, establezca los valores de **capacidad **mínima**, **máxima** y deseada** en diez. 

## ¿Puedo actualizar el núcleo y los paquetes en las EC2 instancias lanzadas?
<a name="w2ab1c14c43c19c21"></a>

 De forma predeterminada, las actualizaciones del núcleo y los paquetes se producen cuando se inicia la EC2 instancia. Siga estos pasos para actualizar el núcleo o los paquetes en una EC2 instancia lanzada. Por ejemplo, es posible que desee aplicar actualizaciones después de ejecutar, implementar o configurar recetas. 

1.  Conéctese a su EC2 instancia. 

1.  Cree la siguiente `perform_upgrade` función y ejecútela en su instancia. 

   ```
   perform_upgrade() {
       #!/bin/bash
       if [ -e '/etc/system-release' ] || [ -e '/etc/redhat-release' ]; then
        sudo yum -y update
       elif [ -e '/etc/debian_version' ]; then
        sudo apt-get update
        sudo apt-get dist-upgrade -y
       fi
   }
   perform_upgrade
   ```

1.  Una vez que se actualicen el núcleo y el paquete, es posible que tengas que reiniciar la EC2 instancia. Para comprobar si es necesario reiniciar, crea la siguiente `reboot_if_required` función y ejecútala en la EC2 instancia. 

   ```
   reboot_if_required () {
    #!/bin/bash
    if [ -e '/etc/debian_version' ]; then
      if [ -f /var/run/reboot-required ]; then
        echo "reboot is required"
      else
        echo "reboot is not required"
      fi
    elif [ -e '/etc/system-release' ] || [ -e '/etc/redhat-release' ]; then
     export LC_CTYPE=en_US.UTF-8
     export LC_ALL=en_US.UTF-8
     LATEST_INSTALLED_KERNEL=`rpm -q --last kernel | perl -X -pe 's/^kernel-(\S+).*/$1/' | head -1`
     CURRENTLY_USED_KERNEL=`uname -r`
     if [ "${LATEST_INSTALLED_KERNEL}" != "${CURRENTLY_USED_KERNEL}" ];then
        echo "reboot is required"
     else
        echo "reboot is not required"
     fi
    fi
   }
   reboot_if_required
   ```

1.  Si ejecutas los `reboot_if_required` resultados en un `reboot is required` mensaje, reinicia la EC2 instancia. Si recibes un `reboot is not required` mensaje, no necesitas reiniciar la EC2 instancia. 

## ¿Por qué los volúmenes de EBS de mis instancias no contienen ningún dato?
<a name="w2ab1c14c43c19c23"></a>

Al ejecutar el script, este migra la configuración de los volúmenes de EBS y crea una arquitectura sustitutiva para la OpsWorks pila y la capa. El script no migra las instancias reales ni los datos contenidos en las instancias. El script solo migra la configuración de los volúmenes de EBS a nivel de capa y adjunta los volúmenes de EBS vacíos a las instancias lanzadas. EC2 

Siga los siguientes pasos para extraer datos de los volúmenes de EBS de las instancias anteriores.

1. Cree una instantánea de los volúmenes de EBS de instancias anteriores. Para obtener más información sobre la creación de una instantánea, consulte [Crear una instantánea de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html) en la *Guía del EC2 usuario de Amazon*.

1. Crear un volumen a partir de una instantánea Para obtener más información sobre cómo crear un volumen a partir de una instantánea, consulte [Crear un volumen a partir de una instantánea](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html#ebs-create-volume-from-snapshot) en la *Guía del EC2 usuario de Amazon*.

1. Vuelva a adjuntar el volumen que ha creado a la instancia. Para obtener más información sobre cómo adjuntar volúmenes, consulte [Adjuntar un volumen de Amazon EBS a una instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html) en la Guía * EC2 del usuario de Amazon*.

## ¿Por qué no están montados los volúmenes de EBS descritos en mi plantilla de lanzamiento?
<a name="w2ab1c14c43c19c25"></a>

 Si proporciona un identificador de plantilla de lanzamiento para el `--launch-template` parámetro de los volúmenes de EBS, el script adjunta los volúmenes de EBS, pero no los monta. Puede montar los volúmenes de EBS adjuntos ejecutando el `MountEBSVolumes` RunCommand documento que el script creó para la instancia lanzada. EC2 

 Si no establece el `--launch-template` parámetro, el script crea una plantilla y, cuando el grupo Auto Scaling lanza una nueva EC2 instancia, el grupo Auto Scaling adjunta automáticamente los volúmenes de EBS y, a continuación, ejecuta el `SetupAutomation` comando para montar los volúmenes adjuntos en los puntos de montaje configurados en la configuración de la capa. 

## ¿Dónde puedo encontrar la receta Chef y los registros de volúmenes Mount EBS?
<a name="w2ab1c14c43c19c27"></a>

OpsWorks entrega los registros a un depósito de S3 que puede especificar proporcionando un valor para el `--command-logs-bucket` parámetro. El nombre predeterminado del bucket de S3 tiene el formato: `aws-opsworks-stacks-application-manager-logs-account-id`. Los registros de recetas de Chef se almacenan en el `ApplyChefRecipes` prefijo. Los registros de volumen de Mount EBS se almacenan en el `MountEBSVolumes` prefijo. Todas las capas que se migran de una pila entregan los registros al mismo bucket de S3.

**nota**  
La configuración del ciclo de vida del bucket de S3 incluye una regla para eliminar los registros después de 30 días. Si desea conservar los registros durante más de 30 días, debe actualizar la regla en la configuración del ciclo de vida del bucket de S3.
Actualmente, OpsWorks solo registra Chef `setup` y `terminate` recetas.

## ¿Dónde puedo encontrar el registro de depuración del script de migración?
<a name="w2ab1c14c43c19c29"></a>

El script coloca los registros de depuración en un bucket denominado `aws-opsworks-stacks-transition-logs-account-id`. Puede encontrar los registros de depuración en la `migration_script` carpeta del bucket de S3, en las carpetas que coinciden con el nombre de la capa que ha migrado.

## ¿El script de migración admite el control CloudFormation de versiones de plantillas?
<a name="w2ab1c14c43c19c31"></a>

El script genera documentos del tipo Systems Manager CloudFormation que sustituyen a la capa o pila que se desea migrar. Al volver a ejecutar el script, incluso con los mismos parámetros, se exporta una nueva versión de la plantilla de capa exportada anteriormente. Las versiones de la plantilla se almacenan en el mismo bucket de S3 que los registros del script.

## ¿Puedo migrar varias capas?
<a name="w2ab1c14c43c19c33"></a>

El `--layer-id` parámetro del script pasa a una sola capa. Para migrar varias capas, vuelva a ejecutar el script y pase una diferente `--layer-id`.

Las capas que forman parte de la misma OpsWorks pila se muestran en la misma aplicación en Application Manager.

1.  Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/). 

1. En el panel de navegación, elija **Aplicaciones**.

1.  En la sección **Aplicaciones**, elija **Aplicaciones personalizadas**. 

1.  Elija su aplicación. El nombre de la aplicación comienza por `app-stack-name-first-six-characters-stack-id`. 

1.  El elemento de nivel superior, empezando por la aplicación, muestra todos los componentes que corresponden a su OpsWorks pila. Esto incluye los componentes correspondientes a su OpsWorks capa.

1.  Elija el componente correspondiente a la capa para ver los recursos de la capa. Los componentes que representan OpsWorks las capas también están visibles en la sección de **aplicaciones personalizadas** como aplicaciones individuales.

## ¿Cómo creo un `SecureString` parámetro?
<a name="w2ab1c14c43c19c35"></a>

Puede usar Systems Manager para crear un `SecureString` parámetro. Para obtener más información sobre cómo crear un `SecureString` parámetro de Systems Manager, consulte [Crear un SecureString parámetro (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html#param-create-cli-securestring) o [Crear un parámetro de Systems Manager (consola)](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-create-console.html) en la *Guía del AWS Systems Manager usuario*.

Debe proporcionar un parámetro `SecureString` como valor para los parámetros `--http-username`, `--http-password`, o `--repo-private-key`.

## ¿Cómo puedo proteger las instancias del nuevo grupo de escalado automático de los eventos de terminación?
<a name="w2ab1c14c43c19c37"></a>

Para proteger las instancias, defina el `--enable-instance-protection` parámetro `TRUE` y añada una clave de `protected_instance` etiqueta a cada EC2 instancia que desee proteger de los eventos de terminación. Cuando configura el `--enable-instance-protection` parámetro en una clave de `protected_instance` etiqueta `TRUE` y la agrega, el script agrega una política de terminación personalizada a su nuevo grupo de escalado automático y suspende el `ReplaceUnhealthy` proceso. Las instancias con la clave de `protected_instance` etiqueta están protegidas de los siguientes eventos de terminación: 
+ Eventos de reducción horizontal
+ Actualización de instancias
+ Reequilibrio
+ Duración del almacén de instancias
+ Permitir la terminación de instancias de listados
+ Terminación y reemplazo de instancias en mal estado

**nota**  
Debe configurar la clave de `protected_instance` etiqueta en las instancias que desee proteger. La clave distingue entre mayúsculas y minúsculas. Cualquier instancia con esa clave de etiqueta está protegida independientemente del valor de la etiqueta.  
 Para reducir el tiempo de ejecución de la política de terminación personalizada, puede aumentar el número predeterminado de instancias que utiliza la función de Lambda para filtrar las instancias protegidas actualizando el valor de la variable de `default_sample_size` código de la función. El valor predeterminado es 15. Si aumenta `default_sample_size`, es posible que necesite aumentar la memoria asignada a la función de Lambda, lo que aumentaría el costo de la función de Lambda. Para obtener más información acerca de los precios de AWS Lambda , consulte [Precios de AWS Lambda](https://aws.amazon.com/).

## ¿Qué equilibradores de carga están disponibles con el script de migración?
<a name="w2ab1c14c43c19c39"></a>

El script ofrece tres opciones de equilibrador de carga.
+  (Recomendado) Cree un nuevo Equilibrador de carga de aplicación. De forma predeterminada, el script crea un nuevo Equilibrador de carga de aplicación. También puede configurar el parámetro `--lb-type` para `ALB`. Para obtener más información sobre equilibradores de carga de aplicación, consulte [¿Qué es un equilibrador de carga de aplicación?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) en la *Guía del usuario de equilibradores de carga elásticos*. 
+  Si un Equilibrador de carga de aplicación no es una opción, cree un Equilibrador de carga clásico configurando el parámetro `--lb-type` en. `Classic` Si selecciona esta opción, el Classic Load Balancer existente adjunto a la OpsWorks capa se mantiene separado de la aplicación. Para obtener más información sobre equilibradores de carga de aplicación, consulte [¿Qué es un equilibrador de carga clásico?](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/introduction.html) en la *Guía del usuario de equilibradores de carga elásticos: equilibradores de carga clásicos*. 
+  Puede adjuntar un equilibrador de carga de cargas existente configurando `--lb-type` el parámetro en `None`. 
**importante**  
 Recomendamos crear nuevos balanceadores de carga de Elastic Load Balancing para las capas de AWS OpsWorks Stacks. Si decide utilizar un equilibrador de carga Elastic Load Balancing existente, primero debe confirmar que no se utiliza para otros fines y que no tiene instancias asociadas. Una vez que el balanceador de carga esté conectado a la capa, OpsWorks elimina todas las instancias existentes y configura el balanceador de carga para que gestione solo las instancias de la capa. Aunque es técnicamente posible utilizar la consola o la API de Elastic Load Balancing para modificar la configuración de un equilibrador de carga después de adjuntarlo a una capa, no debería hacerlo; los cambios no serán permanentes. 

**Para adjuntar tu balanceador de cargas de OpsWorks capas existente a tu grupo de Auto Scaling**

1. Ejecute el script de migración con el `--lb-type` parámetro establecido en `None`. Cuando el valor se establece en `None`, el script no clona ni crea un equilibrador de carga.

1. Una vez que el script despliegue la CloudFormation pila, actualice los grupos `Min` `Max` y `Desired capacity` valores de Auto Scaling y, a continuación, pruebe la aplicación.

1. Elija `Link to the template` que se muestra en la salida del script. Si ha cerrado su terminal, siga estos pasos para acceder a la plantilla.

   1.  Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/). 

   1. En el panel de navegación, elija **Administrador de aplicaciones**.

   1. Elija **CloudFormation pilas** y, a continuación, elija la **biblioteca de plantillas**.

   1. Elija **De mi propiedad** y localice su plantilla.

1. En la CloudFormation plantilla, selecciona **Editar** en el menú **Acciones**.

1. Actualice la `LabelBalancerNames` propiedad en la sección de `ApplicationAsg` recursos de la CloudFormation plantilla.

   ```
   ApplicationAsg:
      DependsOn: CustomTerminationLambdaPermission
      Properties:
      #(other properties in ApplicationAsg to remain unchanged)
         LoadBalancerNames:
           - load-balancer-name 
         HealthCheckType: ELB
   ```

1. Si quiere que la comprobación de estado de las instancias de grupo de escalado automático también utilice la comprobación del estado del equilibrador de carga, elimina la siguiente sección `HealthCheckType` e ingresa`ELB`. Si solo necesita controles de EC2 estado, no necesita cambiar la plantilla. 

1. Guarde los cambios. Al guardar, se crea una nueva versión predeterminada de la plantilla. Si es la primera vez que ejecuta el script de la capa y la primera vez que guarda los cambios en la consola, la versión más reciente es la 2.

1. En **Acciones**, seleccione **Aprovisionar pila**. 

1. Confirme que desea utilizar la versión predeterminada de la plantilla. Asegúrese de **seleccionar la opción Seleccionar una pila existente** y elija la CloudFormation pila que desee actualizar.

1. Elija **Siguiente** en cada una de las páginas siguientes hasta que aparezca la página de **revisión y aprovisionamiento**. En la página **Revisar y aprovisionar**, seleccione las dos opciones. **Reconozco que se AWS CloudFormation podrían crear recursos de IAM con nombres personalizados** y **entiendo que los cambios en la plantilla seleccionada pueden AWS CloudFormation provocar la actualización o la eliminación de AWS los recursos existentes**.

1. Elija **Aprovisionar pilas**.

Si necesita revertir las actualizaciones, siga estos pasos.

1. Elija **Acciones** y, a continuación, elija **Eliminar pila**.

1. Elija **Elija una de las versiones existentes** y, a continuación, elija la versión de plantilla anterior. 

1. **Seleccione una pila existente** y, a continuación, elija la CloudFormation pila que desee actualizar.

## ¿Se migran las recetas configuradas a medida?
<a name="w2ab1c14c43c19c41"></a>

Los libros de recetas personalizados no se pueden ejecutar durante un evento de configuración. La secuencia de comandos migra las recetas de configuración del libro de cocina personalizado y crea un manual de procedimientos de Systems Manager para usted. Sin embargo, debe ejecutar las recetas manualmente.

Siga estos pasos para ejecutar las recetas de configuración.

1.  Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/). 

1. En el panel de navegación, elija **Aplicaciones**.

1.  En la sección **Aplicaciones**, elija **Aplicaciones personalizadas**. 

1.  Elija su aplicación. El nombre de la aplicación comienza por `app-stack-name`. 

1.  Elija **Recursos** y, a continuación, elija el manual de procedimientos. **** 

1. Elija **Ejecutar automatización**.

1.  Elija la instancia IDs para la que desee ejecutar las recetas de configuración y, a continuación, elija **Ejecutar**. 

## ¿Puedo ejecutar recetas de despliegue y desdespliegue en mis instancias recién creadas?
<a name="w2ab1c14c43c19c43"></a>

El script puede crear tres posibles manuales de procedimientos en función de la configuración de la capa.
+  Configuración 
+  Configuración 
+  Finalizar 

El script también puede crear los siguientes parámetros de Systems Manager que contienen valores de entrada para el `AWS-ApplyChefRecipes Run Command` documento.
+  Configuración 
+  Implementación 
+  Configuración 
+  Undeploy 
+  Finalizar 

Cuando se produce un evento de escalado horizontal, el manual de procedimientos de la configuración se ejecuta automáticamente. Esto incluye la configuración y el despliegue de recetas de libros de cocina personalizadas desde la OpsWorks capa original. Cuando se produce un evento de escalado, el manual de procedimientos de finalización se ejecuta automáticamente. El manual de finalización de Automation contiene las recetas de apagado de la capa original OpsWorks .

Si desea ejecutar, anular la implementación o configurar recetas manualmente, siga estos pasos.

1. Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Aplicaciones**.

1.  En la sección **Aplicaciones**, elija **Aplicaciones personalizadas**. 

1.  Elija su aplicación. El nombre de la aplicación comienza por `app-stack-name-first-six-characters-stack-id`. El administrador de aplicaciones abre la pestaña **Descripción general**. 

1.  Elija **Recursos** y, a continuación, elija el manual de procedimientos de automatización. 

1. Elija **Ejecutar automatización**.

1.  Para el parámetro de entrada del manual de procedimientos de `applyChefRecipesPropertiesParameter`, consulte el parámetro de Systems Manager correcto. El nombre del parámetro de Systems Manager sigue el formato`/ApplyChefRecipes-Preset/OpsWorks-stack-name-OpsWorks-layer-name-first-six-characters-stack-id/event`, donde *event* está el valor de `Configure``Deploy`, o en `Undeploy` función de las recetas que desee ejecutar. 

1. Elija la instancia IDs en la que desee ejecutar las recetas y seleccione **Ejecutar**.

## ¿Puedo cambiar las subredes que abarca mi grupo de escalado automático?
<a name="w2ab1c14c43c19c45"></a>

De forma predeterminada, el grupo Auto Scaling abarca todas las subredes de la OpsWorks VPC apilada. Para actualizar las subredes que se deben abarcar, siga estos pasos. 

1. Elija `Link to the template` que se muestra en la salida del script. Si ha cerrado su terminal, siga estos pasos para acceder a la plantilla.

   1.  Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/). 

   1. En el panel de navegación, elija **Administrador de aplicaciones**.

   1. Elija **CloudFormation pilas** y, a continuación, elija la **biblioteca de plantillas**.

   1. Elija **De mi propiedad** y localice su plantilla.

1.  En **Acciones**, seleccione **Pila de aprovisionamiento**. 

1.  Confirme que desea utilizar la versión predeterminada de la plantilla. Selecciona **Selecciona una pila existente** y, a continuación, elige la CloudFormation pila que deseas actualizar. 
**nota**  
 Si ejecutó el script con el `--provision-application` parámetro establecido en`FALSE`, debe crear una CloudFormation pila nueva. 

1.  Para el `SubnetIDs` parámetro, proporcione una lista separada por comas de la subred IDs que desee que abarque el grupo de Auto Scaling. 

1.  Seleccione **Siguiente** hasta que aparezca la página de **revisión y aprovisionamiento**. 

1.  En la página **Revisar y aprovisionar**, seleccione **Acepto que CloudFormation podría crear recursos de IAM con nombres personalizados** y **entiendo que los cambios en la plantilla seleccionada pueden provocar la actualización o la eliminación de CloudFormation los** recursos existentes. AWS 

1.  Elija **Aprovisionar pilas**. 

# Resolución de problemas
<a name="migrating-to-systems-manager-troubleshooting"></a>

Este tema contiene algunos problemas habituales y las soluciones sugeridas.

**Topics**
+ [La entidad principal proporcionada no es válida](#w2ab1c14c43c21b7)
+ [No se puede eliminar la CloudFormation pila cuando las instancias protegidas por grupos de Auto Scaling están habilitadas](#w2ab1c14c43c21b9)
+ [Se produjo un error de acceso denegado al proporcionar el bucket y el prefijo de S3 existentes](#w2ab1c14c43c21c11)

## La entidad principal proporcionada no es válida
<a name="w2ab1c14c43c21b7"></a>

**Problema:** recibe un mensaje de error en el que se indica que la entidad principal que ha proporcionado no es válida.

**Causa:** esto ocurre porque el grupo de escalado automático no tiene un rol de servicio.

**Solución:** cree un grupo de escalado automático en la región en la que se produjo el error. La creación de un grupo de escalado automático crea el rol vinculado al servicio necesario para su política de terminación personalizada.

## No se puede eliminar la CloudFormation pila cuando las instancias protegidas por grupos de Auto Scaling están habilitadas
<a name="w2ab1c14c43c21b9"></a>

**Problema:** El `--enable-instance-protection` parámetro está establecido en `TRUE` y algunas de las EC2 instancias del grupo de Auto Scaling están protegidas con la clave de `protected_instance` etiqueta, lo que evita que la CloudFormation pila se elimine por completo.

**Causa:** las EC2 instancias tienen una clave de `protected_instance` etiqueta que las protege de los eventos de terminación. 

**Solución:** quita la clave de `protected_instance` etiqueta de las EC2 instancias. Esto permite reducir la escala del grupo de escalado automático. Una vez que el grupo Auto Scaling se reduzca, puede eliminar la CloudFormation pila. 

## Se produjo un error de acceso denegado al proporcionar el bucket y el prefijo de S3 existentes
<a name="w2ab1c14c43c21c11"></a>

**Problema:** recibe un `AccessDenied` error cuando proporciona un bucket y un prefijo de S3 existentes.

**Causa:** la política del bucket de S3 no proporciona los permisos necesarios para entregar los registros del equilibrador de carga al bucket.

**Solución:** actualice la política del bucket de S3 para permitir que el script entregue los registros de acceso al equilibrador de carga de carga al bucket. Para obtener más información sobre cómo actualizar la política de bucket, consulte [Registros de acceso del equilibrador de carga de aplicación](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html) en la *Guía del usuario de Elastic Load Balancing: Equilibrador de carga de aplicación*.