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.
ADDF-Architektur und -Terminologie
Bevor Sie sich mit den Sicherheits- und Betriebsthemen in diesem Leitfaden vertraut machen können, ist es wichtig, dass Sie sich mit der Terminologie, den Komponenten und der Architektur des Autonomous Driving Data Framework (ADDF) vertraut machen. In diesem Abschnitt werden folgende Themen beschrieben:
ADDF-Terminologie
Die Schlüsselterminologie für ADDF lautet wie folgt:
-
ADDF-Modul – Ein Modul ist Infrastructure as Code (IaC), das eine allgemeine Aufgabe in einem fortschrittlichen Fahrerassistenzsystem (ADAS) implementiert. Zu den häufigsten Aufgaben gehören die Konfiguration zentraler Datenspeicher, Datenverarbeitungspipelines, Visualisierungsmechanismen, Suchschnittstellen, Simulations-Workloads, Analyseschnittstellen und vorgefertigte Dashboards. Sie können ein Modul auf der Grundlage Ihrer Anforderungen erstellen oder ein vorhandenes Modul wiederverwenden oder anpassen.
Sie können die verwenden, AWS Cloud Development Kit (AWS CDK) um ADDF-Module zu definieren, oder Sie können jedes gängige IaC-Framework wie Hashicorp Terraform oder AWS CloudFormation verwenden, um die ADDF-Module zu implementieren. Ein Modul hat eine Reihe von Eingabeparametern. Eingabeparameter können von Ausgabewerten anderer Module abhängen. Ein ADDF-Modul ist die kleinste Bereitstellungseinheit für ein ADDF-Ziel- AWS-Konto.
-
ADDF-Bereitstellungsmanifestdatei – Diese Datei definiert eine Orchestrierung von eigenständigen ADDF-Modulen. Orchestrierung bezieht sich auf die Bereitstellungsreihenfolge der Module. In der ADDF-Bereitstellungsmanifestdatei können Sie ADDF-Gruppen verwenden, um verwandte Module zu gruppieren. In dieser Datei definieren Sie auch die AWS-Konto ADDF-Toolchain, das ADDF-Ziel und das Ziel. AWS-Konten AWS-Regionen
-
ADDF-Bereitstellungsframework — Dieses Framework stellt ADDF-Module auf der AWS-Konten Grundlage der in der ADDF-Bereitstellungsmanifestdatei definierten Orchestrierung im ADDF-Ziel bereit. Das ADDF-Deployment-Framework wird mithilfe der folgenden Open-Source-Projekte implementiert: AWS
-
SeedFarmer
(GitHub) — SeedFarmer ist das CLI-Tool, das für ADDF-Bereitstellungen verwendet wird. Es verwaltet jeden Modulstatus, bereitet den Modulcode vor und verpackt ihn, erstellt Richtlinien mit den geringsten Rechten für die ADDF-Bereitstellungsrollen und stellt semantische Anweisungen bereit, die für die Bereitstellung verwendet werden. CodeSeeder Sie können direkt mit ADDF-Bereitstellungen interagieren SeedFarmer , um sie auszuführen, oder Sie können sie in eine CI/CD-Pipeline (Continuous Integration and Continuous Deployment) integrieren. -
CodeSeeder
(GitHub) — CodeSeeder stellt im Rahmen eines Jobs beliebige Infrastrukturen als Codepakete bereit. AWS CodeBuild SeedFarmerorchestriert und läuft automatisch. CodeSeeder Interagiert nur SeedFarmer direkt mit. CodeSeeder
Das ADDF-Bereitstellungsframework wurde entwickelt, um Bereitstellungen in Architekturen mit einem oder mehreren Konten zu unterstützen. Auf der Grundlage der Anforderungen Ihrer Organisation entscheiden Sie, ob eine Architektur für ein oder mehrere Konten erforderlich ist.
-
-
ADDF-Toolchain AWS-Konto — Dieses Konto orchestriert und verwaltet die Bereitstellung von Modulen im ADDF-Ziel AWS-Konten auf der Grundlage der Definitionen in der ADDF-Bereitstellungsmanifestdatei. Eine ADDF-Bereitstellung kann nur ein ADDF-Toolchain- AWS-Konto haben. In einer Architektur mit einem einzigen Konto ist das ADDF-Toolchain- AWS-Konto auch das ADDF-Ziel- AWS-Konto. Dieses Konto enthält eine AWS Identity and Access Management (IAM-) Rolle, die so genannte ADDF-Toolchain-IAM-Rolle, die während des ADDF-Bereitstellungsprozesses übernommen wird. SeedFarmer In diesem Handbuch bezeichnen wir eine ADDF-Toolchain als Toolchain-Account. AWS-Konto
-
ADDF-Ziel AWS-Konten— Dies sind die Zielkonten, auf denen Sie ADDF-Module bereitstellen. Sie können ein oder mehrere Zielkonten haben. Diese Konten enthalten die Ressourcen und die Anwendungslogik, die in der ADDF-Bereitstellungsmanifestdatei und den zugehörigen Modulen beschrieben sind. In einer Einzelkontenarchitektur AWS-Konto ist das ADDF-Ziel auch die ADDF-Toolchain. AWS-Konto Jedes ADDF-Zielkonto enthält eine IAM-Rolle, die so genannte ADDF-Bereitstellungs-IAM-Rolle, die während des Bereitstellungsprozesses übernommen wird. CodeSeeder In diesem Handbuch bezeichnen wir ein ADDF-Ziel als AWS-Konto Zielkonto.
-
ADDF-Instance – Wenn Sie ADDF und Ihre Module in der Cloud bereitstellen, wie in Ihrer ADDF-Bereitstellungsmanifestdatei definiert, wird daraus eine ADDF-Instance. Eine ADDF-Instance kann eine Architektur mit einem oder mehreren Konten haben, und Sie können mehrere ADDF-Instances bereitstellen. Weitere Informationen zur Auswahl der Anzahl von Instances und zum Entwerfen einer Kontoarchitektur für Ihren Anwendungsfall finden Sie unter Definieren Sie Ihre ADDF-Architektur.
ADDF-Architektur
Das folgende Diagramm zeigt eine High-Level-Architektur für eine ADDF-Instance in der AWS Cloud. Es zeigt eine Architektur mit mehreren Konten, einschließlich einem dedizierten Toolchain-Konto und zwei Zielkonten. In diesem Handbuch wird der end-to-end Prozess der Verwendung von ADDF zur Bereitstellung von Ressourcen für die Zielkonten beschrieben.

