在不使用快速入门的情况下设置 Neptune MLAmazon CloudFormation模板 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在不使用快速入门的情况下设置 Neptune MLAmazon CloudFormation模板

1. 从正在运行的 Neptune 数据库集群开始

如果您不使用Amazon CloudFormation快速入门模板来设置 Neptune ML,您需要现有的 Neptune 数据库集群才能使用。如果你愿意,你可以使用已经拥有的,也可以克隆已经使用的那个,也可以创建一个新的(请参阅创建数据库集群)。

确保您将使用的 Neptune 数据库集群至少运行引擎版本1.0.5.0. 如果它运行的是较早的引擎版本,则可以按照中所述升级它Neptune 引擎更新.

2. 安装海王星出口服务

如果您尚未这样做,请安装 Neptune Export 服务,使用 Neptune 导出服务导出 Neptune 数据.

将入站规则添加到NeptuneExportSecurityGroup安装创建的安全组,具有以下设置:

  • 类型: Custom TCP

  • 协议TCP

  • 端口范围80 - 443

  • (Neptune 数据库集群安全组 ID)

3. 创建自定义NeptuneLoadFromS3IAM 角色

如果您尚未创建自定义服务器,请创建自定义服务NeptuneLoadFromS3IAM 角色,如中所述创建 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: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" } ] }

最后,复制分配给这个新的 ARNNeptuneSageMakerIAMRole角色。

配置数据库集群以启用 Neptune ML

为 Neptune ML 设置数据库集群

  1. Neptune 控制台,导航到参数组然后转到与要使用的数据库集群关联的数据库集群关联的数据库集群参数组。设置neptune_ml_iam_role参数指 ARN 配给NeptuneSageMakerIAMRole刚创建的角色。

  2. 导航到数据库,然后选择要用于 Neptune ML 的数据库集群。Select操作然后管理 IAM 角色.

  3. 在存储库的管理 IAM 角色选择页面,选择添加角色然后添加NeptuneSageMakerIAMRole. 然后添加NeptuneLoadFromS3角色。

  4. 重新启动数据库集群的写入器实例。

创建两个SageMakerNeptune VPC 中的终端节点

最后,为 Neptune 引擎提供必要的访问权限SageMaker管理 API,您需要创建两个SageMakerNeptune VPC 中的终端节点,如中所述在 Neptune VPC 中为 SageMaker 创建两个终端节点.