Instalación de un paquete en una instancia de Windows - 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.

Instalación de un paquete en una instancia de Windows

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 actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en AWS Re:post o a través de Premium AWS Support.

nota

Este ejemplo presupone que ya ha completado el ejemplo Ejecución de una receta en una instancia de Windows. De lo contrario, debería completarlo primero. En concreto, describe cómo habilitar el acceso RDP en las instancias.

Si el software está incluido en un paquete instalador, como un archivo MSI, debe descargar el archivo en la instancia y, a continuación, ejecutarlo. Este ejemplo muestra cómo implementar un libro de recetas para instalar un paquete MSI, el tiempo de ejecución de Python, incluido cómo definir las variables de entorno asociadas. Para obtener más información sobre cómo instalar características de Windows, como IIS, consulte Instalación de una característica de Windows: IIS.

Para configurar el libro de recetas
  1. Cree un directorio llamado installpython y ábralo.

  2. Añada un archivo metadata.rb a installpython con el contenido siguiente.

    name "installpython" version "0.1.0"
  3. Añada subdirectorios recipes y files a installpython y un directorio default a files.

  4. Descargue un paquete de Python de Versiones de Python para Windows en el directorio files\default del libro de recetas. Este ejemplo instala la versión Windows x86- de 3.5.0a3, que utiliza un instalador llamado python-3.4.3.amd64.msipython-64.msi.

  5. Añada un archivo llamado default.rb al directorio recipes con el siguiente código de receta.

    directory 'C:\tmp' do rights :full_control, 'Everyone' recursive true action :create end cookbook_file 'C:\tmp\python-3.4.3.amd64.msi' do source "python-3.4.3.amd64.msi" rights :full_control, 'Everyone' action :create end windows_package 'python' do source 'C:\tmp\python-3.4.3.amd64.msi' action :install end env "PATH" do value 'c:\python34' delim ";" action :modify end

    La receta hace lo siguiente:

    1. Utiliza un recurso directory para crear un directorio C:\tmp.

      Para obtener más información sobre este recurso, consulte Ejemplo 3: Creación de directorios.

    2. Utiliza un recurso cookbook_file para copiar el instalador del directorio files\default del libro de recetas en C:\tmp.

      Para obtener más información sobre este recurso, consulte Instalación de un archivo a partir de un libro de recetas.

    3. Utiliza un recurso windows_package para ejecutar el instalador MSI que instala Python en c:\python34.

      El instalador crea los directorios necesarios e instala los archivos, pero no modifica la variable de entorno PATH del sistema.

    4. Utiliza un recurso env para añadir c:\python34 a la ruta de acceso al sistema.

      Utilice los recursos de env para definir las variables de entorno. En este caso, la receta le permite ejecutar de manera sencilla scripts de Python desde la línea de comandos tan solo añadiendo c:\python34 a la ruta.

      • El nombre del recurso especifica el nombre de la variable de entorno, PATH en este ejemplo.

      • El atributo value especifica el valor de la variable, c:\\python34 en este ejemplo (necesita dejar sin efecto el carácter \).

      • La acción :modify antepone el valor especificado al valor actual de la variable.

      • El atributo delim especifica un delimitador que separa el valor nuevo del valor existente, ; en este ejemplo.

  6. Cree un archivo de almacenamiento .zip de installpython, cárguelo en un bucket de S3 y publíquelo. Anote la URL del archivo de almacenamiento; la necesitará más adelante. Para obtener más información, consulte Repositorios de libros de recetas.

    El contenido entregado a los buckets de Amazon S3 puede contener contenido del cliente. Para obtener más información sobre la eliminación de información confidencial, consulte ¿Cómo puedo vaciar un bucket de S3? o ¿Cómo elimino un bucket de S3?.

Cree una pila para este ejemplo tal y como se indica a continuación. También puede utilizar una pila de Windows existente. Actualice los libros de recetas tal y como se describe más adelante.

Creación de una pila
  1. Abra la consola de AWS OpsWorks y elija Add Stack (Añadir pila). Especifique las siguientes opciones de configuración, acepte los valores predeterminados del resto y, a continuación, elija Add Stack (Añadir pila).

    • Nombre — InstallPython

    • Región: Oeste de EE. UU. (Oregón)

      Este ejemplo funcionará en cualquier región, pero recomendamos utilizar la región Oeste de EE. UU. (Oregón) en los tutoriales.

    • Sistema operativo predeterminado: Microsoft Windows Server 2012 R2

  2. Elija Add a layer (Añadir una capa) y añada una capa personalizada a la pila con la siguiente configuración.

    • Nombre: Python

    • Nombre abreviado: python

  3. Añada una instancia de funcionamiento ininterrumpido con la configuración predeterminada a la capa Python e iníciela.

Cuando la instancia esté online, podrá instalar el libro de recetas y ejecutar la receta.

Para instalar el libro de recetas y ejecutar la receta
  1. Edite la pila para habilitar los libros de recetas personalizados y especifique las siguientes opciones de configuración.

    • Tipo de repositorio: S3 Archive

    • URL de repositorio: la dirección URL del archivo del libro de recetas que anotó previamente.

    Acepte los valores predeterminados del resto de opciones y elija Save (Guardar) para actualizar la configuración de la pila.

  2. Ejecute el comando de pila Update Custom Cookbooks (Actualizar libros de recetas personalizados), que instala la última versión de los libros de recetas personalizados en las instancias online de la pila. Si existiera una versión anterior del libro de recetas, este comando la sobrescribe.

  3. Para ejecutar la receta, basta con ejecutar el comando de pila Execute Recipes (Ejecutar recetas) con Recipes to execute (Recetas que ejecutar) configurado en installpython::default. Este comando inicia una ejecución de Chef con una lista de ejecución que es installpython::default.

    nota

    En este ejemplo, se usa Execute Recipes por comodidad, pero normalmente haces que AWS OpsWorks Stacks ejecute tus recetas automáticamente asignándolas al evento del ciclo de vida correspondiente. Puede desencadenar el evento de forma manual para ejecutar estas recetas. Puede utilizar un comando de pila para desencadenar los eventos Setup y Configure y un comando de implementación en el caso de los eventos Deploy y Undeploy.

  4. Para verificar la instalación, utilice RDP para conectarse a la instancia y abra el Explorador de Windows.

    • Ahora, debería aparecer un directorio C:\Python34 en el sistema de archivos.

    • Si ejecuta path en la línea de comandos, debería parecerse a: PATH=c:\python34;C:\Windows\system32;....

    • Si ejecuta python --version en la línea de comandos, debería devolver Python 3.4.3.