Arbeiten mit Dokumenten - AWS Systems Manager

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.

Arbeiten mit Dokumenten

Dieser Abschnitt enthält Informationen darüber, wie Sie SSM-Dokumente verwenden und mit ihnen arbeiten können.

Verwenden von SSM-Dokumenten in State Manager-Zuordnungen

Wenn Sie ein SSM-Dokument fürState Manager, eine Fähigkeit von, erstellen AWS Systems Manager, müssen Sie das Dokument Ihren verwalteten Instanzen zuordnen, nachdem Sie das Dokument dem System hinzugefügt haben. Weitere Informationen finden Sie unter Arbeiten mit Zuordnungen in Systems Manager.

Beachten Sie die folgenden Details, wenn Sie SSM-Dokumente in State Manager-Zuordnungen verwenden.

  • Sie können einem Ziel mehrere Dokumente zuweisen, indem Sie verschiedene State Manager-Zuweisungen erstellen, die verschiedene Dokumente verwenden.

  • Wenn Sie ein Dokument mit Plug-in-Verweisen erstellen, die miteinander in Konflikt stehen (z. B. Plug-in für einen Domain-Beitritt und Plug-in zum Entfernen aus einer Domain), befindet sich das System nach Abschluss der Ausführung in dem Zustand, den das letzte Plug-in hergestellt hat. State Manager überprüft weder die logische Abfolge noch die Semantik der Befehle oder Plug-ins in Ihrem Dokument.

  • Bei der Verarbeitung von Dokumenten werden zuerst Instance-Verknüpfungen und dann die Verknüpfungen von getaggten Gruppen angewendet. Wenn eine Instance Teil mehrerer getaggter Gruppen ist, dann werden die Dokumente, die Teil der getaggten Gruppe sind, in keiner bestimmten Reihenfolge ausgeführt. Wenn für eine Instance über ihre Instance-ID mehrere Dokumente direkt als Ziel vorgegeben sind, werden die Dokumente in keine bestimmten Reihenfolge ausgeführt.

  • Wenn Sie die Standardversion eines SSM-Richtliniendokuments für State Manager ändern, verwenden alle Zuordnungen, die das Dokument verwenden, ab dem nächsten Mal, wenn Systems Manager die Zuordnung auf die Instance anwendet, die neue Standardversion.

  • Wenn Sie eine Zuordnung mit einem SSM-Dokument erstellen, das für Sie freigegeben wurde, und der Besitzer dann die Freigabe des Dokuments für Sie beendet, können Ihre Zuordnungen nicht mehr auf dieses Dokument zugreifen. Wenn jedoch der Besitzer zu einem späteren Zeitpunkt dasselbe SSM-Dokument für Sie erneut freigibt, werden Ihre Zuordnungen diesem automatisch erneut zugewiesen.

Vergleichen von SSM-Dokumentversionen

Sie können die inhaltlichen Unterschiede zwischen den Versionen von AWS Systems Manager (SSM-) Dokumenten in der Systems Manager Manager-Dokumentenkonsole vergleichen. Beim Vergleich von Versionen eines SSM-Dokuments werden Unterschiede zwischen dem Inhalt der Versionen hervorgehoben.

Vergleichen von SSM-Dokumentinhalten (Konsole)
  1. Öffnen Sie die AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich die Option Documents (Dokumente) aus.

  3. Wählen Sie in der Dokumentliste das freizugebende Dokument, dessen Inhalt Sie teilen möchten.

  4. Wählen Sie auf der Registerkarte Content (Inhalt) die Option Compare versions (Versionen vergleichen) und wählen Sie die Version des Dokuments aus, mit der Sie den Inhalt vergleichen möchten.

Erstellen eines SSM-Dokuments (Konsole)

Nachdem Sie den Inhalt wie unter Schreiben von SSM-Dokumentinhalt beschrieben für das benutzerdefinierte SSM-Dokument erstellt haben, können Sie mithilfe der Systems Manager-Konsole ein SSM-Dokument mit Ihrem Inhalt erstellen.

