View a markdown version of this page

Vorlagen mit cloudformation-validate validieren - AWS CloudFormation

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.

Vorlagen mit cloudformation-validate validieren

Das cloudformation-validate Open-Source-Projekt überprüft JSON- und CloudFormation YAML-Vorlagen lokal und ist unter verfügbar. GitHub Es kann eine ungültige Vorlagenstruktur, defekte Referenzen, Sicherheitsprobleme und Best-Practice-Probleme finden. Jedes Ergebnis umfasst das Problem, seinen Schweregrad und seine Position in der Vorlage.

Das Tool enthält die Regeln und CloudFormation Ressourcendefinitionen, die es benötigt, sodass es nach der Installation ohne Netzwerkzugriff oder AWS Anmeldeinformationen ausgeführt werden kann.

Wählen Sie eine Validierungsmethode

  • Befehlszeile — Führen Sie diese Option auscfn-validate, um eine Vorlage oder jede Vorlage in einem Verzeichnis von einem Terminal oder einem automatisierten Build aus zu überprüfen.

  • Bibliothek — Fügen Sie den Validator zu einer Rust-, Python- Node.js, Go- oder JVM-Anwendung hinzu und verarbeiten Sie die Ergebnisse in Ihrem Code.

  • AWS CDK— Validieren Sie Vorlagen automatisch, nachdem CDK sie synthetisiert hat.

  • Benutzerdefinierte Regeln — Fügen Sie Schecks hinzu, die in CEL, Rego oder der Guard-Regelsprache verfasst sind. Unterstützte Regelformate und Beispiele finden Sie in der Referenz zu benutzerdefinierten Regeln unter GitHub. Informationen zur Syntax von Guard-Regeln finden Sie Vorlagen mit Guard validieren in diesem Handbuch.

Installieren Sie das Befehlszeilentool

Öffnen Sie die neueste cfn-validate Version am GitHub und laden Sie die cfn-validate Datei für Ihr Betriebssystem und Ihren Prozessor herunter. Folgen Sie der Installationsanleitung auf, GitHub um die Datei umzubenennencfn-validate, sie zu Ihrer PATH hinzuzufügen und die heruntergeladene Datei zu überprüfen.

Führen Sie die Validierung durch

Der Befehl verwendet die folgende Syntax:

cfn-validate TEMPLATE_OR_DIRECTORY [OPTIONS]

Überprüfen Sie eine Vorlage:

cfn-validate template.yaml

Übergeben Sie ein Verzeichnis, um jede .yaml.yml, und .json -Datei rekursiv zu überprüfen:

cfn-validate ./templates/

Der Befehl schreibt einen strukturierten JSON-Validierungsbericht in die Standardausgabe. Wird --format standard für eine kompakte Ausgabe oder --format detailed für den detaillierten Standardbericht verwendet.

Der Befehl kehrt zurück, 0 wenn kein Fehler oder eine schwerwiegende Diagnose gefunden wird, 1 wenn ein Fehler oder eine schwerwiegende Diagnose gefunden wird und 2 wenn ein Verwendungs- oder Initialisierungsfehler vorliegt, z. B. eine ungültige Option oder eine Datei, die nicht existiert.

Alle Engines, Filter, Ausgabeformate und Parameter finden Sie in der cfn-validate CLI-Referenz unter GitHub.

Fügen Sie benutzerdefinierte Regeln hinzu

Wird verwendet--rule-source, um eine benutzerdefinierte Rego- oder CEL-Regeldatei zu laden. Wird verwendet--guard-rule-source, um eine Guard-Regeldatei oder ein Verzeichnis zu laden. Sie können beide Optionen wiederholen, um mehrere Regelquellen zu laden:

cfn-validate template.yaml --rule-source ./rules/my-rule.rego cfn-validate template.yaml --guard-rule-source ./guard-rules/

Regelformate und Beispiele finden Sie unter Referenz zu benutzerdefinierten Regeln unter GitHub.

Betten Sie die Validierungsbibliothek ein

Installieren Sie das veröffentlichte Paket für Ihre Programmiersprache, um dieselben Offline-Prüfungen von Ihrer Anwendung aus durchzuführen. Erstellen Sie einmal eine Validierungsengine, verwenden Sie sie für mehrere Vorlagen wieder und verarbeiten Sie die für jede Vorlage zurückgegebenen strukturierten Diagnosen. Sie können auch benutzerdefinierte CEL-, Rego- oder Guard-Regeln über die Bibliotheks-API konfigurieren.

Installationsanweisungen und unterstützte Plattformen finden Sie in der Installationsanleitung zur Sprachbindung.

Vollständige Beispiele in jeder Sprache und Links zu den einzelnen API-Anleitungen finden Sie unter Als Bibliothek einbetten in der Projektdokumentation unter GitHub.

Verwendet mit AWS CDK

Wenn Sie ihn verwenden AWS CDK, müssen Sie den Validator nicht separat installieren. Die AWS CDK Konstruktbibliothek enthält eine StandardbibliothekCloudFormationValidatePlugin, die dieselben Prüfungen automatisch durchführt, nachdem Sie Ihre Vorlagen synthetisiert haben. CloudFormation

cdk synth

CDK meldet mögliche Bereitstellungsfehler und Best-Practice-Ergebnisse zusammen mit seinen Validierungsergebnissen. Sie können explizit konfigurierenCloudFormationValidatePlugin, wann Sie benutzerdefinierte Rego- oder Guard-Regeln hinzufügen möchten.

Informationen zur Plugin-Konfiguration, Bestätigungen und Validierungsberichte finden Sie unter Vorlagen- und Richtlinienvalidierung in der AWS CDK API-Referenz.

Verstehen Sie den Umfang der Validierung

Die Einschränkungen der lokalen Validierung und die vor der Bereitstellung zu ergreifenden Schritte finden Sie unterVerstehen Sie den Umfang der Validierung.