Buat aplikasi menggunakan AWS CLI - Amazon SageMaker AI

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 memilikiiam:CreateRole,iam:CreatePolicy,iam:AttachRolePolicy, dan iam:ListPolicies izin. 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 memungkinkaniam:CreateRole,, iam:CreatePolicyiam:AttachRolePolicy, dan iam:ListPolicies tindakan.

Mengatur AWS CLI model

Ikuti langkah-langkah baris perintah ini di dalam terminal AWS CLI untuk menyiapkan Amazon SageMaker AI dengan MLflow.

  1. Instal versi terbaru dari fileAWS CLI. Untuk informasi selengkapnya, lihat Menginstal atau memperbarui ke versi terbaru dari Panduan AWS CLI Pengguna. AWS CLI

  2. Verifikasi AWS CLI bahwa diinstal menggunakan perintah berikut:

    aws sagemaker help

    Tekan q untuk 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-name region=valid-region aws 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.

  1. Di dalam terminal Anda, gunakan perintah berikut untuk membuat file bernamamlflow-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
  2. Di dalam terminal Anda, gunakan perintah berikut untuk membuat file bernamacustom-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
  3. 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-document file:///tmp/mlflow-trust-policy.json.

    role_name=role-name aws iam create-role \ --role-name $role_name \ --assume-role-policy-document file:///tmp/mlflow-trust-policy.json aws iam put-role-policy \ --role-name $role_name \ --policy-name custom-policy \ --policy-document file:///tmp/custom-policy.json role_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-name region=valid-region version=valid-version aws 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.