不使用快速入門 AWS CloudFormation 範本設定 Neptune ML - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

不使用快速入門 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 設定資料庫叢集
  1. Neptune 主控台中,導覽至參數群組,然後導覽至與您將要使用的資料庫叢集相關聯的資料庫叢集參數群組。將 neptune_ml_iam_role 參數設定為指派給您剛建立之 NeptuneSageMakerIAMRole 角色的 ARN。

  2. 導覽至資料庫,然後選取將要用於 Neptune ML 的資料庫叢集。選取動作,然後選取管理 IAM 角色

  3. 管理 IAM 角色頁面上,選取新增角色,然後新增 NeptuneSageMakerIAMRole。然後新增 NeptuneLoadFromS3 角色。

  4. 重新啟動資料庫叢集的寫入器執行個體。

在 Neptune VPC 中建立兩個 SageMaker AI 端點

最後,若要讓 Neptune 引擎存取必要的 SageMaker AI 管理 APIs,您需要在 Neptune VPC 中建立兩個 SageMaker AI 端點,如 所述在您的 Neptune VPC 中為 SageMaker AI 建立兩個端點