Erstellen eines SSM-Dokuments (Konsole)
  1. Öffnen Sie die AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich die Option Documents (Dokumente) aus.

  3. Wählen Sie Create command or session (Befehl oder Sitzung erstellen) aus.

  4. Geben Sie einen aussagekräftigen Namen für das Dokument ein.

  5. (Optional) Geben Sie in Target type (Zieltyp) den Typ der Ressourcen an, auf denen das Dokument ausgeführt werden kann.

  6. Wählen Sie in der Liste Document type den Typ des zu erstellenden Dokuments aus.

  7. Löschen Sie die Klammern im Feld Content (Inhalt) und fügen Sie dann den zuvor erstellten Dokumentinhalt ein.

  8. (Optional) Wenden Sie im Abschnitt Document tags (Dokument-Tags) ein oder mehrere Tag-Schlüssel-Name/Wert-Paare auf das Dokument an.

    Tags sind optionale Metadaten, die Sie einer Ressource zuweisen. Mithilfe von Tags können Sie eine Ressource unterschiedlich kategorisieren, beispielsweise nach Zweck, Besitzer oder Umgebung. Möglicherweise möchten Sie ein Dokument markieren, um den Typ der von ihm ausgeführten Aufgaben, den Typ der Betriebssysteme, auf die es ausgerichtet ist, und die Umgebung, in der es ausgeführt wird, zu identifizieren. In diesem Fall könnten Sie z.B. die folgenden Schlüsselname-Wert-Paare angeben:

    • Key=TaskType,Value=MyConfigurationUpdate

    • Key=OS,Value=AMAZON_LINUX_2

    • Key=Environment,Value=Production

    Weitere Informationen über das Taggen von System Manager-Ressourcen finden Sie unter Markieren von Systems Manager-Ressourcen.

  9. Wählen Sie Create document aus, um das Dokument zu speichern.

Erstellen eines SSM-Dokuments (Befehlszeile)

Nachdem Sie den Inhalt für Ihr benutzerdefiniertes Dokument AWS Systems Manager (SSM) erstellt haben, wie unter beschriebenSchreiben von SSM-Dokumentinhalt, können Sie das AWS Command Line Interface (AWS CLI) oder verwenden, AWS Tools for PowerShell um ein SSM-Dokument mit Ihren Inhalten zu erstellen. Das wird im folgenden Befehl veranschaulicht.

Bevor Sie beginnen

Installieren und konfigurieren Sie das AWS CLI oder das AWS Tools for PowerShell, falls Sie das noch nicht getan haben. Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version der AWS CLI und Installieren des AWS Tools for PowerShell.

Führen Sie den folgenden Befehl aus. Ersetzen Sie jeden Beispiel Platzhalter für Ressourcen mit Ihren eigenen Informationen.

Linux & macOS
aws ssm create-document \ --content file://path/to/file/documentContent.json \ --name "document-name" \ --document-type "Command" \ --tags "Key=tag-key,Value=tag-value"
Windows
aws ssm create-document ^ --content file://C:\path\to\file\documentContent.json ^ --name "document-name" ^ --document-type "Command" ^ --tags "Key=tag-key,Value=tag-value"
PowerShell
$json = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String New-SSMDocument ` -Content $json ` -Name "document-name" ` -DocumentType "Command" ` -Tags "Key=tag-key,Value=tag-value"

Bei erfolgreicher Ausführung gibt der Befehl eine Antwort zurück, die in etwa wie folgt aussieht:

{
"DocumentDescription":{
  "CreatedDate":1.585061751738E9,
  "DefaultVersion":"1",
  "Description":"MyCustomDocument",
  "DocumentFormat":"JSON",
  "DocumentType":"Command",
  "DocumentVersion":"1",
  "Hash":"0d3d879b3ca072e03c12638d0255ebd004d2c65bd318f8354fcde820dEXAMPLE",
  "HashType":"Sha256",
  "LatestVersion":"1",
  "Name":"Example",
  "Owner":"111122223333",
  "Parameters":[
     --truncated--
  ],
  "PlatformTypes":[
     "Windows",
     "Linux"
  ],
  "SchemaVersion":"0.3",
  "Status":"Creating",
  "Tags": [
        {
            "Key": "Purpose",
            "Value": "Test"
        }
    ]
}
}

Erstellen eines SSM-Dokuments (API)

Nachdem Sie den Inhalt für Ihr benutzerdefiniertes Dokument AWS Systems Manager (SSM) erstellt haben, können Sie, wie unter beschriebenSchreiben von SSM-Dokumentinhalt, Ihr bevorzugtes SDK verwenden, um den AWS Systems Manager CreateDocumentAPI-Vorgang zum Erstellen eines SSM-Dokuments mit Ihrem Inhalt aufzurufen. Die JSON- oder YAML-Zeichenfolge für den Content-Anforderungsparameter wird in der Regel aus einer Datei gelesen. Mit den folgenden Beispielfunktionen wird ein SSM-Dokument mit den SDKs für Python, Go und Java erstellt.

