本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
不使用快速入門 AWS CloudFormation 範本設定 Neptune ML
本指南提供step-by-step說明,而無需使用 AWS AWS CloudFormation 快速入門範本。 Amazon Neptune 其假設您已有運作中的 Neptune 資料庫叢集,並涵蓋必要的設定,包括安裝 Neptune-Export 服務、建立自訂 IAM 角色,以及設定資料庫叢集以啟用 Neptune ML。本指南也說明如何在 Neptune VPC 中建立兩個 SageMaker AI 端點,讓 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 資料庫叢集安全群組 ID)
建立自訂 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" } ] }
最後,複製指派給這個新 NeptuneSageMakerIAMRole
角色的 ARN。
重要
確定
NeptuneSageMakerIAMRole
中的 Amazon S3 許可符合上述的許可。在上述政策中,通用 ARN (
arn:aws:s3:::*
) 用於 Amazon S3 資源。如果由於某種原因無法使用通用 ARN,則 NeptuneML 命令將使用的任何其他客戶 Amazon S3 資源的arn:aws:s3:::graphlytics*
和 ARN 必須新增到資源區段。
設定資料庫叢集以啟用 Neptune ML
為 Neptune ML 設定資料庫叢集
-
在 Neptune 主控台
中,導覽至參數群組,然後導覽至與您將要使用的資料庫叢集相關聯的資料庫叢集參數群組。將 neptune_ml_iam_role
參數設定為指派給您剛建立之NeptuneSageMakerIAMRole
角色的 ARN。 -
導覽至資料庫,然後選取將要用於 Neptune ML 的資料庫叢集。選取動作,然後選取管理 IAM 角色。
在管理 IAM 角色頁面上,選取新增角色,然後新增
NeptuneSageMakerIAMRole
。然後新增NeptuneLoadFromS3
角色。重新啟動資料庫叢集的寫入器執行個體。
在 Neptune VPC 中建立兩個 SageMaker AI 端點
最後,若要讓 Neptune 引擎存取必要的 SageMaker AI 管理 APIs,您需要在 Neptune VPC 中建立兩個 SageMaker AI 端點,如 所述在您的 Neptune VPC 中為 SageMaker AI 建立兩個端點。