Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Terminologia e architettura dell'ADDF
Per poter comprendere gli argomenti operativi e di sicurezza di questa guida, è necessaria una conoscenza approfondita della terminologia, dei componenti e dell'architettura dell'Autonomous Driving Data Framework (ADDF). Questa sezione contiene i seguenti argomenti:
Terminologia dell'ADDF
La terminologia chiave dell'ADDF è la seguente:
-
Modulo ADDF: un modulo è un'infrastruttura come codice (IaC) che implementa un'attività comune in un sistema avanzato di assistenza alla guida (advanced driver-assistance system, ADAS). Le attività più comuni includono la configurazione dell'archiviazione di dati centralizzata, le pipeline di elaborazione dati, i meccanismi di visualizzazione, le interfacce di ricerca, i carichi di lavoro di simulazione, le interfacce di analisi e i pannelli di controllo predefiniti. È possibile creare un modulo in base alle proprie esigenze oppure riutilizzare o personalizzare un modulo esistente.
È possibile utilizzare AWS Cloud Development Kit (AWS CDK) per definire i moduli ADDF oppure è possibile utilizzare qualsiasi framework IaC comune, come Hashicorp Terraform o AWS CloudFormation, per implementare i moduli ADDF. I moduli hanno una serie di parametri di input. I parametri di input possono dipendere dai valori di output di altri moduli. Il modulo ADDF è l'unità di implementazione più piccola per un Account AWS di destinazione dell'ADDF.
-
File manifesto dell'implementazione dell'ADDF: questo file definisce un'orchestrazione di moduli ADDF autonomi. L'orchestrazione si riferisce all'ordine di implementazione dei moduli. Nel file manifesto dell'implementazione dell'ADDF, è possibile utilizzare gruppi ADDF per raggruppare i moduli correlati. In questo file, si definiscono anche la toolchain Account AWS ADDF, la destinazione ADDF e la destinazione. Account AWS Regioni AWS
-
Framework di distribuzione ADDF: questo framework distribuisce i moduli ADDF nella destinazione ADDF in Account AWS base all'orchestrazione definita nel file manifesto di distribuzione ADDF. Il framework di distribuzione ADDF viene implementato utilizzando i seguenti progetti open source: AWS
-
SeedFarmer
(GitHub) — SeedFarmer è lo strumento CLI utilizzato per le distribuzioni ADDF. Gestisce ogni stato del modulo, prepara e impacchetta il codice del modulo, crea le politiche con privilegi minimi per i ruoli di distribuzione ADDF e fornisce istruzioni semantiche da utilizzare per la distribuzione. CodeSeeder È possibile interagire direttamente con le distribuzioni ADDF SeedFarmer per eseguire o integrarle in una pipeline di integrazione e distribuzione continua (CI/CD). -
CodeSeeder
(GitHub) — CodeSeeder distribuisce un'infrastruttura arbitraria come pacchetti di codice tramite un processo. AWS CodeBuild SeedFarmerorchestra ed esegue automaticamente. CodeSeeder Interagisce SeedFarmer direttamente solo con. CodeSeeder
Il framework di implementazione ADDF è progettato per supportare le implementazioni in architetture ad account singolo e multi-account. In base ai requisiti dell'organizzazione, si può decidere se è necessaria un'architettura ad account singolo o multi-account.
-
-
Toolchain ADDF Account AWS: questo account orchestra e gestisce la distribuzione dei moduli nella destinazione ADDF Account AWS, in base alle definizioni nel file manifesto di distribuzione ADDF. Un'implementazione dell'ADDF può avere un solo Account AWS toolchain ADDF. In un'architettura ad account singolo, l' Account AWS toolchain ADDF è anche l' Account AWS di destinazione dell'ADDF. Questo account contiene un ruolo AWS Identity and Access Management (IAM), chiamato ruolo IAM della toolchain ADDF, che viene assunto da durante il processo di distribuzione ADDF. SeedFarmer In questa guida, facciamo riferimento a una toolchain ADDF come a un account toolchain Account AWS .
-
Target ADDF Account AWS: questi sono gli account di destinazione in cui vengono distribuiti i moduli ADDF. È possibile avere uno o più account di destinazione. Questi account contengono le risorse e la logica dell'applicazione descritte nel file manifesto dell'implementazione dell'ADDF e nei relativi moduli mappati. In un'architettura a account singolo, il target ADDF Account AWS è anche la toolchain ADDF. Account AWS Ogni account di destinazione ADDF contiene un ruolo IAM, chiamato ruolo IAM di implementazione ADDF, che viene assunto da durante il processo di distribuzione. CodeSeeder In questa guida, facciamo riferimento a un target ADDF Account AWS come a un account di destinazione.
-
Istanza ADDF: quando si implementano l'ADDF e i propri moduli nel cloud, come definito nel file manifesto dell'implementazione dell'ADDF, diventano un'istanza ADDF. Un'istanza ADDF può avere un'architettura ad account singolo o multi-account ed è possibile implementare più istanze ADDF. Per ulteriori informazioni sulla scelta del numero di istanze e sulla progettazione dell'architettura dell'account per il tuo caso d'uso, vedi Definizione dell'architettura dell'ADDF.
Architettura dell'ADDF
Il diagramma seguente mostra un'architettura di alto livello per un'istanza ADDF nel Cloud AWS. Mostra un'architettura multi-account che include un account toolchain dedicato e due account di destinazione. Questa guida illustra il end-to-end processo di utilizzo di ADDF per distribuire risorse agli account di destinazione.