Python
import boto3 ssm = boto3.client('ssm') filepath = '/path/to/file/documentContent.yaml' def createDocumentApiExample(): with open(filepath) as openFile: documentContent = openFile.read() createDocRequest = ssm.create_document( Content = documentContent, Name = 'createDocumentApiExample', DocumentType = 'Automation', DocumentFormat = 'YAML' ) print(createDocRequest) createDocumentApiExample()
Go
package main import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/ssm" "fmt" "io/ioutil" "log" ) func main() { openFile, err := ioutil.ReadFile("/path/to/file/documentContent.yaml") if err != nil { log.Fatal(err) } documentContent := string(openFile) sesh := session.Must(session.NewSessionWithOptions(session.Options{ SharedConfigState: session.SharedConfigEnable})) ssmClient := ssm.New(sesh) createDocRequest, err := ssmClient.CreateDocument(&ssm.CreateDocumentInput{ Content: &documentContent, Name: aws.String("createDocumentApiExample"), DocumentType: aws.String("Automation"), DocumentFormat: aws.String("YAML"), }) result := *createDocRequest fmt.Println(result) }
Java
import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import com.amazonaws.AmazonClientException; import com.amazonaws.AmazonServiceException; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement; import com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder; import com.amazonaws.services.simplesystemsmanagement.model.*; public class createDocumentApiExample { public static void main(String[] args) { try { createDocumentMethod(getDocumentContent()); } catch (IOException e) { e.printStackTrace(); } } public static String getDocumentContent() throws IOException { String filepath = new String("/path/to/file/documentContent.yaml"); byte[] encoded = Files.readAllBytes(Paths.get(filepath)); String documentContent = new String(encoded, StandardCharsets.UTF_8); return documentContent; } public static void createDocumentMethod (final String documentContent) { AWSSimpleSystemsManagement ssm = AWSSimpleSystemsManagementClientBuilder.defaultClient(); final CreateDocumentRequest createDocRequest = new CreateDocumentRequest() .withContent(documentContent) .withName("createDocumentApiExample") .withDocumentType("Automation") .withDocumentFormat("YAML"); final CreateDocumentResult result = ssm.createDocument(createDocRequest); } }

Weitere Informationen zum Erstellen von benutzerdefinierten Dokumentinhalt finden Sie unter Datenelemente und Parameter.

Löschen benutzerdefinierter SSM-Dokumente

Wenn Sie ein benutzerdefiniertes SSM-Dokument nicht mehr verwenden möchten, können Sie es entweder mit der AWS Command Line Interface (AWS CLI) oder der AWS Systems Manager Konsole löschen.

Löschen eines SSM-Dokuments (AWS CLI)
  1. Bevor Sie das Dokument löschen, sollten Sie die Zuordnung aller Instances aufheben, die dem Dokument zugeordnet sind.

    Führen Sie den folgenden Befehl aus, um die Zuordnung einer Instance zu einem Dokument aufzuheben.

    aws ssm delete-association --instance-id "123456789012" --name "documentName"

    Wenn der Befehl erfolgreich ausgeführt wurde, gibt es keine Ausgabe.

  2. Führen Sie den folgenden Befehl aus. Ersetzen Sie jeden Beispiel Platzhalter für Ressourcen mit Ihren eigenen Informationen.

    Linux
    aws ssm delete-document \ --name "document-name" \ --document-version "document-version" \ --version-name "version-name"
    Windows
    aws ssm delete-document ^ --name "document-name" ^ --document-version "document-version" ^ --version-name "version-name"
    PowerShell
    Delete-SSMDocument ` -Name "document-name" ` -DocumentVersion 'document-version' ` -VersionName 'version-name'

    Wenn der Befehl erfolgreich ausgeführt wurde, gibt es keine Ausgabe.

    Wichtig

    Wenn das Symbol document-version oder der version-name nicht zur bereitgestellt werden, werden alle Versionen des Dokuments gelöscht

Löschen eines SSM-Dokuments (Konsole)
  1. Öffnen Sie die AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich die Option Documents (Dokumente) aus.

  3. Wählen Sie das Dokument aus, die Sie löschen möchten.

  4. Wählen Sie Löschen. Wenn Sie zum Löschen des Dokuments aufgefordert werden, wählen Sie Löschen.