Pengelolaan skrip - Pabrik Migrasi Cloud di AWS

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

Pengelolaan skrip

AWS Solusi Cloud Migration Factory on memungkinkan pengguna untuk sepenuhnya mengelola pustaka skrip atau paket otomatisasi dalam antarmuka pengguna. Anda dapat mengunggah skrip kustom baru serta versi baru skrip menggunakan antarmuka manajemen skrip. Ketika beberapa versi tersedia, administrator dapat beralih di antara versi ini yang memungkinkan kemampuan untuk menguji pembaruan sebelum menjadikannya default. Antarmuka manajemen skrip juga memungkinkan administrator untuk mengunduh paket skrip untuk memperbarui atau meninjau konten.

Paket skrip yang didukung adalah arsip zip terkompresi yang berisi file wajib berikut di root:

  • Package-structure.yml-Digunakan untuk mendefinisikan argumen script dan metadata lainnya, seperti deskripsi dan nama default. Lihat Menulis paket skrip baru untuk detail selengkapnya.

  • [skrip python khusus] .py — Ini adalah skrip awal yang akan dijalankan saat pekerjaan dikirimkan. Skrip ini dapat memanggil skrip dan modul lain dan jika demikian ini harus disertakan dalam arsip. Nama skrip ini harus sesuai dengan nilai yang ditentukan dalam MasterFileName kunci diPackage-Structure.yml.

Unggah paket skrip baru

catatan

Paket skrip harus sesuai dengan format yang didukung. Lihat Menulis paket skrip baru untuk detail selengkapnya.

  1. Pilih Tambahkan pada tabel Skrip Otomasi.

  2. Pilih file arsip paket yang ingin Anda unggah.

  3. Masukkan nama unik untuk skrip. Pengguna akan mereferensikan skrip dengan nama ini untuk memulai pekerjaan.

Unduh paket skrip

Anda dapat mengunduh paket skrip dari konsol untuk mengaktifkan pembaruan dan verifikasi konten.

  1. Pilih Otomatisasi, lalu Skrip.

  2. Pilih skrip yang ingin Anda unduh dari tabel, lalu pilih Tindakan dan pilih Unduh versi default atau Unduh versi terbaru.

Anda dapat mengunduh versi skrip tertentu. Untuk melakukannya, pilih skrip, lalu Tindakan dan pilih Ubah versi default. Dari daftar Versi Default Script, pilih Unduh versi yang dipilih.

Tambahkan versi baru dari paket skrip

Pembaruan paket skrip AWS Cloud Migration Factory dapat diunggah di bagian Otomatisasi> Skrip dengan mengikuti langkah-langkah berikut:

  1. Pilih Otomatisasi, lalu Skrip.

  2. Pilih skrip yang ada untuk menambahkan versi baru, lalu pilih Tindakan dan pilih Tambahkan versi baru.

  3. Pilih file arsip paket yang diperbarui yang ingin Anda unggah, dan pilih Berikutnya. Versi skrip baru akan mempertahankan nama yang ada secara default. Masukkan nama skrip yang unik. Perubahan nama apa pun hanya akan diterapkan pada versi skrip ini.

  4. Anda dapat menjadikan versi baru skrip sebagai versi default dengan memilih Buat versi default.

  5. Pilih Unggah.

Menghapus paket skrip dan versi

Anda tidak dapat menghapus skrip atau versi skrip untuk tujuan audit. Ini memungkinkan meninjau skrip yang tepat yang dijalankan terhadap sistem pada suatu titik waktu. Setiap versi skrip memiliki tanda tangan dan ID unik saat diunggah yang direkam dengan riwayat pekerjaan tempat skrip dan versi digunakan.

Menyusun paket skrip baru

