クイックスタート AWS CloudFormation テンプレートを使用せずに Neptune ML を設定する - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クイックスタート AWS CloudFormation テンプレートを使用せずに Neptune ML を設定する

このガイドでは、 step-by-step AWS AWS CloudFormation クイックスタートテンプレートを使用せずに Amazon Neptune ML を設定する手順について説明します。Neptune-Export サービスのインストール、カスタムIAMロールの作成、Neptune ML を有効にするための DB クラスターの設定など、Neptune DB クラスターが既に動作していることを前提としています。また、このガイドでは、Neptune に 2 つの SageMaker エンドポイントを作成してVPC、必要な SageMaker 管理 へのアクセスを Neptune エンジンに許可する方法について説明しますAPIs。これらの手順に従って、 AWS CloudFormation テンプレートに依存することなく、既存の Neptune インフラストラクチャに Neptune ML を設定できます。

動作中の Neptune DB クラスターから始める

AWS CloudFormation クイックスタートテンプレートを使用して Neptune ML をセットアップしない場合は、既存の Neptune DB クラスターを使用する必要があります。必要な場合は、既存のものを使用することも、すでに使用しているものを複製することも、新しいものを作成することもできます (「Neptune クラスターを作成する」を参照)。

Neptune-Export サービスをインストールする

まだの場合は、Neptune-Export サービスを使用して Neptune データをエクスポートする で説明されているように、Neptune-Export サービスをインストールしてください。

インストールによって作成される NeptuneExportSecurityGroup セキュリティグループに、以下の設定でインバウンドルールを追加します。

  • タイプ: Custom TCP

  • プロトコル: TCP

  • [Port range] (ポート範囲): 80 - 443

  • ソース (Neptune DB cluster security group ID)

カスタム NeptuneLoadFromS3 IAMロールを作成する

まだ作成していない場合は、「」で説明されているように、カスタムNeptuneLoadFromS3IAMロールを作成しますAmazon S3 にアクセスするためのIAMロールの作成

カスタム 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:aws:s3:::*はARN、上記のポリシーの Amazon S3 リソースに使用されます。何らかの理由でユニバーサルを使用ARNできない場合は、NeptuneML コマンドが使用する他のお客様の Amazon S3 リソースARNの arn:aws:s3:::graphlytics*と をリソースセクションに追加する必要があります。

Neptune ML を有効にするように DB クラスターを設定する

Neptune ML の DB クラスターを設定するには
  1. Neptune コンソールで、[パラメータグループ] に移動し、次に、使用する DB クラスターに関連付けられた DB クラスターパラメータグループに移動します。作成したNeptuneSageMakerIAMRoleロールARNに割り当てられた に neptune_ml_iam_roleパラメータを設定します。

  2. [データベース] に移動し、Neptune ML に使用する DB クラスターを選択します。アクション を選択し、IAMロールを管理します

  3. IAM ロールの管理ページで、ロールを追加 を選択し、 を追加しますNeptuneSageMakerIAMRole。次に、NeptuneLoadFromS3 ロールを追加します。

  4. DB クラスターのライターインスタンスを再起動します。

Neptune に 2 つの SageMaker エンドポイントを作成する VPC

最後に、Neptune エンジンに必要な SageMaker 管理 へのアクセスを許可するにはAPIs、「」で説明されているようにVPC、Neptune に 2 つの SageMaker エンドポイントを作成する必要がありますNeptune SageMaker で の 2 つのエンドポイントを作成する VPC