Menyiapkan Neptune ML tanpa menggunakan quick-start templat AWS CloudFormation - Amazon Neptune

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

Menyiapkan Neptune ML tanpa menggunakan quick-start templat AWS CloudFormation

1. Mulailah dengan cluster DB Neptunus yang berfungsi

Jika Anda tidak menggunakan template AWS CloudFormation mulai cepat untuk menyiapkan Neptunus ML, Anda akan memerlukan kluster DB Neptunus yang ada untuk bekerja dengannya. Jika mau, Anda dapat menggunakan yang sudah Anda miliki, atau mengkloning yang sudah Anda gunakan, atau Anda dapat membuat yang baru (lihatMembuat klaster DB).

2. Menginstal layanan Neptune-Ekspor

Jika Anda belum melakukannya, instal layanan Neptune-Export, seperti yang dijelaskan di. Menggunakan layanan Neptunus-Ekspor untuk mengekspor data Neptunus

Tambahkan aturan masuk ke grup NeptuneExportSecurityGroup keamanan yang dibuat penginstalan, dengan pengaturan berikut:

  • Tipe: Custom TCP

  • Protokol: TCP

  • Rentang port: 80 - 443

  • Sumber: (ID grup keamanan cluster Neptunus DB)

3. Buat peran NeptuneLoadFromS3 IAM khusus

Jika Anda belum melakukannya, buat peran NeptuneLoadFromS3 IAM khusus, seperti yang dijelaskan diMembuat IAM peran untuk mengakses Amazon S3.

Buat NeptuneSageMakerIAMRole peran khusus

