Installazione di un pacchetto in un'istanza Windows - AWS OpsWorks

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Installazione di un pacchetto in un'istanza Windows

Importante

Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il AWS Support Team su AWS re:post o tramite Premium AWS Support.

Nota

Questo esempio presuppone che tu abbia già completato l'esempio Esecuzione di una ricetta su un'istanza Windows. In caso contrario, ti consigliamo di iniziare da questo esempio, che descrive in particolare come abilitare l'accesso RDP alle istanze.

Se il tuo software viene fornito in un pacchetto di installazione, come un file MSI, devi scaricare il file nell'istanza ed eseguirlo. Questo esempio illustra come implementare un libro di ricette per installare un pacchetto MSI, il runtime Python, nonché come definire variabili di ambiente associate. Per ulteriori informazioni su come installare le funzionalità di Windows, ad esempio IIS, consulta Installazione di una funzionalità di Windows: IIS.

Per configurare il libro di ricette
  1. Creare una directory denominata installpython e accedervi.

  2. Aggiungere un file metadata.rb a installpython con il contenuto seguente.

    name "installpython" version "0.1.0"
  3. Aggiungere le directory recipes e files a installpython e aggiungere una directory default ai file.

  4. Scaricare un pacchetto Python da Versioni di Python per Windows nella directory files\default del libro di ricette. Questo esempio installa la versione Windows x86-64 di Python 3.5.0a3, che utilizza un programma di installazione MSI denominato python-3.4.3.amd64.msi.

  5. Aggiungere un file denominato default.rb alla directory recipes con il seguente codice ricetta.

    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 ricetta effettua le seguenti operazioni:

    1. Utilizzare una risorsa directory per creare una directory C:\tmp.

      Per ulteriori informazioni su questa risorsa, consulta Esempio 3: creazione di directory.

    2. Utilizza una risorsa cookbook_file per copiare il programma di installazione dalla directory files\default del libro di ricette in C:\tmp.

      Per ulteriori informazioni su questa risorsa, consulta Installazione di un file da un libro di ricette.

    3. Utilizza una risorsa windows_package per eseguire il programma di installazione MSI, che installa Python in c:\python34.

      Il programma di installazione crea le directory richieste e installa i file, ma non modifica la variabile di ambiente PATH del sistema.

    4. Utilizza una risorsa env per aggiungere c:\python34 al percorso di sistema.

      È possibile utilizzare la risorsa env per definire le variabili di ambiente. In questo caso, la ricetta consente di eseguire con facilità gli script Python dalla riga di comando aggiungendo c:\python34 al percorso.

      • Il nome della risorsa specifica il nome della variabile di ambiente, PATH in questo esempio.

      • L'attributo value specifica il valore della variabile, c:\\python34 per questo esempio (è necessario utilizzare il carattere di escape \).

      • L'azione :modify antepone il valore specificato al valore corrente della variabile.

      • L'attributo delim specifica un delimitatore che separa il nuovo valore dal valore esistente, che per questo esempio è ;.

  6. Creare un archivio .zip di installpython, caricare l'archivio su un bucket S3 e renderlo pubblico. Registrare l'URL dell'archivio per utilizzarlo in seguito. Per ulteriori informazioni, consulta Repository dei libri di ricette.

    I contenuti distribuiti ai bucket Amazon S3 potrebbero contenere informazioni dei clienti. Per ulteriori informazioni sulla rimozione di dati sensibili, vedi Come svuotare un bucket S3? o Come eliminare un bucket S3?.

Crea uno stack per questo esempio nel modo seguente. Puoi anche utilizzare uno stack Windows esistente. È sufficiente aggiornare i libri di ricette, come descritto di seguito.

Creare uno stack
  1. Aprire la console AWS OpsWorks Stacks e scegliere Add Stack (Aggiungi stack). Specificare le impostazioni seguenti, accettare i valori predefiniti di altre impostazioni e scegliere Add Stack (Aggiungi stack).

    • Nome — InstallPython

    • Regione: Stati Uniti occidentali (Oregon)

      Questo esempio funzionerà in qualsiasi regione, ma consigliamo di utilizzare Stati Uniti occidentali (Oregon) per i tutorial.

    • Sistema operativo predefinito: Microsoft Windows Server 2012 R2

  2. Scegliere Add a layer (Aggiungi un livello) e aggiungere un livello personalizzato allo stack con le impostazioni seguenti.

    • Nome — Python

    • Nome abbreviato: python

  3. Aggiungere un'istanza 24/7 con impostazioni predefinite al livello Python e avviarla.

Una volta che l'istanza è online, puoi installare il libro di ricette ed eseguire la ricetta

Per installare il libro di ricette ed eseguire la ricetta
  1. Modificare lo stack per abilitare i libri di ricette personalizzati e specificare le impostazioni seguenti.

    • Tipo di repository: S3 Archive.

    • URL del repository: l'URL di archivio del libro di cucina che hai registrato in precedenza.

    Accettare i valori predefiniti per altre impostazioni e scegliere Save (Salva) per aggiornare la configurazione dello stack.

  2. Eseguire il comando dello stack Update Custom Cookbooks (Aggiorna libri di ricette personalizzati), che installa la versione più recente dei libri di ricette personalizzati nelle istanze online dello stack. Se è presente una versione precedente del libro di ricette, verrà sovrascritta da questo comando.

  3. Eseguire la ricetta utilizzando il comando dello stack Execute Recipes (Esegui ricette) con Recipes to execute (Ricette da eseguire) impostato su installpython::default. Questo comando avvia un'esecuzione di Chef, con un elenco di esecuzione costituito da installpython::default.

    Nota

    Questo esempio utilizza Execute Recipes per comodità, ma in genere AWS OpsWorks Stacks esegue le ricette automaticamente assegnandole all'evento del ciclo di vita appropriato. Puoi eseguire tali ricette attivando manualmente l'evento e Puoi utilizzare un comando dello stack per attivare gli eventi Setup e Configure e un comando di distribuzione per attivare gli eventi Deploy e Undeploy.

  4. Per verificare l'installazione, utilizzare RDP per connettersi all'istanza e aprire Esplora risorse.

    • Il file system deve avere una directory C:\Python34.

    • Se si esegue path dalla riga di comando, si dovrebbe visualizzare quanto riportato di seguito: PATH=c:\python34;C:\Windows\system32;...

    • Se si esegue python --version dalla riga di comando, dovrebbe restituire Python 3.4.3.