Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat aplikasi menggunakan AWS CLI
Anda dapat membuat aplikasi menggunakan AWS CLI kustomisasi keamanan yang lebih terperinci.
Prasyarat
Untuk membuat aplikasi menggunakanAWS CLI, Anda harus memiliki yang berikut:
-
Akses ke terminal.Ini dapat mencakup lokal IDEs, EC2 instans Amazon, atauAWS CloudShell.
-
Akses ke lingkungan pengembangan. Ini dapat mencakup lingkungan notebook lokal IDEs atau Jupyter dalam Studio atau Studio Classic.
-
AWS CLIInstalasi yang dikonfigurasi. Untuk informasi selengkapnya, lihat Mengkonfigurasi AWS CLI.
-
Peran IAM dengan izin yang sesuai. Langkah-langkah berikut mengharuskan lingkungan Anda untuk memiliki
iam:CreateRole,iam:CreatePolicy,iam:AttachRolePolicy, daniam:ListPoliciesizin. Izin ini diperlukan pada peran yang digunakan untuk menjalankan langkah-langkah dalam panduan pengguna ini. Petunjuk dalam panduan ini membuat peran IAM yang digunakan sebagai peran eksekusi MLflow Aplikasi sehingga dapat mengakses data di bucket Amazon S3 Anda. Selain itu, kebijakan dibuat untuk memberikan peran IAM pengguna yang berinteraksi dengan Aplikasi melalui izin MLflow SDK untuk menelepon. MLflow APIs Untuk informasi selengkapnya, lihat Memodifikasi kebijakan izin peran (konsol).Jika menggunakan Buku Catatan SageMaker Studio, perbarui peran layanan untuk profil pengguna Studio Anda dengan izin IAM ini. Untuk memperbarui peran layanan, navigasikan ke konsol SageMaker AI dan pilih domain yang Anda gunakan. Kemudian, di bawah domain, pilih profil pengguna yang Anda gunakan. Anda akan melihat peran layanan yang tercantum di sana. Arahkan ke konsol IAM, cari peran layanan di bawah Peran, dan perbarui peran Anda dengan kebijakan yang memungkinkan
iam:CreateRole,,iam:CreatePolicyiam:AttachRolePolicy, daniam:ListPoliciestindakan.
Mengatur AWS CLI model
Ikuti langkah-langkah baris perintah ini di dalam terminal AWS CLI untuk menyiapkan Amazon SageMaker AI dengan MLflow.
-
Instal versi terbaru dari fileAWS CLI. Untuk informasi selengkapnya, lihat Menginstal atau memperbarui ke versi terbaru dari Panduan AWS CLI Pengguna. AWS CLI
-
Verifikasi AWS CLI bahwa diinstal menggunakan perintah berikut:
aws sagemaker helpTekan
quntuk keluar dari prompt.Untuk bantuan penyelesaian masalah, lihat Memecahkan masalah pengaturan umum.
Menyiapkan MLflow infrastruktur
Bagian berikut menunjukkan cara menyiapkan MLflow Aplikasi beserta bucket Amazon S3 dan peran IAM yang diperlukan untuk aplikasi tersebut.
Buat Bucket S3
Di dalam terminal Anda, gunakan perintah berikut untuk membuat bucket Amazon S3 tujuan umum:
penting
Saat Anda menyediakan URI Amazon S3 untuk toko artefak Anda, pastikan bucket Amazon S3 sama dengan Aplikasi Anda. Wilayah AWS MLflow Penyimpanan artefak lintas wilayah tidak didukung.
bucket_name=bucket-nameregion=valid-regionaws s3api create-bucket \ --bucket$bucket_name\ --region$region\ --create-bucket-configuration LocationConstraint=$region
Outputnya akan serupa dengan yang berikut ini:
{ "Location": "/bucket-name" }
Menyiapkan kebijakan kepercayaan IAM
Gunakan langkah-langkah berikut untuk membuat kebijakan kepercayaan IAM. Untuk informasi selengkapnya tentang peran dan kebijakan kepercayaan, lihat Istilah dan konsep peran di Panduan AWS Identity and Access Management Pengguna.
-
Di dalam terminal Anda, gunakan perintah berikut untuk membuat file bernama
mlflow-trust-policy.json.cat <<EOF > /tmp/mlflow-trust-policy.json{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] } EOF -
Di dalam terminal Anda, gunakan perintah berikut untuk membuat file bernama
custom-policy.json.cat <<EOF > /tmp/custom-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:DescribeModelPackageGroup", "sagemaker:UpdateModelPackage", "s3:List*" ], "Resource": "*" } ] } EOF -
Gunakan file kebijakan kepercayaan untuk membuat peran. Kemudian, lampirkan kebijakan peran IAM yang memungkinkan MLflow untuk mengakses Amazon S3 SageMaker dan Registry Model dalam akun Anda. MLflow harus memiliki akses ke Amazon S3 untuk toko artefak aplikasi Anda dan Registri SageMaker Model untuk pendaftaran model otomatis.
catatan
Jika Anda memperbarui peran yang ada, gunakan perintah berikut sebagai gantinya:
aws iam update-assume-role-policy --role-name.$role_name--policy-documentfile:///tmp/mlflow-trust-policy.jsonrole_name=role-nameaws iam create-role \ --role-name$role_name\ --assume-role-policy-document file:///tmp/mlflow-trust-policy.jsonaws iam put-role-policy \ --role-name$role_name\ --policy-namecustom-policy\ --policy-document file:///tmp/custom-policy.jsonrole_arn=$(aws iam get-role --role-name $role_name --query 'Role.Arn' --output text)
Buat MLflow Aplikasi
Di dalam terminal Anda, gunakan create-mlflow-app API untuk membuat aplikasi sesuai Wilayah AWS pilihan Anda. Langkah ini biasanya memakan waktu sekitar 2-3 menit.
Perintah berikut membuat aplikasi baru dengan pendaftaran model otomatis diaktifkan. Untuk menonaktifkan pendaftaran model otomatis, tentukan--no-automatic-model-registration.
Setelah membuat aplikasi, Anda dapat meluncurkan MLflow UI. Untuk informasi selengkapnya, lihat Luncurkan MLflow UI menggunakan URL yang telah ditetapkan sebelumnya.
catatan
Mungkin diperlukan waktu hingga 2-3 menit untuk menyelesaikan pembuatan aplikasi. Jika aplikasi membutuhkan waktu lebih dari 3 menit untuk membuat, periksa apakah Anda memiliki izin IAM yang diperlukan. Ketika Anda berhasil membuat aplikasi, aplikasi akan dimulai secara otomatis.
Secara default, aplikasi yang dibuat adalah versi terbaru dan akan diperbarui secara otomatis.
app_name=app-nameregion=valid-regionversion=valid-versionaws sagemaker create-mlflow-app \ --name$app_name\ --artifact-store-uri s3://$bucket_name\ --role-arn$role_arn\--automatic-model-registration\ --region$region
Output harus serupa dengan yang berikut ini:
{ "AppArn": "arn:aws:sagemaker:region:123456789012:mlflow-app/app-name" }
penting
Catat aplikasi ARN untuk digunakan nanti. Anda juga akan membutuhkan langkah-langkah $bucket_name untuk membersihkan.