Ressourcen von Drittanbietern hinzufügen zu AWS Config - AWS Config

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.

Ressourcen von Drittanbietern hinzufügen zu AWS Config

Gehen Sie wie folgt vor, um eine Drittanbieter-Ressource hinzuzufügen AWS Config.

Schritt 1: Einrichten Ihrer Entwicklungsumgebung

Installieren und Konfigurieren der AWS CloudFormation AWS CLI. Das AWS CLI ermöglicht Ihnen, Ihre benutzerdefinierten Ressourcen zu modellieren und zu registrieren. Weitere Informationen finden Sie unter Benutzerdefinierte Ressourcen und Was ist die CloudFormation Befehlszeilenschnittstelle? .

Schritt 2: Modellieren Ihrer Ressource

Erstellen Sie ein Ressourcenanbieterschema, das der Konfiguration des Ressourcentyps entspricht und diese validiert.

  1. Verwenden Sie den Befehl init, um Ihr Ressourcenanbieterprojekt zu erstellen und die erforderlichen Dateien zu generieren.

    $ cfn init Initializing new project
  2. Mit dem Befehl init wird ein Assistent gestartet, der Sie durch die Einrichtung des Projekts einschließlich der Angabe des Ressourcennamens führt. Geben Sie für dieses Walkthrough MyCustomNamespace::Testing::WordPress an.

    Enter resource type identifier (Organization::Service::Resource): MyCustomNamespace::Testing::WordPress
  3. Geben Sie einen Paketnamen für Ihre Ressource ein.

    Enter a package name (empty for default 'com.custom.testing.wordpress'): com.custom.testing.wordpress Initialized a new project in /workplace/user/custom-testing-wordpress
    Anmerkung

    Um sicherzustellen, dass alle Projektabhängigkeiten korrekt aufgelöst werden, können Sie das generierte Projekt in Ihre IDE mit Maven-Unterstützung importieren.

    Wenn Sie beispielsweise IntelliJ IDEA verwenden möchten, müssen Sie folgendermaßen vorgehen:

    • Wählen Sie im Menü Datei die Option Neu und dann Projekt von vorhandenen Quellen aus.

    • Navigieren Sie zum Projektverzeichnis.

    • Wählen Sie im Dialogfeld Projekt importieren die Option Projekt aus externem Modell importieren und dann Maven aus.

    • Gehen Sie auf Weiter und akzeptieren Sie alle Standardeinstellungen, um den Import des Projekts abzuschließen.

  4. Öffnen Sie die Datei mycustomnamespace-testing-wordpress.json, die das Schema für Ihre Ressource enthält. Kopieren Sie das folgende Schema und fügen Sie es in mycustomnamespace-testing-wordpress.json ein.

    { "typeName": "MyCustomNamespace::Testing::WordPress", "description": "An example resource that creates a website based on WordPress 5.2.2.", "properties": { "Name": { "description": "A name associated with the website.", "type": "string", "pattern": "^[a-zA-Z0-9]{1,219}\\Z", "minLength": 1, "maxLength": 219 }, "SubnetId": { "description": "A subnet in which to host the website.", "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", "type": "string" }, "InstanceId": { "description": "The ID of the instance that backs the WordPress site.", "type": "string" }, "PublicIp": { "description": "The public IP for the WordPress site.", "type": "string" } }, "required": [ "Name", "SubnetId" ], "primaryIdentifier": [ "/properties/PublicIp", "/properties/InstanceId" ], "readOnlyProperties": [ "/properties/PublicIp", "/properties/InstanceId" ], "additionalProperties": false }
  5. Validieren Sie das Schema.

    $ cfn validate
  6. Aktualisieren Sie die automatisch generierten Dateien im Ressourcenanbieterpaket, um die Aktualisierungen im Ressourcenanbieterschema anzuzeigen. Bei der Initiierung des Resource Provider-Projekts AWS CLI generiert der unterstützende Dateien und Code für den Resource Provider. Generieren Sie den Code neu, um das aktualisierte Schema anzuzeigen.

    $ cfn generate
    Anmerkung

    Wenn Sie Maven verwenden, wird der Befehl generate als Teil des Build-Prozesses automatisch ausgeführt, bevor der Code kompiliert wird. Ihre Änderungen werden also immer mit dem generierten Code synchronisiert.

    Beachten Sie, dass sich die CloudFormation CLI an einem Ort befinden muss, den Maven/das System finden kann. Weitere Informationen finden Sie unter Einrichten Ihrer Umgebung für die Entwicklung von Erweiterungen.

Weitere Informationen finden Sie unter Modellieren von Ressourcenanbietern zur Verwendung in AWS CloudFormation.

Schritt 3: Generieren von Artefakten

Führen Sie den folgenden Befehl aus, um Artefakte für cfn submit zu erstellen.

$ mvn package

Schritt 4: Registrieren Ihrer Ressource

AWS Config benötigt keine Ressourcenanbieter-Handler, um die Konfigurationsverfolgung für Ihre Ressource durchzuführen. Führen Sie den folgenden Befehl aus, um Ihre Ressource zu registrieren.

$ cfn submit

Weitere Informationen finden Sie unter Registrieren von Ressourcenanbietern für die Verwendung in AWS CloudFormation Vorlagen.

Schritt 5: Veröffentlichen der Ressourcenkonfiguration

Ermitteln Sie die Konfiguration für MyCustomNamespace: :Testing::WordPress.

{ "Name": "MyWordPressSite", "SubnetId": "subnet-abcd0123", "InstanceId": "i-01234567", "PublicIp": "my-wordpress-site.com" }

Ermitteln Sie die Schemaversions-ID von AWS CloudFormation DescribeType.

In können Sie sehen AWS Config, ob diese Ressourcenkonfiguration akzeptiert wurde. Um die Einhaltung der Vorschriften zu bewerten, können Sie mithilfe dieser Ressource AWS Config Regeln schreiben.

(Optional) Um die Aufzeichnung der Konfiguration zu automatisieren, sollten Sie regelmäßige oder auf Änderungen basierende Konfigurationssammler implementieren.