Paso 3: Configurar el entorno para ejecutar el script - AWS OpsWorks

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 3: Configurar el entorno para ejecutar el script

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 Descripción Obligatorio Tipo Valor predeterminado
--layer-id Exporta una CloudFormation plantilla para este ID de capa. OpsWorks 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 la OpsWorks pila (por ejemplo, las instancias y subredes de EC2). 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:

  • RECOMMENDED- Utiliza las características de instancia de la AMI más reciente para el sistema operativo de la OpsWorks pila y un tamaño de instancia c5.large.

  • MATCH_LAST_INSTANCE- Utiliza las últimas características de las instancias en línea disponibles.

  • LaunchTemplateID/[LaunchTemplateVersion] - Para seleccionar una plantilla de lanzamiento existente También tiene la posibilidad de proporcionar una versión de plantilla. Si no proporciona una versión de plantilla, el script utilizará la versión por defecto.

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:

  • ALL_UPDATES- Realiza actualizaciones del sistema para el núcleo y los paquetes cuando se inicia la instancia.

  • NO_UPDATES- No actualiza el sistema cuando la instancia arranca.

  • MATCH_LAYER_SETTINGS- Utiliza la InstallUpdatesOnBoot propiedad de la OpsWorks capa o instancia para determinar si se deben instalar actualizaciones del sistema.

No cadena ALL_UPDATES
--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:

  • ALB (Equilibrador de carga de aplicación)

  • Classis (Equilibrador de carga clásico)

  • None (si no desea crear un equilibrador de carga)

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 en TRUE, el script crea una política de terminación personalizada (función de Lambda) para su grupo de escalado automático. Las instancias EC2 con una protected_instance etiqueta están protegidas contra los eventos de escalamiento interno. Añada una protected_instance etiqueta a cada instancia de EC2 que desee proteger de los eventos de escalamiento interno. 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. 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) o Crear un parámetro de Systems Manager (consola) 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).