Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Arquitectura y terminología del ADDF
Antes de comprender los temas operativos y de seguridad de esta guía, es importante contar con un amplio conocimiento de la terminología, los componentes y la arquitectura del Marco de Datos de Conducción Autónoma (ADDF). Esta sección consta de los siguientes temas:
Terminología del ADDF
La terminología clave del ADDF es la siguiente:
-
Módulo de ADDF: un módulo es una infraestructura como código (IaC) que implementa una tarea común en un sistema avanzado de asistencia al conductor (ADAS). Las tareas habituales incluyen la configuración del almacenamiento de datos centralizado, las canalizaciones de procesamiento de datos, los mecanismos de visualización, las interfaces de búsqueda, las cargas de trabajo de simulación, las interfaces de análisis y los paneles prediseñados. Puede crear un módulo en función de sus necesidades o puede reutilizar o personalizar un módulo existente.
Puede usarlo AWS Cloud Development Kit (AWS CDK) para definir los módulos ADDF, o puede usar cualquier marco IaC común, como Hashicorp Terraform AWS CloudFormation, o para implementar los módulos ADDF. Un módulo cuenta con un conjunto de parámetros de entrada. Los parámetros de entrada pueden depender de los valores de salida de otros módulos. Un módulo de ADDF es la unidad de implementación más pequeña para una Cuenta de AWS de destino del ADDF.
-
Archivo de manifiesto de la implementación del ADDF: este archivo define una orquestación de módulos de ADDF independientes. La orquestación hace referencia al orden de implementación de los módulos. En el archivo de manifiesto de la implementación del ADDF, puede utilizar grupos del ADDF para agrupar módulos relacionados. En este archivo, también se define la cadena de herramientas Cuenta de AWS del ADDF, el objetivo del ADDF y el objetivo. Cuentas de AWS Regiones de AWS
-
Marco de despliegue del ADDF: este marco despliega los módulos del ADDF en el destino del ADDF en Cuentas de AWS función de la organización definida en el archivo de manifiesto de despliegue del ADDF. El marco de despliegue del ADDF se implementa mediante los siguientes proyectos de código abierto: AWS
-
SeedFarmer
(GitHub): SeedFarmer es la herramienta CLI que se utiliza para las implementaciones de ADDF. Administra el estado de cada módulo, prepara y empaqueta el código del módulo, crea las políticas de privilegios mínimos para las funciones de despliegue del ADDF y proporciona las instrucciones semánticas que se utilizan para el despliegue. CodeSeeder Puede interactuar directamente con las implementaciones de SeedFarmer ADDF para ejecutarlas, o bien puede integrarlas en una canalización de integración e implementación continuas (CI/CD). -
CodeSeeder
(GitHub): CodeSeeder despliega una infraestructura arbitraria en forma de paquetes de códigos a través de un trabajo. AWS CodeBuild SeedFarmerorganiza y ejecuta automáticamente. CodeSeeder Solo interactúa SeedFarmer directamente con. CodeSeeder
El marco de implementación del ADDF se ha diseñado para admitir las implementaciones en arquitecturas de una y varias cuentas. En función de los requisitos de su organización, decide si se requiere una arquitectura de una o varias cuentas.
-
-
Cadena de herramientas de la ADDF Cuenta de AWS: esta cuenta organiza y administra la implementación de los módulos en el destino de la ADDF Cuentas de AWS, según las definiciones del archivo de manifiesto de implementación de la ADDF. Una implementación del ADDF solo puede tener una Cuenta de AWS de la cadena de herramientas del ADDF. En una arquitectura de una sola cuenta, la Cuenta de AWS de la cadena de herramientas del ADDF también es la Cuenta de AWS de destino del ADDF. Esta cuenta contiene una función AWS Identity and Access Management (de IAM), denominada función de IAM de la cadena de herramientas de ADDF, que se asume durante el proceso de implementación de ADDF. SeedFarmer En esta guía, nos referimos a una cadena de herramientas de ADDF como una cuenta de cadena de herramientas. Cuenta de AWS
-
Destino de ADDF Cuentas de AWS: estas son las cuentas de destino en las que se van a implementar los módulos de ADDF. Puede tener una o más cuentas de destino. Estas cuentas contienen los recursos y la lógica de la aplicación descritos en el archivo de manifiesto de la implementación del ADDF y sus módulos asignados. En una arquitectura de cuenta única, el objetivo del ADDF también Cuenta de AWS es la cadena de herramientas del ADDF. Cuenta de AWS Cada cuenta de destino de ADDF contiene una función de IAM, denominada función de IAM de despliegue de ADDF, que se asume durante el proceso de implementación. CodeSeeder En esta guía, nos referimos a un destino de ADDF como una cuenta de destino Cuenta de AWS .
-
Instancia del ADDF: al implementar el ADDF y sus módulos en la nube, como se define en el archivo de manifiesto de la implementación del ADDF, se convierte en una instancia del ADDF. Una instancia del ADDF puede tener una arquitectura de una o varias cuentas, y puede implementar varias instancias del ADDF. Para obtener más información sobre cómo elegir la cantidad de instancias y diseñar una arquitectura de cuentas para su caso de uso, consulte Definición de la arquitectura del ADDF.
Arquitectura del ADDF
En el siguiente diagrama, se muestra una arquitectura de alto nivel para una instancia del ADDF en la Nube de AWS. Muestra una arquitectura de varias cuentas, que incluye una cuenta de la cadena de herramientas dedicada y dos cuentas de destino. En esta guía, se describe el end-to-end proceso de uso de ADDF para implementar recursos en las cuentas de destino.