-
Creazione e bootstrap dell' Account AWS ADDF.
Per funzionare correttamente, ogni account deve essere sottoposto a bootstrap sull'ADDF e su AWS CDK. Se si tratta di una nuova implementazione dell'ADDF o stai aggiungendo nuovi account di destinazione, procedi come segue:
-
Bootstrap AWS CDK nell'account della toolchain e in ogni account di destinazione. Per istruzioni, consulta Bootstrapping (documentazione AWS CDK ). ADDF utilizza AWS CDK per implementare la propria infrastruttura.
-
Bootstrap dell'ADDF nell'account toolchain e in ogni account di destinazione. Per istruzioni, consulta Bootstrap Account AWS(s) nella ADDF
Deployment Guide. Questo imposta tutti i ruoli IAM specifici di ADDF richiesti da e. SeedFarmer CodeSeeder
Nota
Devi eseguire questo passaggio solo se stai eseguendo l'implementazione iniziale dell'ADDF o se stai aggiungendo nuovi account di destinazione. Questo passaggio non fa parte delle implementazioni ADDF ricorrenti su istanze ADDF già stabilite.
-
-
Crea o personalizza i moduli ADDF.
Crea o personalizza i moduli ADDF in base al problema specifico da risolvere. Il modulo dovrebbe rappresentare un'attività isolata o un gruppo di attività isolato. Definisci i parametri di input per il modulo secondo necessità e usa i valori di output del modulo come parametri di input per altri moduli.
-
Definisci l'orchestrazione del modulo nel file manifesto dell'implementazione dell'ADDF.
Nel file manifesto dell'ADDF, organizza i moduli in gruppi e definisci l'ordine di implementazione e le dipendenze tra di essi. In questo file, specificate anche il singolo account della toolchain e gli account di destinazione (inclusi Regioni AWS) per ogni gruppo ADDF e i relativi moduli.
-
Valuta il file manifesto dell'implementazione dell'ADDF e stabilisci l'ambito di implementazione.
Lo sviluppatore ADDF o una pipeline CI/CD, ad esempio AWS CodePipeline, avvia una valutazione del file manifesto di distribuzione ADDF chiamando lo strumento CLI,. SeedFarmer Per iniziare la valutazione:
-
SeedFarmer utilizza il file manifesto di distribuzione ADDF come parametro di input per la valutazione.
-
Per assumere il ruolo IAM della toolchain ADDF, SeedFarmer si prevede lo stesso ruolo IAM o le stesse credenziali utente valide definite durante il processo di bootstrap ADDF, nel passaggio 1.
Se SeedFarmer non dispone delle credenziali corrette per assumere il ruolo IAM della toolchain ADDF o non può accedere al file manifesto di distribuzione ADDF, la valutazione non viene avviata.
Se SeedFarmer può avviare la valutazione, assume il ruolo IAM della toolchain ADDF nell'account della toolchain. Da lì, SeedFarmer può accedere a qualsiasi account di destinazione, assumendo il ruolo IAM di implementazione ADDF in quell'account. SeedFarmer quindi prova a leggere tutti i metadati ADDF nell'account della toolchain e negli account di destinazione. Si verifica una delle seguenti situazioni:
-
Se non ci sono metadati ADDF da leggere, ciò indica che si tratta di una nuova istanza ADDF. SeedFarmer determina che l'ambito di distribuzione è l'intero file manifesto di distribuzione ADDF e il relativo contenuto.
-
Se esistono metadati ADDF, SeedFarmer confronta il file manifesto di distribuzione ADDF e il relativo contenuto con gli MD5 hash degli artefatti distribuiti esistenti negli account di destinazione. Se vengono rilevate modifiche che possono essere implementate, questo processo continua. Se non viene rilevata alcuna modifica da implementare, il processo è completato.
-
-
Implementa i moduli ADDF pertinenti negli account di destinazione.
CodeSeeder ora dispone di un elenco ordinato di distribuzioni da eseguire, in base al file manifesto di distribuzione ADDF e ai risultati della valutazione del passaggio precedente. In base a tale elenco ordinato, CodeSeeder presuppone il ruolo IAM di implementazione ADDF in ogni account di destinazione associato. Viene quindi eseguito CodeSeeder in un AWS CodeBuild processo per creare o aggiornare le singole distribuzioni IaC, ad esempio le AWS CDK applicazioni, per il modulo ADDF. Per impostazione predefinita, ADDF utilizza AWS CDK come framework IAc, ma sono supportati anche altri framework IAc comuni. Una volta completato il processo per ogni account di destinazione, si dispone di un flusso di lavoro completamente distribuito, su più account e end-to-end basato su ADAS, come definito nel file manifesto di distribuzione ADDF.
Se usi un'architettura ad account singolo, l'account toolchain e gli account di destinazione sono lo stesso account, e questo account unico dispone di tutte le funzionalità descritte in precedenza.
-
Usa l'infrastruttura implementata dall'ADDF.
Uno sviluppatore ADAS può utilizzare il flusso di lavoro basato sull'ADAS distribuito in base al caso d'uso.
Questo flusso di lavoro descrive l'architettura di una singola istanza di un ambiente multi-account ADDF. A seconda del modello di sviluppo, implementazione e funzionamento, si consiglia di eseguire più istanze ADDF in un ambiente a più fasi. Una configurazione tipica potrebbe includere un'istanza ADDF dedicata dedicata a ciascuna fase di distribuzione, ad esempio filiali Account AWS per lo sviluppo, il test e la produzione. È inoltre possibile eseguire più istanze ADDF nello stesso ambiente con account singolo o multiaccount nello stesso ambiente Regione AWS, supponendo di aver creato uno spazio dei nomi di risorse univoco per ogni istanza ADDF. Per ulteriori informazioni, consulta Definizione dell'architettura dell'ADDF.