As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Arquitetura e terminologia do ADDF
Antes de entender os tópicos operacionais e de segurança deste guia, é importante ter uma compreensão de alto nível da terminologia, dos componentes e da arquitetura do Autonomous Driving Data Framework (ADDF). Esta seção contém os seguintes tópicos:
Terminologia do ADDF
A terminologia importante do ADDF é:
-
Módulo do ADDF: um módulo é uma infraestrutura como código (IaC) que implementa uma tarefa comum em um sistema avançado de assistência ao motorista (ADAS). As tarefas comuns incluem a configuração de armazenamento de dados centralizado, pipelines de processamento de dados, mecanismos de visualização, interfaces de pesquisa, workloads de simulação, interfaces de análise e painéis pré-criados. Você pode criar um módulo com base em seus requisitos ou pode reutilizar ou personalizar um módulo existente.
Você pode usar o AWS Cloud Development Kit (AWS CDK) para definir módulos ADDF ou usar qualquer estrutura IaC comum, como o Hashicorp Terraform ou AWS CloudFormation, para implementar os módulos ADDF. Um módulo tem um conjunto de parâmetros de entrada. Os parâmetros de entrada podem depender dos valores de saída de outros módulos. Um módulo ADDF é a menor unidade de implantação para uma Conta da AWS de destino do ADDF.
-
Arquivo de manifesto de implantação do ADDF: esse arquivo define uma orquestração de módulos ADDF autônomos. Orquestração refere-se à ordem de implantação dos módulos. No arquivo de manifesto de implantação do ADDF, você pode usar grupos do ADDF para agrupar módulos relacionados. Nesse arquivo, você também define a cadeia de ferramentas ADDF Conta da AWS, o destino ADDF e o destino Contas da AWS. Regiões da AWS
-
Estrutura de implantação do ADDF — Essa estrutura implanta módulos do ADDF no destino do ADDF Contas da AWS com base na orquestração definida no arquivo de manifesto de implantação do ADDF. A estrutura de implantação do ADDF é implementada usando os seguintes projetos de AWS código aberto:
-
SeedFarmer
(GitHub) — SeedFarmer é a ferramenta CLI usada para implantações de ADDF. Ele gerencia cada estado do módulo, prepara e empacota o código do módulo, cria as políticas de privilégios mínimos para as funções de implantação do ADDF e fornece instruções semânticas que são usadas para implantação. CodeSeeder Você pode interagir diretamente com SeedFarmer o ADDF para executar implantações ou integrá-lo em um pipeline de integração contínua e implantação contínua (CI/CD). -
CodeSeeder
(GitHub) — CodeSeeder implanta infraestrutura arbitrária como pacotes de código por meio de um AWS CodeBuild trabalho. SeedFarmerorquestra e executa automaticamente. CodeSeeder Só interage SeedFarmer diretamente com CodeSeeder.
A estrutura de implantação do ADDF foi projetada para oferecer suporte a implantações em arquiteturas de conta única e de várias contas. Com base nos requisitos da sua organização, você decide se uma arquitetura de conta única ou de várias contas é necessária.
-
-
Conjunto de ferramentas ADDF Conta da AWS — Essa conta orquestra e gerencia a implantação de módulos no destino do ADDF Contas da AWS, com base nas definições do arquivo de manifesto de implantação do ADDF. Uma implantação do ADDF só pode ter uma Conta da AWS de cadeia de ferramentas do ADDF. Em uma arquitetura de conta única, a Conta da AWS da cadeia de ferramentas do ADDF também é a Conta da AWS de destino do ADDF.” Essa conta contém uma função AWS Identity and Access Management (IAM), chamada função IAM da cadeia de ferramentas ADDF, que é assumida SeedFarmer durante o processo de implantação do ADDF. Neste guia, nos referimos a uma cadeia de ferramentas ADDF Conta da AWS como uma conta da cadeia de ferramentas.
-
Destino ADDF Contas da AWS — Essas são as contas de destino nas quais você está implantando módulos ADDF. Você pode ter uma ou mais contas de destino. Essas contas contêm os recursos e a lógica da aplicação descritos no arquivo de manifesto de implantação do ADDF e seus módulos mapeados. Em uma arquitetura de conta única, o alvo do ADDF também Conta da AWS é o conjunto de ferramentas do ADDF. Conta da AWS Cada conta de destino do ADDF contém uma função do IAM, chamada função do IAM de implantação do ADDF, que é assumida CodeSeeder durante o processo de implantação. Neste guia, nos referimos a um alvo ADDF Conta da AWS como uma conta de destino.
-
Instância do ADDF: quando você implanta o ADDF e seus módulos na nuvem, conforme definido em seu arquivo de manifesto de implantação do ADDF, isso se torna uma instância do ADDF. Uma instância do ADDF pode ter uma arquitetura de conta única ou de várias contas, e você pode implantar várias instâncias do ADDF. Para obter mais informações sobre como escolher o número de instâncias e projetar uma arquitetura de conta para seu caso de uso, consulte Definindo sua arquitetura ADDF.
Arquitetura do ADDF
O diagrama a seguir mostra uma arquitetura de alto nível para uma instância do ADDF na Nuvem AWS. Ele mostra uma arquitetura de várias contas, incluindo uma conta de cadeia de ferramentas dedicada e duas contas de destino. Este guia discute o end-to-end processo de uso do ADDF para implantar recursos nas contas de destino.

