Erstellen eines Pakets in Distributor - AWS Systems Manager

Erstellen eines Pakets in Distributor

Um ein Paket zu erstellen, bereiten Sie Ihre installierbare Software oder Komponenten vor, immer eine Datei pro Betriebssystem-Plattform. Zur Erstellung eines Pakets ist mindestens eine Datei erforderlich.

Manchmal verwenden unterschiedliche Plattformen dieselbe Datei. Alle Ihrem Paket hinzugefügten Dateien müssen jedoch im Abschnitt Files des Manifests aufgelistet sein. Wenn Sie ein Paket in der Konsole über den einfachen Workflow erstellen, wird das Manifest automatisch generiert. Die maximale Anzahl von Dateien, die Sie einem einzelnen Dokument anfügen können, beträgt 20. Die maximale Größe der einzelnen Dateien beträgt 1 GB. Weitere Informationen zu unterstützten Plattformen finden Sie unter Unterstützte Paketplattformen und -architekturen.

Wenn Sie ein neues Paket erstellen, erstellt das System ein neues SSM-Dokument. Mit diesem Dokument können Sie das Paket an verwaltete Knoten bereitstellen.

Ein Beispielpaket, ExamplePackage.zip, steht ihnen ausschließlich zu Demonstrationszwecken zum Download von unserer Website zur Verfügung. Das Beispielpaket enthält ein fertiges JSON-Manifest und drei ZIP-Dateien, die Installationsprogramme für PowerShell v7.0.0 enthalten. Die Installations- und Deinstallationsskripts enthalten keine gültigen Befehle. Wenn Sie ein Paket im Workflow Advanced (Erweitert) erstellen, müssen Sie alle installierbaren Softwaredateien und Skripts in einer ZIP-Datei komprimieren, beim Workflow Simple (Einfach) ist es jedoch nicht notwendig, installierbare Komponenten zu zippen.

Erstellen Sie ein Paket mithilfe des einfachen Workflows

In diesem Abschnitt wird beschrieben, wie Sie ein Paket in Distributor erstellen, wenn Sie das Paket über den Simple (Einfach)-Workflow in der Distributor-Konsole erstellen. Distributor ist eine Funktion von AWS Systems Manager. Um ein Paket zu erstellen, bereiten Sie Ihre zu installierenden Komponenten vor, eine Datei pro Betriebssystemplattform. Zur Erstellung eines Pakets ist mindestens eine Datei erforderlich. Bei der einfachen Paketerstellung werden die Installations- und Deinstallationsskripts generiert, sowie die Datei-Hashes und eine Manifest-Datei im JSON-Format. Der Simple (Einfach)-Workflow übernimmt das Hochladen und Komprimieren Ihrer installierbaren Dateien sowie das Erstellen eines neuen Pakets und des zugehörigen SSM-Dokuments. Weitere Informationen zu unterstützten Plattformen finden Sie unter Unterstützte Paketplattformen und -architekturen.

Wenn Sie die Methode „Simple (Einfach)“ verwenden, um ein Paket zu erstellen, erstellt Distributor die install- und uninstall-Skripts für Sie. Wenn Sie jedoch ein Paket für ein direktes Update erstellen, müssen Sie Ihren eigenen update-Skript-Inhalt in der Registerkarte Update script bereitstellen.. Wenn Sie Eingabebefehle für ein update-Skript hinzufügen, schließt Distributor dieses Skript zusammen mit den install- und uninstall-Skripts in das für Sie erstellte ZIP-Paket ein.

Anmerkung

Verwenden Sie die Aktualisierungsoption In-place zum Hinzufügen neuer oder aktualisierter Dateien einer vorhandenen Paketinstallation, ohne die zugehörige Anwendung offline zu schalten.