Cloud Migration Factory pada paket AWS skrip mendukung Python sebagai bahasa scripting utama. Anda dapat memulai bahasa scripting shell lainnya seperti yang diperlukan dari dalam program utama Python atau wrapper. Untuk membuat paket skrip baru dengan cepat, kami sarankan mengunduh salinan salah satu skrip yang dikemas sebelumnya dan memperbaruinya untuk melakukan tugas yang diperlukan. Anda harus terlebih dahulu membuat skrip master Python yang akan melakukan fungsionalitas inti skrip. Kemudian, buat Package-Structure.yml file untuk menentukan argumen dan metadata lain yang dibutuhkan skrip. Lihat Package-Structure.yml opsi untuk detail lebih lanjut.

Skrip Python utama

Ini adalah skrip utama awal yang berjalan ketika pekerjaan dimulai. Setelah skrip selesai berjalan, tugas selesai dan kode pengembalian akhir menentukan status pekerjaan. Semua output dari skrip ini ditangkap saat dijalankan dari jarak jauh dan diteruskan ke log audit keluaran pekerjaan untuk referensi. Log ini juga disimpan di Amazon CloudWatch.

Mengakses Cloud Migration Factory pada AWS data dan APIs dari skrip

Untuk menyediakan akses ke Cloud Migration Factory AWS APIs dan data, Anda dapat menggunakan modul pembantu python yang disertakan. Modul ini menyediakan fungsi utama di bawah ini adalah beberapa fungsi utama untuk memulai:

factory_login

Mengembalikan token akses yang dapat digunakan untuk memanggil Cloud Migration Factory pada AWS APIs. Fungsi ini akan mencoba login untuk CMF menggunakan sejumlah upaya untuk kredensional:

  1. Dengan mencoba mengakses rahasia default yang berisi userid akun layanan dan kata sandi jika ada dan akses diizinkan. Nama rahasia ini MFServiceAccount - [userpool id] akan diperiksa.

  2. Jika Langkah 1 tidak berhasil, dan pengguna menjalankan skrip dari baris perintah, maka pengguna akan diminta untuk menyediakan userid dan kata sandi pabrik AWS Cloud Migration. Jika dijalankan dari pekerjaan otomatisasi jarak jauh, pekerjaan akan gagal.

get_server_credentials

Mengembalikan kredensi login untuk server yang disimpan di AWS Cloud Migration Factory baik di Credentials Manager, atau melalui input pengguna. Fungsi ini akan memeriksa sejumlah sumber yang berbeda untuk menentukan kredensil untuk server tertentu, urutan sumbernya adalah:

  1. Jika local_username dan local_password disetel dan valid maka ini akan dikembalikan.

  2. Jika secret_overide diatur maka ini akan digunakan untuk mengambil rahasia yang ditentukan dari AWS Secret Manager, jika tidak, memeriksa apakah catatan server berisi kunci secret_name dan ini tidak kosong maka nama rahasia ini akan digunakan.

  3. Jika ada kegagalan menemukan atau mengakses rahasia yang ditentukan maka fungsi akan kembali meminta pengguna untuk kredensialnya, tetapi hanya jika no_user_prompts disetel ke False, jika tidak maka akan mengembalikan kegagalan.

Parameter

local_username — Jika diteruskan, maka akan dikembalikan.

local_password - Jika lulus, maka akan dikembalikan.

server - CMF Server dict, seperti yang dikembalikan oleh get_factory_servers. di Cloud Migration Factory. AWS

SECRET_OVERIDE — Dilewatkan ini akan mengatur nama rahasia untuk diambil dari Secrets Manager untuk server ini.

No_User_Prompts - Memberitahu fungsi untuk tidak meminta pengguna untuk userid dan kata sandi jika tidak disimpan, ini harus True untuk skrip otomatisasi jarak jauh apa pun.

get_credentials

Mendapatkan kredensil yang disimpan menggunakan AWS Cloud Migration Factory Credentials Manager dari Secrets Manager.

Parameter

secret_name — nama rahasia untuk diambil.

get_factory_server

Mengembalikan array server dari datastore AWS Cloud Migration Factory berdasarkan waveid yang disediakan.

Parameter

waveid — Wave record ID dari server yang akan dikembalikan.

token — Token otentikasi yang diperoleh dari fungsi FactoryLogin Lambda.