-
Cree y arranque las Cuentas de AWS del ADDF.
Para que funcione de forma correcta, cada cuenta debe arrancarse en el ADDF y AWS CDK. Si se trata de una implementación del ADDF nueva o si agregará cuentas de destino nuevas, realice lo siguiente:
-
Inicie sesión AWS CDK en la cuenta de la cadena de herramientas y en cada cuenta de destino. Para obtener instrucciones, consulte Proceso de arranque (documentación de AWS CDK ). ADDF utiliza AWS CDK para implementar su infraestructura.
-
Arranque el ADDF en la cuenta de la cadena de herramientas y en cada cuenta de destino. Para obtener instrucciones, consulte Bootstrap Cuenta de AWS(s) en la Guía de implementación de ADDF.
Esto configura todas las funciones de IAM específicas de ADDF requeridas por y. SeedFarmer CodeSeeder
nota
Debe realizar este paso solo si implementa el ADDF al principio o agrega cuentas de destino nuevas. Este paso no forma parte de las implementaciones del ADDF recurrentes en instancias del ADDF que ya se han establecido.
-
-
Cree o personalice los módulos de ADDF.
Cree o personalice los módulos de ADDF en función del problema específico que intenta resolver. El módulo debe representar una tarea aislada o un grupo de tareas. Defina los parámetros de entrada para el módulo según sea necesario y utilice los valores de salida del módulo como parámetros de entrada para otros módulos.
-
Defina la orquestación del módulo en el archivo de manifiesto de la implementación del ADDF.
En el archivo de manifiesto del ADDF, organice los módulos en grupos y defina el orden de implementación y las dependencias entre ellos. En este archivo, también se especifica la cuenta única de la cadena de herramientas y las cuentas de destino (incluidas Regiones de AWS) para cada grupo de ADDF y sus módulos.
-
Evalúe el archivo de manifiesto de la implementación del ADDF y establezca el alcance de la implementación.
El desarrollador de ADDF o una canalización de CI/CD, por ejemplo AWS CodePipeline, inicia una evaluación del archivo de manifiesto de implementación de ADDF llamando a la herramienta CLI,. SeedFarmer Para iniciar la evaluación:
-
SeedFarmer utiliza el archivo de manifiesto de despliegue de ADDF como parámetro de entrada para la evaluación.
-
Para asumir la función de IAM de la cadena de herramientas de ADDF, se necesita la SeedFarmer misma función de IAM válida o las mismas credenciales de usuario que se definieron durante el proceso de arranque de ADDF, en el paso 1.
Si SeedFarmer no tiene las credenciales correctas para asumir la función de IAM de la cadena de herramientas de ADDF o no puede acceder al archivo de manifiesto de implementación de ADDF, la evaluación no comienza.
Si SeedFarmer puede iniciar la evaluación, asume la función de IAM de la cadena de herramientas ADDF en la cuenta de la cadena de herramientas. Desde allí, SeedFarmer puede acceder a cualquier cuenta de destino, asumiendo la función de IAM de despliegue de ADDF en esa cuenta. SeedFarmer a continuación, intenta leer todos los metadatos de la ADDF de la cuenta de la cadena de herramientas y de las cuentas de destino. Se produce una de las circunstancias siguientes:
-
Si no hay metadatos de ADDF que leer, eso indica que se trata de una nueva instancia de ADDF. SeedFarmer determina que el ámbito de despliegue abarca todo el archivo de manifiesto de despliegue de ADDF y su contenido.
-
Si existen metadatos del ADDF, SeedFarmer compara el archivo de manifiesto de despliegue del ADDF y su contenido con los MD5 hashes de los artefactos desplegados existentes en las cuentas de destino. Si se detectan cambios que se pueden implementar, este proceso continúa. Si no se detectan cambios que se pueden implementar, el proceso se ha completado.
-
-
Implemente los módulos del ADDF dentro del alcance en las cuentas de destino.
CodeSeeder ahora tiene una lista ordenada de despliegues que ejecutar, según el archivo de manifiesto de despliegue del ADDF y los resultados de la evaluación del paso anterior. En función de esa lista ordenada, CodeSeeder asume la función de IAM de despliegue de ADDF en cada cuenta de destino asociada. A continuación, se ejecuta CodeSeeder en una AWS CodeBuild tarea para crear o actualizar las implementaciones individuales de IaC, como las AWS CDK aplicaciones, para el módulo ADDF. De forma predeterminada, ADDF utiliza AWS CDK como marco de IaC, pero también se admiten otros marcos de IaC comunes. Una vez finalizado el proceso para cada cuenta de destino, dispondrá de un flujo de trabajo completamente implementado, multicuenta y end-to-end basado en ADAS, tal y como se definió en el archivo de manifiesto de despliegue de ADDF.
Si utiliza una arquitectura de una sola cuenta, la cuenta de la cadena de herramientas y las cuentas de destino son la misma cuenta y una cuenta tiene todas las funciones descritas.
-
Utilice la infraestructura implementada por el ADDF.
Un desarrollador del ADAS puede utilizar el flujo de trabajo basado en el ADAS implementado, según lo defina su caso de uso.
En este flujo de trabajo, se describe la arquitectura de una sola instancia de un entorno de varias cuentas del ADDF. Según su modelo de desarrollo, implementación y operaciones, le recomendamos que ejecute varias instancias del ADDF en un entorno de varias etapas. Una configuración típica podría incluir una instancia ADDF dedicada con sucursales dedicadas a cada etapa de implementación, como sucursales Cuentas de AWS para el desarrollo, las pruebas y la producción. También puede ejecutar varias instancias de ADDF en el mismo entorno de una o varias cuentas en el mismo entorno Región de AWS, suponiendo que haya creado un espacio de nombres de recursos único para cada instancia de ADDF. Para obtener más información, consulte Definición de la arquitectura del ADDF.