-
Erstellen und bootstrappen Sie das ADDF- AWS-Konten.
Um ordnungsgemäß zu funktionieren, muss für jedes Konto ein Bootstrapping zu ADDF AWS CDK durchgeführt werden. Wenn es sich um eine neue ADDF-Bereitstellung handelt oder Sie neue Zielkonten hinzufügen, machen Sie Folgendes:
-
Bootstrap AWS CDK im Toolchain-Account und in jedem Zielkonto. Anweisungen finden Sie unter Bootstrappen (AWS CDK -Dokumentation). ADDF verwendet, AWS CDK um seine Infrastruktur bereitzustellen.
-
Bootstrappen Sie ADDF im Toolchain-Konto und in jedem Zielkonto. Anweisungen finden Sie unter Bootstrap AWS-Konto(s) im ADDF
Deployment Guide. Dadurch werden alle ADDF-spezifischen IAM-Rollen eingerichtet, die für und erforderlich sind. SeedFarmer CodeSeeder
Anmerkung
Sie müssen diesen Schritt nur ausführen, wenn Sie ADDF neu bereitstellen oder neue Zielkonten hinzufügen. Dieser Schritt ist nicht Teil von wiederkehrenden ADDF-Bereitstellungen für bereits eingerichtete ADDF-Instances.
-
-
Erstellen Sie die ADDF-Module oder passen Sie sie an.
Erstellen Sie ADDF-Module oder passen Sie sie auf der Grundlage des spezifischen Problems an, das Sie lösen möchten. Ihr Modul sollte eine isolierte Aufgabe oder eine Gruppe von Aufgaben darstellen. Definieren Sie die Eingabeparameter für das Modul nach Bedarf und verwenden Sie die Modulausgabewerte als Eingabeparameter für andere Module.
-
Definition der Modulorchestrierung in der ADDF-Bereitstellungsmanifestdatei.
Organisieren Sie Module in der ADDF-Manifestdatei in Gruppen und definieren Sie die Bereitstellungsreihenfolge und die Abhängigkeiten zwischen ihnen. In dieser Datei geben Sie auch das einzelne Toolchainkonto und die Zielkonten (einschließlich AWS-Regionen) für jede ADDF-Gruppe und ihre Module an.
-
Bewerten Sie die ADDF-Bereitstellungsmanifestdatei und legen Sie den Bereitstellungsbereich fest.
Der ADDF-Entwickler oder eine CI/CD-Pipeline, z. B. AWS CodePipeline, startet eine Evaluierung der ADDF-Bereitstellungsmanifestdatei, indem er das CLI-Tool aufruft. SeedFarmer Um die Bewertung zu starten:
-
SeedFarmer verwendet die ADDF-Bereitstellungsmanifestdatei als Eingabeparameter für die Evaluierung.
-
Um die IAM-Rolle der ADDF-Toolchain anzunehmen, werden dieselben gültigen IAM-Rollen- oder Benutzeranmeldedaten SeedFarmer erwartet, die während des ADDF-Bootstrap-Prozesses in Schritt 1 definiert wurden.
Wenn SeedFarmer er nicht über die richtigen Anmeldeinformationen verfügt, um die IAM-Rolle der ADDF-Toolchain anzunehmen, oder wenn er nicht auf die ADDF-Bereitstellungsmanifestdatei zugreifen kann, wird die Evaluierung nicht gestartet.
Wenn die Evaluierung gestartet SeedFarmer werden kann, nimmt sie die IAM-Rolle der ADDF-Toolchain im Toolchain-Account an. Von dort aus SeedFarmer kann er auf jedes Zielkonto zugreifen, indem es die IAM-Rolle für die ADDF-Bereitstellung in diesem Konto übernimmt. SeedFarmer versucht dann, alle ADDF-Metadaten im Toolchain-Account und in den Zielkonten zu lesen. Es tritt einer der beiden folgenden Fälle ein:
-
Wenn keine ADDF-Metadaten zum Lesen vorhanden sind, deutet dies darauf hin, dass es sich um eine neue ADDF-Instanz handelt. SeedFarmer bestimmt, dass der Bereitstellungsbereich die gesamte ADDF-Bereitstellungsmanifestdatei und ihren Inhalt umfasst.
-
Wenn ADDF-Metadaten vorhanden sind, SeedFarmer vergleicht die ADDF-Bereitstellungsmanifestdatei und ihr Inhalt mit den MD5 Hashes der vorhandenen bereitgestellten Artefakte in den Zielkonten. Wenn bereitstellbare Änderungen erkannt werden, wird dieser Prozess fortgesetzt. Wenn keine bereitstellbaren Änderungen erkannt werden, ist der Vorgang abgeschlossen.
-
-
Stellen Sie die im Umfang enthaltenen ADDF-Module für die Zielkonten bereit.
CodeSeeder verfügt nun über eine geordnete Liste der auszuführenden Bereitstellungen gemäß der ADDF-Bereitstellungsmanifestdatei und den Evaluierungsergebnissen aus dem vorherigen Schritt. CodeSeeder Nimmt auf der Grundlage dieser sortierten Liste die IAM-Rolle für die ADDF-Bereitstellung in jedem zugehörigen Zielkonto an. Anschließend wird sie CodeSeeder in einem AWS CodeBuild Job ausgeführt, um die einzelnen IaC-Bereitstellungen, z. B. AWS CDK Anwendungen, für das ADDF-Modul zu erstellen oder zu aktualisieren. Standardmäßig verwendet ADDF AWS CDK als IaC-Framework, aber auch andere gängige IaC-Frameworks werden unterstützt. Nachdem der Vorgang für jedes Zielkonto abgeschlossen ist, verfügen Sie über einen vollständig bereitgestellten, kontenübergreifenden, end-to-end ADAS-basierten Workflow, wie Sie ihn in der ADDF-Bereitstellungsmanifestdatei definiert haben.
Wenn Sie eine Architektur mit einem einzigen Konto verwenden, handelt es sich bei dem Toolchain-Konto und den Zielkonten um dasselbe Konto, und dieses eine Konto verfügt über alle beschriebenen Funktionen.
-
Verwenden Sie die von ADDF bereitgestellte Infrastruktur.
Ein ADAS-Entwickler kann den bereitgestellten ADAS-basierten Workflow verwenden, wie er in Ihrem Anwendungsfall definiert ist.
Dieser Workflow beschreibt die Architektur einer einzelnen Instance einer ADDF-Umgebung mit mehreren Konten. Abhängig von Ihrem Entwicklungs-, Bereitstellungs- und Betriebsmodell empfehlen wir, dass Sie mehrere ADDF-Instances in einer mehrstufigen Umgebung ausführen. Ein typisches Setup kann eine dedizierte ADDF-Instanz beinhalten, die AWS-Konten für jede Bereitstellungsphase reserviert ist, z. B. für Entwicklung, Test und Produktion. Sie können auch mehrere ADDF-Instanzen in derselben Umgebung mit einem Konto oder mehreren Konten in derselben Umgebung ausführen AWS-Region, vorausgesetzt, Sie haben für jede ADDF-Instanz einen eindeutigen Ressourcennamespace erstellt. Weitere Informationen finden Sie unter Definieren Sie Ihre ADDF-Architektur.