app_ids — Daftar opsional Id aplikasi dalam gelombang yang akan disertakan.

server_ids — Daftar opsional Id server dalam gelombang dan aplikasi untuk disertakan.

os_split — Jika diatur ketrue, maka dua daftar akan dikembalikan satu untuk Linux dan satu server windows, jika False, maka satu daftar gabungan akan dikembalikan.

rtype - String opsional untuk memfilter hanya untuk Strategi Migrasi server tertentu, yaitu meneruskan nilai 'Rehost' hanya akan mengembalikan server dengan Rehost.

Ringkasan pesan akhir

Disarankan untuk memberikan pesan ringkasan hasil skrip sebagai output akhir ke layar atau sysout. Ini akan ditampilkan di konsol di properti Pesan Terakhir, yang memberikan status cepat dari hasil skrip tanpa pengguna harus membaca log keluaran lengkap.

Kode kembalikan

Skrip python utama harus mengembalikan kode pengembalian bukan nol saat keluar jika fungsi skrip tidak sepenuhnya berhasil. Saat menerima kode pengembalian bukan nol, status pekerjaan akan ditampilkan sebagai Gagal di log pekerjaan yang menunjukkan kepada pengguna bahwa mereka harus meninjau log keluaran untuk rincian kegagalan.

YAMLOpsi paket-struktur.yl

Contoh file YAML

Name: "0-Check MGN Prerequisites" Description: "This script will verify the source servers meet the basic requirements for AWS MGN agent installation." MasterFileName: "0-Prerequisites-checks.py" UpdateUrl: "" Arguments: - name: "ReplicationServerIP" description: "Replication Server IP." long_desc: "IP Address of an AWS MGN Replication EC2 Instance." type: "standard" required: true - name: "SecretWindows" long_desc: "Windows Secret to use for credentials." description: "Windows Secret" type: "relationship" rel_display_attribute: "Name" rel_entity: "secret" rel_key: "Name" - name: "SecretLinux" long_desc: "Linux Secret to use for credentials." description: "Linux Secret" type: "relationship" rel_display_attribute: "Name" rel_entity: "secret" rel_key: "Name" - name: "Waveid" description: "Wave Name" type: "relationship" rel_display_attribute: "wave_name" rel_entity: "wave" rel_key: "wave_id" validation_regex: "^(?!\\s*$).+" validation_regex_msg: "Wave must be provided." required: true SchemaExtensions: - schema: "server" name: "server_pre_reqs_output" description: "Pre-Req Output" type: "string"

YAMLdeskripsi kunci

Diperlukan

Nama — Nama default yang akan digunakan skrip saat impor.

Deskripsi — Deskripsi penggunaan skrip.

MasterFileName— Ini adalah titik awal untuk menjalankan skrip, itu harus menjadi nama file python yang disertakan dalam arsip paket skrip.

Argumen — Daftar argumen yang diterima skrip MasterFileName Python. Setiap argumen yang perlu ditentukan ada dalam format definisi Atribut Pabrik Migrasi AWS Cloud. Properti yang diperlukan untuk setiap argumen adalah Nama dan Jenis, semua properti lainnya adalah opsional.

Opsional

UpdateUrl— Menyediakan URL tempat sumber paket skrip tersedia untuk menyediakan pembaruan. Saat ini ini hanya untuk referensi.

SchemaExtensions— Daftar atribut yang diperlukan skrip Python untuk berada dalam skema untuk menyimpan output atau mengambil data tambahan. Setiap atribut harus ditentukan dalam format definisi AWS CMF Atribut. Properti yang diperlukan untuk setiap atribut adalah Skema, Nama, Deskripsi dan Jenis. Semua properti lainnya opsional. Setiap atribut baru akan secara otomatis ditambahkan ke skema ketika skrip awalnya dimuat, dan perubahan tidak SchemaExtensions akan diproses untuk versi baru skrip. Jika ini diperlukan untuk skrip baru yang akan ditambahkan, pembaruan manual untuk skema harus dilakukan.