-
Crie e inicialize as Contas da AWS do ADDF.
Para funcionar corretamente, cada conta deve ser inicializada para o ADDF e para o AWS CDK. Se isso for uma nova implantação do ADDF ou se você estiver adicionando novas contas de destino, faça o seguinte:
-
Inicialize AWS CDK na conta do conjunto de ferramentas e em cada conta de destino. Para obter instruções, consulte Fazer bootstrap (documentação do AWS CDK ). O ADDF usa AWS CDK para implantar sua infraestrutura.
-
Faça bootstrap do ADDF na conta de cadeia de ferramentas e em cada conta de destino. Para obter instruções, consulte Bootstrap Conta da AWS(s) no Guia de implantação do ADDF
. Isso configura todas as funções do IAM específicas do ADDF exigidas por e. SeedFarmer CodeSeeder
nota
Você deverá realizar essa etapa somente se estiver implantando inicialmente o ADDF ou adicionando novas contas de destino. Essa etapa não faz parte das implantações recorrentes do ADDF em instâncias do ADDF já estabelecidas.
-
-
Crie ou personalize os módulos do ADDF.
Crie ou personalize módulos do ADDF com base no problema específico que você está tentando resolver. Seu módulo deve representar uma tarefa isolada ou um grupo de tarefas. Defina os parâmetros de entrada para o módulo conforme necessário e use os valores de saída do módulo como parâmetros de entrada para outros módulos.
-
Defina a orquestração do módulo no arquivo de manifesto de implantação do ADDF.
No arquivo de manifesto do ADDF, organize os módulos em grupos e defina a ordem de implantação e as dependências entre eles. Nesse arquivo, você também especifica a conta única do conjunto de ferramentas e as contas de destino (inclusive Regiões da AWS) para cada grupo ADDF e seus módulos.
-
Avalie o arquivo de manifesto de implantação do ADDF e estabeleça o escopo da implantação.
O desenvolvedor do ADDF ou um pipeline de CI/CD, como AWS CodePipeline, inicia uma avaliação do arquivo de manifesto de implantação do ADDF chamando a ferramenta CLI,. SeedFarmer Para iniciar a avaliação:
-
SeedFarmer usa o arquivo de manifesto de implantação do ADDF como um parâmetro de entrada para a avaliação.
-
Para assumir a função IAM da cadeia de ferramentas ADDF, SeedFarmer espera a mesma função IAM válida ou credenciais de usuário que foram definidas durante o processo de bootstrap do ADDF, na etapa 1.
Se SeedFarmer não tiver as credenciais corretas para assumir a função IAM da cadeia de ferramentas ADDF ou não puder acessar o arquivo de manifesto de implantação do ADDF, a avaliação não será iniciada.
Se SeedFarmer puder iniciar a avaliação, ele assume a função IAM da cadeia de ferramentas ADDF na conta da cadeia de ferramentas. A partir daí, SeedFarmer pode acessar qualquer conta de destino, assumindo a função do IAM de implantação do ADDF nessa conta. SeedFarmer em seguida, tenta ler qualquer metadado ADDF na conta do conjunto de ferramentas e nas contas de destino. Uma das seguintes situações acontece:
-
Se não houver metadados do ADDF para ler, isso indica que essa é uma nova instância do ADDF. SeedFarmer determina que o escopo de implantação é todo o arquivo de manifesto de implantação do ADDF e seu conteúdo.
-
Se existirem metadados do ADDF, SeedFarmer compara o arquivo de manifesto de implantação do ADDF e seu conteúdo com os MD5 hashes dos artefatos implantados existentes nas contas de destino. Se forem detectadas alterações implantáveis, esse processo continuará. Se nenhuma alteração implantável for detectada, o processo será concluído.
-
-
Implante os módulos ADDF dentro do escopo nas contas de destino.
CodeSeeder agora tem uma lista ordenada de implantações a serem executadas, de acordo com o arquivo de manifesto de implantação do ADDF e os resultados da avaliação da etapa anterior. Com base nessa lista ordenada, CodeSeeder assume a função do IAM de implantação do ADDF em cada conta de destino associada. Em seguida, ele é executado CodeSeeder em uma AWS CodeBuild tarefa para criar ou atualizar as implantações individuais do IaC, como AWS CDK aplicativos, para o módulo ADDF. Por padrão, o ADDF usa AWS CDK como estrutura IaC, mas outras estruturas comuns de IaC também são suportadas. Depois que o processo for concluído para cada conta de destino, você terá um fluxo de trabalho totalmente implantado, entre contas e end-to-end baseado em ADAS, conforme definido no arquivo de manifesto de implantação do ADDF.
Se você usa uma arquitetura de conta única, a conta da cadeia de ferramentas e as contas de destino são a mesma conta, e a conta única tem todos os recursos descritos.
-
Use a infraestrutura implantada pelo ADDF.
Um desenvolvedor do ADAS pode usar o fluxo de trabalho baseado em ADAS implantado, conforme definido pelo seu caso de uso.
Esse fluxo de trabalho descreve a arquitetura de uma única instância de um ambiente com várias contas do ADDF. Dependendo do seu modelo de desenvolvimento, implantação e operações, recomendamos que você execute várias instâncias do ADDF em um ambiente de vários estágios. Uma configuração típica pode incluir uma instância ADDF dedicada Contas da AWS para cada estágio de implantação, como filiais para desenvolvimento, teste e produção. Você também pode executar várias instâncias do ADDF no mesmo ambiente de conta única ou de várias contas Região da AWS, supondo que você tenha criado um namespace de recurso exclusivo para cada instância do ADDF. Para obter mais informações, consulte Definindo sua arquitetura ADDF.