Erstellen Sie ein Paket mithilfe des einfachen Workflows
  1. Öffnen Sie die AWS Systems Manager-Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich Distributor aus.

  3. Wählen Sie auf der Distributor-Startseite die Option Create package (Paket erstellen) aus und wählen Sie dann die Option Simple (Einfach).

  4. Geben Sie auf der Seite Create package (Paket erstellen) einen Namen für Ihr Paket ein. Paketnamen können Buchstaben, Zahlen, Punkte, Bindestriche und Unterstriche enthalten. Der Name sollte allgemein genug sein, um auf alle Versionen der Paketanhänge angewendet werden zu können, jedoch spezifisch genug, um den Zweck des Pakets zu identifizieren.

  5. (Optional) Geben Sie unter Version name (Versionsname) einen Versionsnamen ein. Versionsnamen dürfen maximal 512 Zeichen lang sein und dürfen keine Sonderzeichen enthalten.

  6. Wählen Sie unter Location (Speicherort) einen Bucket aus. Verwenden Sie dazu den Namen und das Präfix des Buckets oder die Bucket-URL.

  7. Wählen Sie unter Upload software (Software hochladen) die Option Add software (Software hinzufügen) aus und navigieren Sie dann zu installierbaren Softwaredateien mit den Erweiterungen .rpm, .msi, oder .deb. Wenn der Dateiname Leerzeichen enthält, schlägt der Upload fehl. Sie können mehrere Softwaredateien in einer einzigen Aktion hochladen.

  8. Überprüfen Sie unter Für Target platform (Ziel-Plattform für jede Plattform, ob das Ziel-Betriebssystem für die installierbare Datei korrekt ist. Wenn das angezeigte Betriebssystem nicht korrekt ist, wählen Sie das richtige Betriebssystem aus der Dropdown-Liste aus.

    Beim Workflow Simple (Einfach) zur Paketerstellung sind zusätzliche Schritte erforderlich, wenn Distributor nur eine Datei für mehrere Betriebssysteme verwenden soll, da installierbare Dateien nur einmal hochgeladen werden. Wenn Sie zum Beispiel eine installierbare Softwaredatei mit dem Namen Logtool_v1.1.1.rpm hochladen, müssen Sie im Simple-Workflow einige Standardeinstellungen ändern, um als Zielplattform für die Software Amazon Linux- und Ubuntu-Betriebssysteme anzugeben. Führen Sie bei Verwendung mehrerer Zielplattformen einen der folgenden Schritte aus.

    • Verwenden Sie stattdessen den Workflow Advanced (Erweitert), zippen Sie jede installierbare Datei, bevor Sie beginnen, und richten Sie das Manifest manuell so ein, dass eine installierbare Datei für mehrere Betriebssystemplattformen oder -versionen verwendet werden kann. Weitere Informationen finden Sie unter Erstellen Sie ein Paket mithilfe des erweiterten Workflows.

    • Bearbeiten Sie die Manifestdatei im Workflow Simple (Einfach) so, dass Ihre ZIP-Datei für mehrere Betriebssystemplattformen oder -versionen verwendet wird. Weitere Informationen zu diesem Verfahren finden Sie am Ende von Schritt 4 in Schritt 2: Erstellen des JSON-Paketmanifests.

  9. Stellen Sie unter Platform version (Plattformversion)sicher, dass als Betriebssystem-Plattformversion _any, eine Hauptversionsnummer, gefolgt von einem Platzhalter (7.*), angezeigt wird, oder genau die spezifische Betriebssystemversion, die Sie als Plattformversion für Ihre Softwareinstallation verwenden möchten. Weitere Informationen zur Angabe der Betriebssystem-Plattformversion finden Sie unter Schritt 4 in Schritt 2: Erstellen des JSON-Paketmanifests.

  10. Wählen Sie unter Architecture (Architektur) für jeden installierbare Datei die richtige Prozessorarchitektur aus der Dropdown-Liste aus. Weitere Informationen zu unterstützten Prozessorarchitekturen finden Sie unter Unterstützte Paketplattformen und -architekturen.

  11. (Optional) Erweitern Sie Scripts (Skripts) und überprüfen Sie die Skripts, die Distributor für Ihre installierbare Software generiert hat.

  12. (Optional) Um ein Aktualisierungsskript für direkte Aktualisierungen bereitzustellen, erweitern Sie Scripts (Skripts), wählen Sie die Registerkarte Update script (Aktualisierungsskript) aus und geben Sie die Befehle für das Aktualisierungsskript ein.

    Systems Manager generiert keine Aktualisierungsskripts für Sie.

  13. Zum Hinzufügen weiterer installierbaren Softwaredateien wählen Sie Add Software (Software hinzufügen). Andernfalls fahren Sie mit dem nächsten Schritt fort.

  14. (Optional) Erweitern Sie Manifest und überprüfen Sie das JSON-Manifest des Pakets, das Distributor für Ihre installierbare Software generiert hat. Wenn Sie Informationen über Ihre Software geändert haben, nachdem Sie mit dieser Prozedur begonnen haben, beispielsweise die Plattformversion oder die Zielplattform, wählen Sie Generate Manifest (Manifest erzeugen), um das Paketmanifest zu aktualisieren.

    Sie können das Manifest manuell bearbeiten, wenn Sie möchten, dass für eine installierbare Software mehr als ein Betriebssystem als Ziel festgelegt wird, wie in Schritt 8 beschrieben. Weitere Informationen zum Bearbeiten des Manifests finden Sie unter Schritt 2: Erstellen des JSON-Paketmanifests.

  15. Wählen Sie Create package (Paket erstellen) aus.

Warten Sie, bis Distributor das Hochladen Ihrer Software und das Erstellen Ihres Pakets abgeschlossen hat. Distributor zeigt den Uploadstatus für jede installierbare Datei einzeln an. Abhängig von der Anzahl und Größe der Pakete, die Sie hinzufügen, kann dies einige Minuten dauern. Distributor leitet Sie automatisch auf die Seite Package details (Paketdetails) für das neue Paket weiter, Sie können diese Seite aber jederzeit selbst öffnen, nachdem die Software hochgeladen ist. Auf der Seite Package details (Paketdetails) werden erst dann alle Informationen zu Ihrem Paket angezeigt, wenn Distributor den Paketerstellungsprozess abgeschlossen hat. Um den Upload- und Paketerstellungsprozess abzubrechen, wählen Sie Cancel (Abbrechen).

Wenn Distributor keine installierbaren Softwaredateien hochladen kann, wird eine Fehlermeldung Upload failed (Upload fehlgeschlagen) angezeigt. Um den Uploadversuch zu wiederholen, wählen Sie Retry Upload (Uploadversuch wiederholen). Weitere Informationen zur Fehlerbehebung bei der Paketerstellung finden Sie unter Fehlerbehebung für AWS Systems ManagerDistributor.

Erstellen Sie ein Paket mithilfe des erweiterten Workflows

In diesem Abschnitt erfahren Sie, wie fortgeschrittene Benutzer ein Paket in Distributor erstellen können, nachdem sie die installierbaren Komponenten mit den Skripts zur Installation und Deinstallation, sowie eine JSON-Manifestdatei als ZIP-Archiv an einen Amazon S3-Bucket hochgeladen haben.

Um ein Paket zu erstellen, bereiten Sie Ihre ZIP-Dateien mit den zu installierenden Komponenten vor (eine ZIP-Datei pro Betriebssystemplattform). Zur Erstellung eines Pakets ist mindestens eine ZIP-Datei erforderlich. Erstellen Sie als Nächstes ein JSON-Manifest. Das Manifest enthält Verweise auf Ihre Paketcodedateien. Wenn Sie die erforderlichen Codedateien zu einem Ordner oder Verzeichnis hinzugefügt haben und das Manifest mit den korrekten Werten ausgefüllt ist, laden Sie Ihr Paket an einen S3-Bucket hoch.

Sie können von unserer Website ein Beispielpaket mit dem Namen ExamplePackage.zip herunterladen. Das Beispielpaket enthält ein fertiges JSON-Manifest und drei ZIP-Dateien.

Schritt 1: Erstellen der ZIP-Dateien

Die Grundlage Ihres Pakets ist mindestens eine ZIP-Datei mit Softwaredateien oder zu installierenden Komponenten. Ein Paket enthält eine ZIP-Datei pro Betriebssystem, das Sie unterstützen möchten, es sei denn, eine ZIP-Datei kann auf mehreren Betriebssystemen installiert werden. Beispielsweise können Red Hat Enterprise Linux- und Amazon Linux-Instances in der Regel dieselben ausführbaren RPM-Dateien ausführen. Daher müssen Sie Ihrem Paket nur eine ZIP-Datei anfügen, um beide Betriebssysteme zu unterstützen.

Erforderliche Dateien

Die folgenden Elemente müssen in jeder ZIP-Datei enthalten sein:

  • Ein install- und ein uninstall-Skript. Windows Server-basierte verwaltete Knoten erfordern PowerShell-Skripts (Skripts mit dem Namen install.ps1 und uninstall.ps1). Linux-basierte verwaltete Knoten benötigen Shell-Skripts (Skripts mit dem Namen install.sh und uninstall.sh). SSM Agent führt die Anweisungen in den install- und uninstall-Skripts aus.

    Ihre Installationsskripts können beispielsweise ein Installationsprogramm ausführen (z. B. eine RPM- oder MSI-Datei), Dateien kopieren oder Konfigurationseinstellungen festlegen.

  • Eine ausführbare Datei, Installationsprogrammpakete (.rpm, .deb, .msi usw.), weitere Skripts oder Konfigurationsdateien.

Optionale Dateien

Die folgenden Elemente können optional in jeder ZIP-Datei enthalten sein:

  • Ein update-Skript. Die Angabe eines Aktualisierungsskripts ermöglicht es Ihnen, die Option In-place update zum Installieren eines Pakets zu verwenden. Wenn Sie einer vorhandenen Paketinstallation neue oder aktualisierte Dateien hinzufügen möchten, wird die Paketanwendung bei der Verwendung der In-place update-Option während der Aktualisierung nicht offline geschaltet. Windows Server-basierte verwaltete Knoten erfordern ein PowerShell-Skript (Skript mit dem Namen update.ps1). Linux-basierte verwaltete Knoten benötigen ein Shell-Skript (Skript mit dem Namen update.sh). SSM Agent führt die Anweisungen im update-Skript aus.

Weitere Informationen zum Installieren oder Aktualisieren von Paketen finden Sie unter Installieren oder Aktualisieren von Distributor-Paketen.

Um Beispiele für ZIP-Dateien einschließlich install- und uninstall-Beispielskripts zu erhalten, laden Sie das Beispielpaket ExamplePackage.zip herunter.

Schritt 2: Erstellen des JSON-Paketmanifests

Nachdem Sie die zu installierenden Dateien vorbereitet und gezippt haben, erstellen Sie ein JSON-Manifest. Im Folgenden finden Sie eine Vorlage. Die einzelnen Teile der Manifestvorlage werden im Verfahren in diesem Abschnitt beschrieben. Sie können einen JSON-Editor verwenden, um dieses Manifest in einer eigenen Datei zu erstellen. Alternativ können Sie das Manifest in der AWS Systems Manager-Konsole erstellen, wenn Sie ein Paket erstellen.

{ "schemaVersion": "2.0", "version": "your-version", "publisher": "optional-publisher-name", "packages": { "platform": { "platform-version": { "architecture": { "file": ".zip-file-name-1.zip" } } }, "another-platform": { "platform-version": { "architecture": { "file": ".zip-file-name-2.zip" } } }, "another-platform": { "platform-version": { "architecture": { "file": ".zip-file-name-3.zip" } } } }, "files": { ".zip-file-name-1.zip": { "checksums": { "sha256": "checksum" } }, ".zip-file-name-2.zip": { "checksums": { "sha256": "checksum" } } } }
So erstellen Sie ein JSON-Paket-Manifest
  1. Fügen Sie Ihrem Manifest die Schemaversion hinzu. In dieser Version ist die Schemaversion stets 2.0.

    { "schemaVersion": "2.0",
  2. Fügen Sie Ihrem Manifest eine benutzerdefinierte Paketversion hinzu. Dies ist auch der Wert in Version name (Versionsname), den Sie angeben, wenn Sie Ihr Paket zu Distributor hinzufügen. Er wird Teil des AWS Systems Manager-Dokuments, das Distributor erstellt, wenn Sie Ihr Paket hinzufügen. Sie stellen diesen Wert auch als Eingabewert im Dokument AWS-ConfigureAWSPackage bereit, um eine andere als die aktuelle Version des Pakets zu installieren. Ein version-Wert kann Buchstaben, Zahlen, Unterstriche, Bindestriche und Punkte enthalten. Er darf jedoch höchstens 128 Zeichen enthalten. Sie sollten eine von Menschen lesbare Paketversion verwenden, um bei Bereitstellungen die Angabe der genauen Paketversionen für Sie und andere Administratoren einfacher zu machen. Im Folgenden wird ein Beispiel gezeigt.

    "version": "1.0.1",
  3. (Optional) Fügen Sie den Namen des Publishers hinzu. Im Folgenden wird ein Beispiel gezeigt.

    "publisher": "MyOrganization",
  4. Fügen Sie Pakete hinzu. Der Abschnitt "packages" beschreibt die von den ZIP-Dateien in Ihrem Paket unterstützten Plattformen, Versionen und Architekturen. Weitere Informationen finden Sie unter Unterstützte Paketplattformen und -architekturen.

    Beim Wert in Plattformversion kann es sich um den Platzhalterwert _any handeln. Sie verwenden den Platzhalterwert, um anzugeben, dass eine ZIP-Datei eine beliebige Version der Plattform unterstützt. Sie können auch eine Hauptversion und gefolgt von einem Platzhalter angeben, sodass alle Nebenversionen unterstützt werden, z. B. 7.*. Wenn Sie einen Wert für Plattformversion für eine bestimmte Betriebssystemversion angeben, stellen Sie sicher, dass er genau mit der Version des Betriebssystem-AMI übereinstimmt, auf das Sie abzielen. Im Folgenden werden Ressourcen empfohlen, mit denen Sie den richtigen Wert für das Betriebssystem ermitteln können.

    • Auf einem Windows Server-basierten verwalteten Knoten ist die Version in Form von Windows Management Instrumentation (WMI)-Daten verfügbar. Sie können den folgenden Befehl im Prompt ausführen, um Versionsinformationen zu erhalten. Anschließend müssen Sie die Ergebnisse nach version durchsuchen.

      wmic OS get /format:list
    • Auf einem Linux-basierten verwalteten Knoten erhalten Sie die Version, indem Sie zunächst nach der Betriebssystemversion scannen (der folgende Befehl). Suchen Sie den Wert von VERSION_ID.

      cat /etc/os-release

      Wenn die ausgegebene Zeichenfolge nicht die benötigten Informationen enthält, führen Sie den folgenden Befehl aus, um die LSB-Versionsinformationen aus der Datei /etc/lsb-release abzurufen, und suchen den Wert von DISTRIB_RELEASE.

      lsb_release -a

      Wenn diese Methoden nicht zum Erfolg führen, finden Sie die Version in der Regel anhand der verwendeten Distribution. In Debian Server können Sie beispielsweise die Datei /etc/debian_version und in Red Hat Enterprise Linux die Datei /etc/redhat-release scannen.

      hostnamectl
    "packages": { "platform": { "platform-version": { "architecture": { "file": ".zip-file-name-1.zip" } } }, "another-platform": { "platform-version": { "architecture": { "file": ".zip-file-name-2.zip" } } }, "another-platform": { "platform-version": { "architecture": { "file": ".zip-file-name-3.zip" } } } }

    Im Folgenden wird ein Beispiel gezeigt. In diesem Beispiel ist die Betriebssystemplattform amazon, die unterstützte Version 2016.09, die Architektur x86_64 und die ZIP-Datei, die diese Plattform unterstützt, test.zip.

    { "amazon": { "2016.09": { "x86_64": { "file": "test.zip" } } } },

    Sie können mit dem Platzhalterwert (_any) angeben, dass das Paket alle Versionen des übergeordneten Elements unterstützt. Um beispielsweise anzugeben, dass das Paket in jeder Version von Amazon Linuxs unterstützt wird, sollte Ihre Paketanweisung ähnlich wie folgt aussehen. Sie können den Platzhalter _any auf Versions- oder Architekturebene verwenden, um alle Versionen einer Plattform, alle Architekturen in einer Version oder alle Versionen und alle Architekturen einer Plattform zu unterstützen.

    { "amazon": { "_any": { "x86_64": { "file": "test.zip" } } } },

    Das folgende Beispiel fügt _any hinzu, um zu zeigen, dass das erste Paket data1.zip für alle Architekturen von Amazon Linux 2016.09 unterstützt wird. Das zweite Paket (data2.zip) wird für alle Versionen von Amazon Linux unterstützt, jedoch nur für verwaltete Knoten mit x86_64-Architektur. Sowohl die Version mit 2016.09 als auch die Version mit _any sind Einträge unter amazon. Es handelt sich um eine einzige Plattform (Amazon Linux), aber verschiedene unterstützte Versionen und Architekturen sowie zugehörige ZIP-Dateien.

    { "amazon": { "2016.09": { "_any": { "file": "data1.zip" } }, "_any": { "x86_64": { "file": "data2.zip" } } } }

    Sie können im Abschnitt "packages" des Manifests mehrmals auf eine ZIP-Datei verweisen, wenn diese mehrere Plattformen unterstützt. Wenn Ihre ZIP-Datei beispielsweise sowohl Red Hat Enterprise Linux 7.x Versionen als auch Amazon Linux unterstützt, enthält sie wie im folgenden Beispiel gezeigt im Abschnitt "packages" zwei Einträge, die auf dieselbe ZIP-Datei verweisen.

    { "amazon": { "2018.03": { "x86_64": { "file": "test.zip" } } }, "redhat": { "7.*": { "x86_64": { "file": "test.zip" } } } },
  5. Fügen Sie die Liste mit den zu diesem Paket gehörenden ZIP-Dateien aus Schritt 4 hinzu. Für jeden Dateieintrag sind der Dateiname und die Prüfsumme des sha256-Hash-Werts erforderlich. Die Prüfsummenwerte im Manifest müssen mit dem sha256-Hash-Wert in den gezippten Ressourcen übereinstimmen, um zu verhindern, dass die Paketinstallation fehlschlägt.

    Um die korrekte Prüfsumme aus den zu installierenden Dateien zu erhalten, können Sie die folgenden Befehle ausführen. In Linux führen Sie shasum -a 256 file-name.zip oder openssl dgst -sha256 file-name.zip aus. In Windows führen Sie das Cmdlet Get-FileHash -Path path-to-.zip-file in PowerShell aus.

    Der Abschnitt "files" des Manifests enthält einen Verweis auf jede ZIP-Datei in Ihrem Paket.

    "files": { "test-agent-x86.deb.zip": { "checksums": { "sha256": "EXAMPLE2706223c7616ca9fb28863a233b38e5a23a8c326bb4ae241dcEXAMPLE" } }, "test-agent-x86_64.deb.zip": { "checksums": { "sha256": "EXAMPLE572a745844618c491045f25ee6aae8a66307ea9bff0e9d1052EXAMPLE" } }, "test-agent-x86_64.nano.zip": { "checksums": { "sha256": "EXAMPLE63ccb86e830b63dfef46995af6b32b3c52ce72241b5e80c995EXAMPLE" } }, "test-agent-rhel5-x86.nano.zip": { "checksums": { "sha256": "EXAMPLE13df60aa3219bf117638167e5bae0a55467e947a363fff0a51EXAMPLE" } }, "test-agent-x86.msi.zip": { "checksums": { "sha256": "EXAMPLE12a4abb10315aa6b8a7384cc9b5ca8ad8e9ced8ef1bf0e5478EXAMPLE" } }, "test-agent-x86_64.msi.zip": { "checksums": { "sha256": "EXAMPLE63ccb86e830b63dfef46995af6b32b3c52ce72241b5e80c995EXAMPLE" } }, "test-agent-rhel5-x86.rpm.zip": { "checksums": { "sha256": "EXAMPLE13df60aa3219bf117638167e5bae0a55467e947a363fff0a51EXAMPLE" } }, "test-agent-rhel5-x86_64.rpm.zip": { "checksums": { "sha256": "EXAMPLE7ce8a2c471a23b5c90761a180fd157ec0469e12ed38a7094d1EXAMPLE" } } }
  6. Nachdem Sie die Paketinformationen hinzugefügt haben, speichern und schließen Sie die Manifestdatei.

Im Folgenden finden Sie ein Beispiel für ein fertiges Manifest. In diesem Beispiel haben Sie eine ZIP-Datei NewPackage_LINUX.zip, die mehrere Plattformen unterstützt, jedoch nur einmal im Abschnitt "files" referenziert wird.

{ "schemaVersion": "2.0", "version": "1.7.1", "publisher": "Amazon Web Services", "packages": { "windows": { "_any": { "x86_64": { "file": "NewPackage_WINDOWS.zip" } } }, "amazon": { "_any": { "x86_64": { "file": "NewPackage_LINUX.zip" } } }, "ubuntu": { "_any": { "x86_64": { "file": "NewPackage_LINUX.zip" } } } }, "files": { "NewPackage_WINDOWS.zip": { "checksums": { "sha256": "EXAMPLEc2c706013cf8c68163459678f7f6daa9489cd3f91d52799331EXAMPLE" } }, "NewPackage_LINUX.zip": { "checksums": { "sha256": "EXAMPLE2b8b9ed71e86f39f5946e837df0d38aacdd38955b4b18ffa6fEXAMPLE" } } } }

Beispiel für ein Paket

Sie können von unserer Website ein Beispielpaket mit dem Namen ExamplePackage.zip herunterladen. Das Beispielpaket enthält ein fertiges JSON-Manifest und drei ZIP-Dateien.

Schritt 3: Hochladen von Paket und Manifest zu einem Amazon S3-Bucket

Bereiten Sie Ihr Paket vor, indem Sie alle ZIP-Dateien in einen Ordner oder ein Verzeichnis kopieren oder verschieben. Ein Paket ist nur gültig, wenn es das von Ihnen in Schritt 2: Erstellen des JSON-Paketmanifests erstellte Manifest und alle ZIP-Dateien enthält, die in der Dateiliste des Manifests angegeben sind.

So laden Sie das Paket und das Manifest in Amazon S3 hoch
  1. Kopieren oder verschieben Sie alle von Ihnen im Manifest angegebenen ZIP-Archivdateien in einen Ordner oder ein Verzeichnis. Komprimieren Sie nicht den Ordner oder das Verzeichnis, in das/den Sie die ZIP-Archivdateien und die Manifestdatei verschieben.

  2. Erstellen Sie einen Bucket, oder wählen Sie einen vorhandenen Bucket aus. Weitere Informationen finden Sie unter Create a Bucket (Bucket erstellen) im Amazon Simple Storage Service Getting Started Guide (Amazon Simple Storage Service Erste-Schritte-Leitfaden). Weitere Informationen zum Ausführen eines AWS CLI-Befehls zum Erstellen eines Buckets finden Sie unter mb in der AWS CLI-Befehlsreferenz.

  3. Laden Sie den Ordner oder das Verzeichnis zum Bucket hoch. Anleitungen finden Sie unter Hinzufügen eines Objekts zu einem Bucket im Erste Schritte-Handbuch zu Amazon Simple Storage Service. Wenn Sie das JSON-Manifest in die AWS Systems Manager-Konsole einfügen werden, dürfen Sie das Manifest nicht hochladen. Weitere Informationen zum Ausführen eines AWS CLI-Befehls zum Hochladen von Dateien zu einem Bucket finden Sie unter mv in der AWS CLI-Befehlsreferenz.

  4. Wählen Sie auf der Startseite des Buckets den von Ihnen hochgeladenen Ordner oder das Verzeichnis aus. Wenn Sie Ihre Dateien in einen Unterordner in einem Bucket hochgeladen haben, stellen Sie sicher, dass Sie sich den Namen des Unterordner notieren (wird auch als Präfix bezeichnet). Sie benötigen das Präfix, um Ihr Paket zu Distributor hinzuzufügen.

Schritt 4: Hinzufügen eines Pakets zu Distributor

Sie können die AWS Systems Manager-Konsole, die AWS-Befehlszeilen-Tools (AWS CLI und AWS Tools for PowerShell) oder AWS-SDKs verwenden, um ein neues Paket zu Distributor hinzuzufügen. Wenn Sie ein Paket hinzufügen, fügen Sie ein neues SSM-Dokument hinzu. Mit dem Dokument können Sie das Paket an verwaltete Knoten bereitstellen.

Fügen Sie ein Paket mit der Konsole hinzu

Sie können die AWS Systems Manager-Konsole verwenden, um ein Paket zu erstellen. Halten Sie den Namen des Buckets bereit, auf den Sie in Ihr Paket in Schritt 3: Hochladen von Paket und Manifest zu einem Amazon S3-Bucket hochgeladen haben.

So fügen Sie Distributor ein Paket hinzu (Konsole)
  1. Öffnen Sie die AWS Systems Manager-Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich Distributor aus.

  3. Wählenen Sie auf der Distributor-Startseite die Option Create package (Paket erstellen) und klicken Sie dann auf Advanced (Erweitert).

  4. Geben Sie auf der Seite Create package (Paket erstellen) einen Namen für Ihr Paket ein. Paketnamen können Buchstaben, Zahlen, Punkte, Bindestriche und Unterstriche enthalten. Der Name sollte allgemein genug sein, um auf alle Versionen der Paketanhänge angewendet werden zu können, jedoch spezifisch genug, um den Zweck des Pakets zu identifizieren.

  5. Geben Sie unter Version name (Versionsname) den exakten Wert des Eintrags version in Ihrer Manifestdatei ein.

  6. Wählen Sie unter S3 bucket name (S3-Bucketname) den Namen des Buckets aus, in den Sie Ihre ZIP-Dateien und das Manifest in Schritt 3: Hochladen von Paket und Manifest zu einem Amazon S3-Bucket hochgeladen haben.

  7. Geben Sie unter S3 key prefix (S3-Schlüsselpräfix) den Unterordner des Buckets ein, in dem Ihre ZIP-Dateien und das Manifest gespeichert sind.

  8. Wählen Sie unter Manifest die Option Extract from package (Aus Paket extrahieren) aus, um ein Manifest zu verwenden, das Sie mit Ihren ZIP-Dateien in den Amazon S3-Bucket hochgeladen haben.

    (Optional) Wenn Sie Ihr JSON-Manifest nicht in den S3-Bucket hochgeladen haben, in dem Ihre ZIP-Dateien gespeichert sind, wählen Sie New Manifest (Neues Manifest) aus. Sie können das gesamte Manifest in dem JSON-Editor erstellen oder in ihn hineinkopieren. Weitere Informationen zum Erstellen des JSON-Manifests finden Sie unter Schritt 2: Erstellen des JSON-Paketmanifests.

  9. Wenn das Manifest fertiggestellt ist, wählen Sie Create package (Paket erstellen).

  10. Warten Sie, bis Distributor die Erstellung des Pakets aus den ZIP-Dateien und dem Manifest abgeschlossen hat. Abhängig von der Anzahl und Größe der Pakete, die Sie hinzufügen, kann dies einige Minuten dauern. Distributor leitet Sie automatisch auf die Seite Package details (Paketdetails) für das neue Paket weiter, Sie können diese Seite aber jederzeit selbst öffnen, nachdem die Software hochgeladen ist. Auf der Seite Package details (Paketdetails) werden erst dann alle Informationen zu Ihrem Paket angezeigt, wenn Distributor den Paketerstellungsprozess abgeschlossen hat. Um den Upload- und Paketerstellungsprozess abzubrechen, wählen Sie Cancel (Abbrechen).

Fügen Sie ein Paket mit dem AWS CLI hinzu

Sie können mithilfe der AWS CLI ein Paket erstellen. Halten Sie die URL für den Bucket bereit, zu dem Sie Ihr Paket in Schritt 3: Hochladen von Paket und Manifest zu einem Amazon S3-Bucket hochgeladen haben.

So fügen Sie ein Paket in Amazon S3 hinzu mithilfe von AWS CLI
  1. Um mit AWS CLI ein Paket zu erstellen, führen Sie den folgenden Befehl aus und ersetzen Sie dabei package-name durch den Namen Ihres Pakets und path-to-manifest-file durch den Dateipfad für Ihre JSON-Manifestdatei. amzn-s3-demo-bucket ist die URL des Amazon-S3-Buckets, in dem das gesamte Paket gespeichert ist. Wenn Sie den Befehl create-document in Distributor ausführen, geben Sie den Package-Wert für --document-type an.

    Wenn Sie Ihre Manifestdatei nicht dem Amazon S3-Bucket hinzugefügt haben, ist der --content-Parameterwert der Dateipfad zur JSON-Manifestdatei.

    aws ssm create-document \ --name "package-name" \ --content file://path-to-manifest-file \ --attachments Key="SourceUrl",Values="amzn-s3-demo-bucket" \ --version-name version-value-from-manifest \ --document-type Package

    Im Folgenden wird ein Beispiel gezeigt.

    aws ssm create-document \ --name "ExamplePackage" \ --content file://path-to-manifest-file \ --attachments Key="SourceUrl",Values="https://s3.amazonaws.com/amzn-s3-demo-bucket/ExamplePackage" \ --version-name 1.0.1 \ --document-type Package
  2. Überprüfen Sie, ob Ihr Paket hinzugefügt wurde. Zeigen Sie hierzu das Paketmanifest an, indem Sie den folgenden Befehl ausführen, wobei Sie package-name durch den Namen Ihres Pakets ersetzen. Um eine spezifische Version des Dokuments (nicht identisch mit der Version eines Pakets) zu erhalten, können Sie den Parameter --document-version hinzufügen.

    aws ssm get-document \ --name "package-name"

Informationen zu anderen Optionen, die Sie mit dem Befehl create-document verwenden können, finden Sie unter create-document im Abschnitt AWS Systems Manager der AWS CLI-Command Reference. Informationen zu anderen Optionen, die Sie mit dem Befehl get-document verwenden können, finden Sie unter get-document.