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 existentes. 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
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 RDP acceso a sus instancias.
Si el software viene en un paquete de instalación, como un paqueteMSI, debes descargar el archivo a la instancia y, a continuación, ejecutarlo. Este ejemplo muestra cómo implementar un libro de cocina para instalar un MSI paquete, el tiempo de ejecución de Python, incluida la forma de definir las variables de entorno asociadas. Para obtener más información sobre cómo instalar funciones de Windows como estasIIS, consulteInstalación de una función de Windows: IIS.
Para configurar el libro de recetas
-
Cree un directorio llamado
installpython
y ábralo. -
Añada un archivo
metadata.rb
ainstallpython
con el contenido siguiente.name "installpython" version "0.1.0"
-
Añada subdirectorios
recipes
yfiles
ainstallpython
y un directoriodefault
a files. -
Descargue un paquete de Python de Versiones de Python para Windows
en el directorio files\default
del libro de recetas. En este ejemplo, se instala la versión Windows x86-64 de Python 3.5.0a3, que utiliza un instalador denominado. MSIpython-3.4.3.amd64.msi
-
Añada un archivo llamado
default.rb
al directoriorecipes
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:
-
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.
-
Utiliza un recurso cookbook_file
para copiar el instalador del directorio files\default
del libro de recetas enC:\tmp
.Para obtener más información sobre este recurso, consulte Instalación de un archivo a partir de un libro de recetas.
-
Utiliza un recurso windows_package
para ejecutar el MSI instalador, 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. -
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.
-
-
-
Cree un archivo de almacenamiento
.zip
deinstallpython
, cárguelo en un bucket de S3 y publíquelo. Registra los archivos URL para usarlos 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
-
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
-
-
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
-
-
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
-
Edite la pila para habilitar los libros de recetas personalizados y especifique las siguientes opciones de configuración.
-
Tipo de repositorio: S3 Archive
-
Repositorio URL: el archivo del libro de cocina URL que grabaste anteriormente.
Acepte los valores predeterminados del resto de opciones y elija Save (Guardar) para actualizar la configuración de la pila.
-
-
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.
-
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 esinstallpython::default
.nota
En este ejemplo, se usa Execute Recipes para mayor 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.
-
Para verificar la instalación, usa esta opción RDP para conectarte a la instancia y abrir 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 devolverPython 3.4.3
.
-