Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Installieren eines Pakets auf einer Windows-Instance
Wichtig
Der AWS OpsWorks Stacks Dienst hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS -Support Team auf AWS re:POST
Anmerkung
In diesem Beispiel wird davon ausgegangen, dass Sie das Beispiel Ausführen eines Rezepts auf einer Windows-Instance bereits durchgearbeitet haben. Falls Sie das noch nicht getan haben, holen Sie das nun nach. Insbesondere wird darin beschrieben, wie Sie für Ihre Instances RDP-Zugriff aktivieren.
Wenn die Software über ein Installationsprogramm wie eine MSI-Datei verfügt, müssen Sie diese Datei auf die Instance herunterladen und dort ausführen. In diesem Beispiel wird gezeigt, wie Sie ein Rezeptbuch implementieren, um ein MSI-Paket, die Python-Laufzeitumgebung, zu installieren und die zugehörigen Umgebungsvariablen zu konfigurieren. Weitere Informationen zum Installieren von Windows-Funktionen wie IIS finden Sie unter Installieren einer Windows-Funktion: IIS.
So richten Sie das Rezeptbuch ein
-
Erstellen Sie ein Verzeichnis
installpython
und öffnen Sie es. -
Fügen Sie eine Datei
metadata.rb
zuinstallpython
mit dem folgenden Inhalt hinzu:name "installpython" version "0.1.0"
-
Fügen Sie die Verzeichnisse
recipes
undfiles
zuinstallpython
hinzu und fügen Sie ein Verzeichnisdefault
zu "files" hinzu. -
Laden Sie ein Python-Paket für Windows von der Python-Website
in das Verzeichnis files\default
des Rezeptbuchs herunter. In diesem Beispiel wird 3.5.0a3 für Windows x86- mithilfe der MSI-Dateipython-3.4.3.amd64.msi
python-64. installiert. -
Erstellen Sie im Verzeichnis
default.rb
eine Dateirecipes
mit folgendem Rezeptcode.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
Vom Rezept werden folgende Schritte ausgeführt:
-
Es verwendet eine Verzeichnis
-Ressource, um ein Verzeichnis C:\tmp
zu erstellen.Weitere Informationen zu dieser Ressource finden Sie unter Beispiel 3: Erstellen von Verzeichnissen.
-
Es verwendet eine cookbook_file
-Ressource, um das Installationsprogramm aus dem Verzeichnis files\default
des Rezeptbuchs in das VerzeichnisC:\tmp
zu kopieren.Weitere Informationen zu dieser Ressource finden Sie unter Installieren einer Datei mithilfe eines Rezeptbuchs.
-
Es verwendet eine windows_package
-Ressource, um das MSI-Installationsprogramm auszuführen und Python unter c:\python34
zu installieren.Das Installationsprogramm erstellt die erforderlichen Verzeichnisse und installiert die Dateien. Es nimmt jedoch keine Änderungen an der Umgebungsvariable
PATH
des Systems vor. -
Es verwendet eine env
-Ressource, um c:\python34
zum Systempfad hinzuzufügen.Mit der Ressource "env" werden Umgebungsvariablen festgelegt. In diesem Fall können Sie mit dem Rezept einfach Python-Skripte auf der Befehlszeile ausführen, indem Sie
c:\python34
im Systempfad einfügen.-
Der Ressourcenname gibt den Namen der Umgebungsvariablen an, in diesem Beispiel
PATH
. -
Über das Attribut
value
wird der Wert der Variablen, in diesem Beispielc:\\python34
festgelegt (Sie müssen vor das Zeichen\
"\" setzen). -
Mit der Aktion
:modify
wird der angegebene Wert dem aktuellen Wert der Variablen vorangestellt. -
Das Attribut
delim
setzt ein Trennzeichen, um den neuen Wert von dem vorhandenen Wert zu trennen, in diesem Beispiel;
.
-
-
-
Erstellen Sie ein
.zip
-Archiv voninstallpython
, laden Sie das Archiv in einen S3-Bucket hoch und veröffentlichen Sie es. Notieren Sie sich die URL des Archivs. Weitere Informationen finden Sie unter Rezeptbuch-Repositorys.Inhalte, die an Amazon-S3-Buckets geliefert werden, können Kundeninhalte enthalten. Weitere Informationen zum Entfernen sensibler Daten finden Sie unter Wie entleere ich einen S3 Bucket? oder Wie lösche ich einen S3 Bucket?.
Erstellen Sie wie folgt einen Stack für dieses Beispiel. Sie können auch einen vorhandenen Windows-Stack verwenden. Aktualisieren Sie dafür einfach wie nachfolgend beschrieben die Rezeptbücher.
Erstellen eines Stacks
-
Öffnen Sie die AWS OpsWorks Stacks-Konsole
und wählen Sie Add Stack (Stack hinzufügen) aus. Legen Sie die folgenden Einstellungen fest, übernehmen Sie für die restlichen Einstellungen die Standardwerte und wählen Sie Add Stack (Stack hinzufügen) aus. -
Name — InstallPython
-
Region — USA West (Oregon)
Dieses Beispiel funktioniert in jeder Region, wir empfehlen jedoch, US West (Oregon) für Tutorials zu verwenden.
-
Standardbetriebssystem — Microsoft Windows Server 2012 R2
-
-
Wählen Sie Add a layer (Layer hinzufügen) aus und fügen Sie dem Stack einen benutzerdefinierten Layer mit folgenden Einstellungen hinzu:
-
Bezeichnung — Python
-
Kurzname — Python
-
-
Fügen Sie dem Python-Layer eine 24/7-Instance mit den Standardeinstellungen hinzu und starten Sie sie.
Nachdem die Instance online ist, können Sie das Rezeptbuch installieren und das Rezept ausführen.
So installieren Sie das Rezeptbuch und führen das Rezept aus
-
Bearbeiten Sie den Stack, um benutzerdefinierte Rezeptbücher zu aktivieren, und legen Sie folgende Einstellungen fest:
-
Repository-Typ — S3-Archiv.
-
Repository-URL — Die Archiv-URL des Kochbuches, die Sie zuvor aufgezeichnet haben.
Übernehmen Sie für die übrigen Einstellungen die Standardwerte und wählen Sie Save aus, um die Stack-Konfiguration zu aktualisieren und zu speichern.
-
-
Führen Sie den Stack-Befehl Update Custom Cookbooks aus, um die aktuelle Version Ihrer benutzerdefinierten Rezeptbücher auf den Online-Instances des Stacks zu installieren. Wenn bereits eine ältere Version des Rezeptbuchs installiert ist, wird dieses überschrieben.
-
Führen Sie das Rezept aus, indem Sie den Stack-Befehl Execute Recipes ausführen. Achten Sie darauf, dass bei Recipes to execute
installpython::default
eingestellt ist. Durch diesen Befehl wird Chef mit der Optioninstallpython::default
ausgeführt.Anmerkung
In diesem Beispiel wird der Einfachheit halber Execute Recipes verwendet, aber normalerweise lassen Sie AWS OpsWorks Stacks Ihre Rezepte automatisch ausführen, indem Sie sie dem entsprechenden Lebenszyklusereignis zuweisen. Sie können diese Rezepte auch durch manuelles Auslösen des Ereignisses ausführen. Verwenden Sie für Einrichtungs- und Konfigurationsereignisse einen Stack-Befehl und für Bereitstellungsereignisse und für Ereignisse zum Aufheben der Bereitstellung einen Bereitstellungsbefehl.
-
Um die Installation zu überprüfen, melden Sie sich mit RDP bei der Instance an und öffnen Sie den Windows Explorer.
-
Das Dateisystem sollte jetzt über ein Verzeichnis
C:\Python34
verfügen. -
Wenn Sie auf der Befehlszeile
path
ausführen, sollte das Ergebnis etwa wie folgt aussehen:PATH=c:\python34;C:\Windows\system32;...
-
Wenn Sie auf der Befehlszeile
python --version
ausführen, solltePython 3.4.3
zurückgegeben werden.
-