Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memusatkan distribusi paket perangkat lunak di AWS Organizations dengan menggunakan Terraform
Pradip Kumar Pandey, Chintamani Aphale, T.V.R.L.Phani Kumar Dadi, Pratap Kumar Nanda, Aarti Rajput, dan Mayuri Shinde, Amazon Web Services
Ringkasan
Perusahaan sering mempertahankan beberapa Akun AWS yang tersebar Wilayah AWS di beberapa untuk menciptakan penghalang isolasi yang kuat antara beban kerja. Agar tetap aman dan patuh, tim administrasi mereka memasang alat berbasis agen seperti CrowdStrike
Distributor, kemampuan AWS Systems Manager, mengotomatiskan proses pengemasan dan penerbitan perangkat lunak ke instans Microsoft Windows dan Linux yang dikelola di seluruh cloud dan server lokal melalui satu antarmuka yang disederhanakan. Pola ini menunjukkan bagaimana Anda dapat menggunakan Terraform untuk lebih menyederhanakan proses pengelolaan instalasi perangkat lunak dan menjalankan skrip di sejumlah besar instance dan akun anggota di dalamnya dengan sedikit usaha. AWS Organizations
Solusi ini berfungsi untuk instans Amazon, Linux, dan Windows yang dikelola oleh Systems Manager.
Prasyarat dan batasan
Paket Distributor yang memiliki perangkat lunak yang akan diinstal
Terraform
versi 0.15.0 atau yang lebih baru Instans Amazon Elastic Compute Cloud (Amazon EC2) yang dikelola oleh Systems Manager dan memiliki izin dasar untuk mengakses Amazon Simple Storage Service (Amazon S3
) di akun target Sebuah landing zone untuk organisasi Anda yang disiapkan dengan menggunakan AWS Control Tower
(Opsional) Account Factory untuk Terraform (
AFT)
Arsitektur
Detail sumber daya
Pola ini menggunakan Account Factory for Terraform (AFT)
Kustomisasi global berisi kode Terraform yang akan berjalan di semua akun yang terdaftar di AFT.
Kustomisasi akun berisi kode Terraform yang akan berjalan di akun penerapan.
Anda juga dapat menerapkan solusi ini tanpa menggunakan AFT, dengan menjalankan perintah Terraform
Kode Terraform menerapkan sumber daya berikut:
AWS Identity and Access Management (IAM) peran dan kebijakan
SystemsManager- AutomationExecutionRole memberikan izin pengguna untuk menjalankan otomatisasi di akun target.
SystemsManager- AutomationAdministrationRole memberikan izin pengguna untuk menjalankan otomatisasi di beberapa akun dan unit organisasi (). OUs
File terkompresi dan manifest.json untuk paket
Di Systems Manager, sebuah paket mencakup setidaknya satu file.zip perangkat lunak atau aset yang dapat diinstal.
Manifes JSON menyertakan pointer ke file kode paket Anda.
Bucket S3
Paket terdistribusi yang dibagikan di seluruh organisasi disimpan dengan aman di bucket Amazon S3.
AWS Systems Manager dokumen (dokumen SSM)
DistributeSoftwarePackageberisi logika untuk mendistribusikan paket perangkat lunak ke setiap instance target di akun anggota.AddSoftwarePackageToDistributorberisi logika untuk mengemas aset perangkat lunak yang dapat diinstal dan menambahkannya ke Otomasi, kemampuan. AWS Systems Manager
Asosiasi Systems Manager
Asosiasi Systems Manager digunakan untuk menyebarkan solusi.
Arsitektur dan alur kerja

