本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
不使用快速入門 AWS CloudFormation 範本設定 Neptune ML
本指南提供 step-by-step不使用 AWS AWS CloudFormation 快速入門範本設定 Amazon Neptune ML 的說明。它假設您已經有運作中的 Neptune 資料庫叢集,並涵蓋必要的設定,包括安裝 Neptune-Export 服務、建立自訂IAM角色,以及設定資料庫叢集以啟用 Neptune ML。本指南也說明如何在 Neptune 中建立兩個 SageMaker AI 端點VPC,讓 Neptune 引擎存取必要的 SageMaker AI 管理APIs。遵循這些指示,您可以在現有的 Neptune 基礎設施上設定 Neptune ML,而不需要依賴 AWS CloudFormation 範本。
從運作中的 Neptune 資料庫叢集開始
如果您不使用 AWS CloudFormation 快速入門範本來設定 Neptune ML,則需要現有的 Neptune 資料庫叢集才能使用。如果想要的話,您可以使用已有的叢集,或複製您已使用中的叢集,或者您可以建立新的叢集 (請參閱 建立 Neptune 叢集)。
安裝 Neptune-Export 服務
如果您尚未安裝,請安裝 Neptune-Export 服務,如 使用 Neptune-Export 服務匯出 Neptune 資料 中所述。
使用下列設定,將傳入規則新增至安裝所建立的 NeptuneExportSecurityGroup
安全群組:
Type (類型):
Custom TCP
Protocol (通訊協定):
TCP
連接埠範圍:
80 - 443
來源:
(Neptune DB cluster security group ID)
建立 custom NeptuneLoadFromS3 IAM角色
如果您尚未這麼做,請建立自訂NeptuneLoadFromS3
IAM角色,如 中所述建立 IAM角色以存取 Amazon S3。
建立自訂 NeptuneSageMakerIAMRole 角色
使用 IAM主控台NeptuneSageMakerIAMRole
,使用下列政策:
{ "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" } ] }
建立此角色時,請編輯信任關係,以便其如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ec2.amazonaws.com", "rds.amazonaws.com", "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
最後,複製ARN指派給此新NeptuneSageMakerIAMRole
角色的 。
重要
確定
NeptuneSageMakerIAMRole
中的 Amazon S3 許可符合上述的許可。通用 ARN
arn:aws:s3:::*
用於上述政策中的 Amazon S3 資源。如果因為某些原因ARN無法使用通用,則必須將 NeptuneML 命令將使用的任何其他客戶 ARN Amazon S3 資源的arn:aws:s3:::graphlytics*
和 新增至資源區段。
設定資料庫叢集以啟用 Neptune ML
為 Neptune ML 設定資料庫叢集
-
在 Neptune 主控台
中,導覽至參數群組,然後導覽至與您將要使用的資料庫叢集相關聯的資料庫叢集參數群組。將 neptune_ml_iam_role
參數設定為ARN指派給您剛建立之NeptuneSageMakerIAMRole
角色的 。 -
導覽至資料庫,然後選取將要用於 Neptune ML 的資料庫叢集。選取動作,然後選取管理IAM角色。
在管理IAM角色頁面上,選取新增角色並新增
NeptuneSageMakerIAMRole
。然後新增NeptuneLoadFromS3
角色。重新啟動資料庫叢集的寫入器執行個體。
在 Neptune 中建立兩個 SageMaker AI 端點 VPC
最後,若要讓 Neptune 引擎存取必要的 SageMaker AI 管理 APIs,您需要在 Neptune 中建立兩個 SageMaker AI 端點VPC,如 中所述在 Neptune 中建立兩個 SageMaker AI 端點 VPC。