Arsitektur dan terminologi ADDF - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Arsitektur dan terminologi ADDF

Sebelum Anda dapat memahami topik keamanan dan operasional dalam panduan ini, penting untuk memiliki pemahaman tingkat tinggi tentang terminologi, komponen, dan arsitektur Autonomous Driving Data Framework (ADDF). Bagian ini terdiri dari topik-topik berikut:

Terminologi ADDF

Terminologi kunci untuk ADDF adalah sebagai berikut:

  • Modul ADDFModul adalah infrastruktur sebagai kode (IAc) yang mengimplementasikan tugas umum dalam sistem bantuan pengemudi tingkat lanjut (ADAS). Tugas umum termasuk mengonfigurasi penyimpanan data terpusat, jaringan pemrosesan data, mekanisme visualisasi, antarmuka pencarian, beban kerja simulasi, antarmuka analitik, dan dasbor bawaan. Anda dapat membuat modul berdasarkan kebutuhan Anda, atau Anda dapat menggunakan kembali atau menyesuaikan modul yang ada.

    Anda dapat menggunakanAWS Cloud Development Kit (AWS CDK)untuk menentukan modul ADDF, atau Anda dapat menggunakan kerangka kerja IAc umum, seperti Hashicorp Terraform atauAWS CloudFormation, untuk mengimplementasikan modul ADDF. Modul memiliki seperangkat parameter input. Parameter input dapat bergantung pada nilai output dari modul lain. Modul ADDF adalah unit penyebaran terkecil untuk target ADDFAkun AWS.

  • File manifes penerapan ADDF— File ini mendefinisikan orkestrasi modul ADDF mandiri. Orkestrasimengacu pada urutan penyebaran modul. Dalam file manifes penerapan ADDF, Anda dapat menggunakanGrup ADDFuntuk mengelompokkan modul terkait bersama-sama. Dalam file ini, Anda juga mendefinisikan toolchain ADDFAkun AWS, target ADDFAkun AWS, dan targetWilayah AWS.

  • Kerangka penerapan ADDF- Kerangka kerja ini menyebarkan modul ADDF ke dalam target ADDFAkun AWSberdasarkan orkestrasi yang ditentukan dalam file manifes penerapan ADDF. Kerangka kerja penerapan ADDF diimplementasikan dengan menggunakan yang berikutAWSproyek sumber terbuka:

    • SeedFarmer(GitHub) —SeedFarmeradalah alat CLI yang digunakan untuk penerapan ADDF. Ini mengelola setiap status modul, menyiapkan dan mengemas kode modul, membuat kebijakan hak istimewa paling sedikit untuk peran penerapan ADDF, dan memberikan instruksi semantik yangCodeSeederdigunakan untuk penyebaran. Anda dapat berinteraksi langsung denganSeedFarmeruntuk menjalankan penerapan ADDF, atau Anda dapat mengintegrasikannya ke dalam pipeline integrasi berkelanjutan dan penerapan berkelanjutan (CI/CD).

    • CodeSeeder(GitHub) —CodeSeedermenyebarkan infrastruktur arbitrer sebagai paket kode melaluiAWS CodeBuildpekerjaan. SeedFarmersecara otomatis mengatur dan menjalankanCodeSeeder. HanyaSeedFarmerBerinteraksi langsung denganCodeSeeder.

    Kerangka penerapan ADDF dirancang untuk mendukung penerapan dalam arsitektur akun tunggal dan multi-akun. Berdasarkan persyaratan organisasi Anda, Anda memutuskan apakah arsitektur satu akun atau multi-akun diperlukan.

  • Rantai alat ADDFAkun AWS— Akun ini mengatur dan mengelola penyebaran modul ke target ADDFAkun AWS, berdasarkan definisi dalam file manifes penerapan ADDF. Penerapan ADDF hanya dapat memiliki satu toolchain ADDFAkun AWS. Dalam arsitektur akun tunggal, rantai alat ADDFAkun AWSjuga merupakan target ADDFAkun AWS. Akun ini berisiAWS Identity and Access Management(IAM) peran, disebutPeran IAM rantai alat ADDF, yang diasumsikan olehSeedFarmerselama proses penerapan ADDF. Dalam panduan ini, kami merujuk ke toolchain ADDFAkun AWSsebagaiakun toolchain.

  • Target ADDFAkun AWS— Ini adalah akun target tempat Anda menggunakan modul ADDF. Anda dapat memiliki satu atau lebih akun target. Akun-akun ini berisi sumber daya dan logika aplikasi yang dijelaskan dalam file manifes penerapan ADDF dan modul yang dipetakan. Dalam arsitektur akun tunggal, target ADDFAkun AWSjuga merupakan rantai alat ADDFAkun AWS. Setiap akun target ADDF berisi peran IAM, yang disebutPeran IAM penerapan ADDF, yang diasumsikan olehCodeSeederselama proses penyebaran. Dalam panduan ini, kami mengacu pada target ADDFAkun AWSsebagaiakun target.

  • Contoh ADDF— Saat Anda menerapkan ADDF dan modul Anda di cloud, seperti yang didefinisikan dalam file manifes penerapan ADDF Anda, ini menjadiContoh ADDF. Instans ADDF dapat memiliki arsitektur akun tunggal atau multi-akun, dan Anda dapat menerapkan beberapa instans ADDF. Untuk informasi selengkapnya tentang memilih jumlah instans dan mendesain arsitektur akun untuk kasus penggunaan Anda, lihatMendefinisikan arsitektur ADDF Anda.