Gunakan konsol IAM untuk membuat kustomNeptuneSageMakerIAMRole, menggunakan kebijakan berikut:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:CreateVpcEndpoint", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcs" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/*" ], "Condition": { "StringEquals": { "iam:PassedToService": [ "sagemaker.amazonaws.com" ] } }, "Effect": "Allow" }, { "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "arn:aws:kms:*:*:key/*", "Effect": "Allow" }, { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:GetLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/sagemaker/*" ], "Effect": "Allow" }, { "Action": [ "sagemaker:AddTags", "sagemaker:CreateEndpoint", "sagemaker:CreateEndpointConfig", "sagemaker:CreateHyperParameterTuningJob", "sagemaker:CreateModel", "sagemaker:CreateProcessingJob", "sagemaker:CreateTrainingJob", "sagemaker:CreateTransformJob", "sagemaker:DeleteEndpoint", "sagemaker:DeleteEndpointConfig", "sagemaker:DeleteModel", "sagemaker:DescribeEndpoint", "sagemaker:DescribeEndpointConfig", "sagemaker:DescribeHyperParameterTuningJob", "sagemaker:DescribeModel", "sagemaker:DescribeProcessingJob", "sagemaker:DescribeTrainingJob", "sagemaker:DescribeTransformJob", "sagemaker:InvokeEndpoint", "sagemaker:ListTags", "sagemaker:ListTrainingJobsForHyperParameterTuningJob", "sagemaker:StopHyperParameterTuningJob", "sagemaker:StopProcessingJob", "sagemaker:StopTrainingJob", "sagemaker:StopTransformJob", "sagemaker:UpdateEndpoint", "sagemaker:UpdateEndpointWeightsAndCapacities" ], "Resource": [ "arn:aws:sagemaker:*:*:*" ], "Effect": "Allow" }, { "Action": [ "sagemaker:ListEndpointConfigs", "sagemaker:ListEndpoints", "sagemaker:ListHyperParameterTuningJobs", "sagemaker:ListModels", "sagemaker:ListProcessingJobs", "sagemaker:ListTrainingJobs", "sagemaker:ListTransformJobs" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*" ], "Effect": "Allow" } ] }

Saat membuat peran ini, edit hubungan kepercayaan sehingga berbunyi sebagai berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ec2.amazonaws.com", "rds.amazonaws.com", "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Terakhir, salin ARN yang ditugaskan untuk peran baru NeptuneSageMakerIAMRole ini.

penting
  • Pastikan izin Amazon S3 NeptuneSageMakerIAMRole sesuai dengan yang di atas.

  • ARN universal, arn:aws:s3:::* digunakan untuk sumber daya Amazon S3 dalam kebijakan di atas. Jika karena alasan tertentu ARN universal tidak dapat digunakan, maka arn:aws:s3:::graphlytics* dan ARN untuk sumber daya Amazon S3 pelanggan lain yang akan digunakan perintah Neptuneml harus ditambahkan ke bagian sumber daya.

Konfigurasikan cluster DB Anda untuk mengaktifkan Neptunus ML

Untuk mengatur cluster DB Anda untuk Neptunus ML
  1. Di konsol Neptunus, navigasikan ke Grup Parameter dan kemudian ke grup parameter cluster DB yang terkait dengan cluster DB yang akan Anda gunakan. Atur neptune_ml_iam_role parameter ke ARN yang ditetapkan ke NeptuneSageMakerIAMRole peran yang baru saja Anda buat.

  2. Arahkan ke Database, lalu pilih cluster DB yang akan Anda gunakan untuk Neptunus ML. Pilih Tindakan lalu Kelola peran IAM.

  3. Pada halaman Kelola peran IAM, pilih Tambah peran dan tambahkan. NeptuneSageMakerIAMRole Kemudian tambahkan NeptuneLoadFromS3 peran.

  4. Reboot instance penulis dari cluster DB Anda.

Buat dua SageMaker titik akhir di VPC Neptunus Anda

Terakhir, untuk memberi mesin Neptunus akses API manajemen yang diperlukan, Anda SageMaker perlu membuat SageMaker dua titik akhir di VPC Neptunus Anda, seperti yang dijelaskan dalam. Buat dua titik akhir untuk SageMaker VPC Neptune Anda

Mengkonfigurasi notebook Neptunus secara manual untuk Neptunus ML

Notebook SageMaker Neptunus dilengkapi dengan berbagai notebook sampel untuk Neptunus ML. Anda dapat melihat pratinjau sampel ini di repositori grafik-notebook GitHub sumber terbuka.

Anda dapat menggunakan salah satu notebook Neptunus yang ada, atau jika mau, Anda dapat membuatnya sendiri, mengikuti instruksi di. Menggunakan workbench Neptune untuk meng-host notebook Neptune

Anda juga dapat mengonfigurasi notebook Neptunus default untuk digunakan dengan Neptunus ML dengan mengikuti langkah-langkah berikut:

Memodifikasi notebook untuk Neptunus ML
  1. Buka SageMaker konsol Amazon di https://console.aws.amazon.com/sagemaker/.

  2. Pada panel navigasi di sebelah kiri, pilih Notebook, lalu Instans Notebook. Cari nama notebook Neptunus yang ingin Anda gunakan untuk Neptunus ML dan pilih untuk membuka halaman detailnya.

  3. Jika instance notebook sedang berjalan, pilih tombol Stop di kanan atas halaman detail notebook.

  4. Di pengaturan instans Notebook, di bawah Konfigurasi Siklus Hidup, pilih tautan untuk membuka halaman siklus hidup buku catatan.

  5. Pilih Edit di kanan atas, lalu Lanjutkan.

  6. Di tab Start notebook, ubah skrip untuk menyertakan perintah ekspor tambahan dan untuk mengisi bidang untuk peran Neptunus MLIAM Anda dan URI layanan Ekspor, sesuatu seperti ini tergantung pada shell Anda:

    echo "export NEPTUNE_ML_ROLE_ARN=(your Neptune ML IAM role ARN)" >> ~/.bashrc echo "export NEPTUNE_EXPORT_API_URI=(your export service URI)" >> ~/.bashrc
  7. Pilih Perbarui.

  8. Kembali ke halaman instance notebook. Di bawah Izin dan enkripsi ada bidang untuk peran IAM ARN. Pilih tautan di bidang ini untuk pergi ke peran IAM yang dijalankan oleh instance notebook ini.

  9. Buat kebijakan inline baru seperti ini:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricData" ], "Resource": "arn:aws:cloudwatch:[AWS_REGION]:[AWS_ACCOUNT_ID]:*", "Effect": "Allow" }, { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:logs:[AWS_REGION]:[AWS_ACCOUNT_ID]:*", "Effect": "Allow" }, { "Action": [ "s3:Put*", "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::*", "Effect": "Allow" }, { "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:[AWS_REGION]:[AWS_ACCOUNT_ID]:*/*", "Effect": "Allow" }, { "Action": [ "sagemaker:CreateModel", "sagemaker:CreateEndpointConfig", "sagemaker:CreateEndpoint", "sagemaker:DescribeModel", "sagemaker:DescribeEndpointConfig", "sagemaker:DescribeEndpoint", "sagemaker:DeleteModel", "sagemaker:DeleteEndpointConfig", "sagemaker:DeleteEndpoint" ], "Resource": "arn:aws:sagemaker:[AWS_REGION]:[AWS_ACCOUNT_ID]:*/*", "Effect": "Allow" }, { "Action": [ "iam:PassRole" ], "Resource": "[YOUR_NEPTUNE_ML_IAM_ROLE_ARN]"", "Effect": "Allow" } ] }
  10. Simpan kebijakan baru ini dan lampirkan ke peran IAM di Langkah 8.

  11. Pilih Mulai di kanan atas halaman detail instance SageMaker notebook untuk memulai instance notebook.