Diagram ini menggambarkan langkah-langkah berikut:
Untuk menjalankan solusi dari akun terpusat, Anda mengunggah paket atau perangkat lunak Anda bersama dengan langkah-langkah penerapan ke bucket S3.
Paket kustom Anda akan tersedia di bagian Dokumen
konsol Systems Manager, di tab Dimiliki oleh saya. State Manager, kemampuan Systems Manager, membuat, menjadwalkan, dan menjalankan asosiasi untuk paket di seluruh organisasi. Asosiasi menentukan bahwa paket perangkat lunak harus diinstal dan berjalan pada node terkelola sebelum dapat diinstal pada node target.
Asosiasi menginstruksikan Systems Manager untuk menginstal paket pada node target.
Untuk penginstalan atau perubahan berikutnya, pengguna dapat menjalankan asosiasi yang sama secara berkala atau manual dari satu lokasi untuk melakukan penerapan di seluruh akun.
Di akun anggota, Automation mengirimkan perintah deployment ke Distributor.
Distributor mendistribusikan paket perangkat lunak di seluruh instance.
Solusi ini menggunakan akun manajemen di dalamnya AWS Organizations, tetapi Anda juga dapat menunjuk akun (administrator yang didelegasikan) untuk mengelola ini atas nama organisasi.
Alat
Layanan AWS
Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data. Pola ini menggunakan Amazon S3 untuk memusatkan dan menyimpan paket terdistribusi dengan aman.
AWS Systems Managermembantu Anda mengelola aplikasi dan infrastruktur yang berjalan di AWS Cloud. Ini menyederhanakan aplikasi dan manajemen sumber daya, mempersingkat waktu untuk mendeteksi dan menyelesaikan masalah operasional, dan membantu Anda mengelola AWS sumber daya Anda dengan aman dalam skala besar. Pola ini menggunakan kemampuan Systems Manager berikut:
Distributor membantu Anda mengemas dan mempublikasikan perangkat lunak ke instans yang dikelola Systems Manager.
Otomasi menyederhanakan tugas pemeliharaan, penyebaran, dan remediasi umum untuk banyak layanan. AWS
Documents melakukan tindakan pada instans terkelola Systems Manager di seluruh organisasi dan akun Anda.
AWS Organizationsadalah layanan manajemen akun yang membantu Anda mengkonsolidasikan beberapa AWS akun ke dalam organisasi yang Anda buat dan kelola secara terpusat.
Alat-alat lainnya
Terraform
adalah alat infrastruktur sebagai kode (IAc) HashiCorp yang membantu Anda membuat dan mengelola sumber daya cloud dan lokal.
Repositori kode
Instruksi dan kode untuk pola ini tersedia di repositori distribusi paket GitHub Terpusat
Praktik terbaik
Untuk menetapkan tag ke asosiasi, gunakan AWS Command Line Interface (AWS CLI) atau. Alat AWS untuk PowerShell Menambahkan tag ke asosiasi menggunakan konsol Systems Manager tidak didukung. Untuk informasi selengkapnya, lihat Menandai sumber daya Systems Manager di dokumentasi Systems Manager.
Untuk menjalankan asosiasi dengan menggunakan versi baru dokumen yang dibagikan dari akun lain, setel versi dokumen ke
default.Untuk menandai hanya node target, gunakan satu kunci tag. Jika Anda ingin menargetkan node Anda dengan menggunakan beberapa kunci tag, gunakan opsi grup sumber daya.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kloning repositori. |
| DevOps insinyur |
Perbarui variabel global. | Perbarui parameter input berikut dalam
| DevOps insinyur |
Perbarui variabel akun. | Perbarui parameter input berikut dalam
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Perbarui parameter input untuk asosiasi Manajer Negara. | Perbarui parameter input berikut dalam
| DevOps insinyur |
Siapkan file terkompresi dan | Pola ini menyediakan contoh file PowerShell yang dapat diinstal (.msi untuk Windows dan.rpm untuk Linux) dengan skrip instal dan hapus instalan di folder.
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Inisialisasi konfigurasi Terraform. | Untuk menerapkan solusi secara otomatis dengan AFT, tekan kode ke AWS CodeCommit:
Anda juga dapat menerapkan solusi ini tanpa menggunakan AFT dengan menjalankan perintah Terraform dari folder.
| DevOps insinyur |
Pratinjau perubahan. | Untuk melihat pratinjau perubahan yang akan dilakukan Terraform pada infrastruktur, jalankan perintah:
Perintah ini mengevaluasi konfigurasi Terraform untuk menentukan status sumber daya yang diinginkan yang telah dideklarasikan. Ini juga membandingkan keadaan yang diinginkan dengan infrastruktur aktual untuk penyediaan di dalam ruang kerja. | DevOps insinyur |
Terapkan perubahan. | Jalankan perintah berikut untuk mengimplementasikan perubahan yang Anda buat pada
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Validasi pembuatan dokumen SSM. |
Anda harus melihat | DevOps insinyur |
Validasi keberhasilan penerapan otomatisasi. |
| DevOps insinyur |
Validasi bahwa paket disebarkan ke instance akun anggota yang ditargetkan. |
| DevOps insinyur |
Pemecahan Masalah
| Isu | Solusi |
|---|---|
Asosiasi Manajer Negara gagal atau terjebak dalam status tertunda. | Lihat informasi pemecahan masalah |
Asosiasi terjadwal gagal dijalankan. | Spesifikasi jadwal Anda mungkin tidak valid. State Manager saat ini tidak mendukung menentukan bulan dalam ekspresi cron untuk asosiasi. Gunakan ekspresi cron atau rate untuk mengonfirmasi jadwal. |
Sumber daya terkait
Distribusi paket terpusat
(GitHub repositori) Kasus penggunaan dan praktik terbaik (AWS Systems Manager dokumentasi)