Arsitektur ADDF

Diagram berikut menunjukkan arsitektur tingkat tinggi untuk instance ADDF diAWS Cloud. Ini menunjukkan arsitektur multi-akun, termasuk akun toolchain khusus dan dua akun target. Panduan ini membahas proses end-to-end menggunakan ADDF untuk menyebarkan sumber daya ke akun target.

Kode lokal ADDF, file manifes penerapan, danAWSarsitektur dengan toolchain dan akun target.
  1. Buat dan bootstrap ADDFAkun AWS.

    Agar berfungsi dengan baik, setiap akun harus di-bootstrap ke ADDF danAWS CDK. Jika ini merupakan penerapan ADDF baru atau Anda menambahkan akun target baru, lakukan hal berikut:

    1. mengebutAWS CDKdi akun toolchain dan setiap akun target. Untuk instruksi, lihatBootstrapping(AWS CDKdokumentasi). ADDF menggunakanAWS CDKuntuk menyebarkan infrastrukturnya.

    2. Bootstrap ADDF di akun toolchain dan setiap akun target. Untuk instruksi, lihatmengebutAkun AWS(s)diPanduan Penerapan ADDF. Ini mengatur semua peran IAM khusus ADDF yang diperlukan olehSeedFarmerdanCodeSeeder.

    catatan

    Anda perlu melakukan langkah ini hanya jika Anda awalnya menerapkan ADDF atau menambahkan akun target baru. Langkah ini bukan bagian dari penerapan ADDF yang berulang ke instance ADDF yang sudah ada.

  2. Buat atau sesuaikan modul ADDF.

    Buat atau sesuaikan modul ADDF berdasarkan masalah spesifik yang Anda coba selesaikan. Modul Anda harus mewakili tugas atau kelompok tugas yang terisolasi. Tentukan parameter input untuk modul sesuai kebutuhan, dan gunakan nilai output modul sebagai parameter input untuk modul lain.

  3. Tentukan orkestrasi modul dalam file manifes penerapan ADDF.

    Dalam file manifes ADDF, atur modul ke dalam grup dan tentukan urutan penerapan dan dependensi di antara keduanya. Dalam file ini, Anda juga menentukan akun toolchain tunggal dan akun target (termasukWilayah AWS) untuk setiap grup ADDF dan modulnya.

  4. Evaluasi file manifes penerapan ADDF dan buat cakupan penerapan.

    Pengembang ADDF atau pipa CI/CD, sepertiAWS CodePipeline, memulai evaluasi file manifes penerapan ADDF dengan memanggil alat CLI,SeedFarmer. Untuk memulai evaluasi:

    • SeedFarmermenggunakan file manifes penerapan ADDF sebagai parameter input untuk evaluasi.

    • Untuk mengasumsikan peran IAM toolchain ADDF,SeedFarmermengharapkan peran IAM yang sama dan valid atau kredensional pengguna yang ditentukan selama proses bootstrap ADDF, pada langkah 1.

    JikaSeedFarmertidak memiliki kredensional yang benar untuk mengasumsikan peran IAM toolchain ADDF atau tidak dapat mengakses file manifes penerapan ADDF, evaluasi tidak dimulai.

    JikaSeedFarmerdapat memulai evaluasi, ini mengasumsikan peran IAM toolchain ADDF di akun toolchain. Dari sana,SeedFarmerdapat mengakses akun target apa pun, dengan mengasumsikan peran IAM penerapan ADDF di akun itu. SeedFarmerkemudian mencoba membaca metadata ADDF apa pun di akun toolchain dan akun target. Salah satu hal berikut terjadi:

    • Jika tidak ada metadata ADDF untuk dibaca, itu menunjukkan bahwa ini adalah contoh ADDF baru. SeedFarmermenentukan bahwa cakupan penerapan adalah seluruh file manifes penerapan ADDF dan isinya.

    • Jika metadata ADDF ada,SeedFarmermembandingkan file manifes penerapan ADDF dan isinya dengan hash MD5 dari artefak yang digunakan yang ada di akun target. Jika perubahan yang dapat diterapkan terdeteksi, proses ini berlanjut. Jika tidak ada perubahan deployable yang terdeteksi, prosesnya selesai.

  5. Terapkan modul ADDF dalam ruang lingkup ke akun target.

    CodeSeedersekarang memiliki daftar penerapan yang diurutkan untuk dijalankan, sesuai dengan file manifes penerapan ADDF dan hasil evaluasi dari langkah sebelumnya. Berdasarkan daftar yang diurutkan itu,CodeSeedermengasumsikan peran IAM penerapan ADDF di setiap akun target terkait. Kemudian berjalanCodeSeederdalam sebuahAWS CodeBuildpekerjaan untuk membuat atau memperbarui penerapan IAC individu, sepertiAWS CDKaplikasi, untuk modul ADDF. Secara default, ADDF menggunakanAWS CDKsebagai kerangka kerja IAC-nya, tetapi kerangka kerja IAc umum lainnya juga didukung. Setelah proses selesai untuk setiap akun target, Anda memiliki alur kerja berbasis Adas end-to-end yang sepenuhnya diterapkan, lintas akun, dan end-to-end, seperti yang Anda tentukan dalam file manifes penerapan ADDF.

    Jika Anda menggunakan arsitektur akun tunggal, akun toolchain dan akun target adalah akun yang sama, dan satu akun memiliki semua fungsi yang dijelaskan.

  6. Gunakan infrastruktur yang digunakan ADDF.

    Pengembang ADAS dapat menggunakan alur kerja berbasis ADAS yang diterapkan, seperti yang ditentukan oleh kasus penggunaan Anda.

    Alur kerja ini menjelaskan arsitektur satu contoh lingkungan multi-akun ADDF. Bergantung pada model pengembangan, penerapan, dan operasi Anda, sebaiknya Anda menjalankan beberapa instans ADDF di lingkungan multi-tahap. Pengaturan tipikal mungkin menyertakan instance ADDF khusus dengan dedicatedAkun AWSuntuk setiap tahap penyebaran, seperti cabang untuk pengembangan, pengujian, dan produksi. Anda juga dapat menjalankan beberapa instans ADDF di lingkungan satu akun atau multi-akun yang sama di lingkungan yang samaWilayah AWS, dengan asumsi bahwa Anda membuat namespace sumber daya unik untuk setiap instance ADDF. Untuk informasi selengkapnya, lihat Mendefinisikan arsitektur ADDF Anda.