本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在不使用快速入门的情况下设置 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. 创建自定义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: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 设置数据库集群
-
在Neptune 控制台
,导航到参数组然后转到与要使用的数据库集群关联的数据库集群关联的数据库集群参数组。设置 neptune_ml_iam_role
参数指 ARN 配给NeptuneSageMakerIAMRole
刚创建的角色。 -
导航到数据库,然后选择要用于 Neptune ML 的数据库集群。Select操作然后管理 IAM 角色.
在存储库的管理 IAM 角色选择页面,选择添加角色然后添加
NeptuneSageMakerIAMRole
. 然后添加NeptuneLoadFromS3
角色。重新启动数据库集群的写入器实例。
创建两个SageMakerNeptune VPC 中的终端节点
最后,为 Neptune 引擎提供必要的访问权限SageMaker管理 API,您需要创建两个SageMakerNeptune VPC 中的终端节点,如中所述在 Neptune VPC 中为 SageMaker 创建两个终端节点.