

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

# クイックスタート CloudFormation テンプレートを使用せずに Neptune ML をセットアップする
<a name="machine-learning-manual-setup"></a>

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

## 動作中の Neptune DB クラスターから始める
<a name="ml-manual-setup-prereq"></a>

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

## Neptune-Export サービスをインストールする
<a name="ml-manual-setup-export-svc"></a>

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

インストールによって作成される `NeptuneExportSecurityGroup` セキュリティグループに、以下の設定でインバウンドルールを追加します。
+ *タイプ*: `Custom TCP`
+ *プロトコル*: `TCP`
+ *[Port range]* (ポート範囲): `80 - 443`
+ *ソース*: {{(Neptune DB クラスターセキュリティグループ ID)}}

## カスタム NeptuneLoadFromS3 IAM ロールを作成する
<a name="ml-manual-setup-s3-role"></a>

まだ作成していない場合は、[Amazon S3 にアクセスするための IAM ロールの作成](bulk-load-tutorial-IAM-CreateRole.md) で説明されているように、カスタム `NeptuneLoadFromS3` IAM ロールを作成します。

## カスタム NeptuneSageMakerIAMRole ロールを作成する
<a name="ml-manual-setup-sm-role"></a>

以下のポリシーを使用して、[IAM コンソール](https://console.aws.amazon.com/iam/)を使用し、カスタム `NeptuneSageMakerIAMRole` を作成します。

------
#### [ JSON ]

****  

```
{
  "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"
    }
  ]
}
```

------

このロールを作成するときに、以下のように信頼関係を編集します。

------
#### [ JSON ]

****  

```
{
  "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 を使用できない場合は、`arn:aws:s3:::graphlytics*` と、NeptuneML コマンドが使用する他のカスタマー Amazon S3 リソースの ARN をリソースセクションに追加する必要があります。

## Neptune ML を有効にするように DB クラスターを設定する
<a name="ml-manual-setup-cluster-config"></a>

**Neptune ML の DB クラスターを設定するには**

1. [Neptune コンソール](https://console.aws.amazon.com/neptune)で、**[パラメータグループ]** に移動し、次に、使用する DB クラスターに関連付けられた DB クラスターパラメータグループに移動します。`neptune_ml_iam_role` パラメータを、作成した `NeptuneSageMakerIAMRole` ロールに割り当てられた ARN に設定します。

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

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

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

## Neptune VPC に SageMaker AI の 2 つのエンドポイントを作成します。
<a name="ml-manual-setup-endpoints"></a>

最後に、Neptune エンジンに必要な SageMaker AI 管理 API へのアクセスを与えるために、[Neptune VPC で SageMaker AI の 2 つのエンドポイントを作成します。](machine-learning-cluster-setup.md#machine-learning-sm-endpoints) で説明されているように、Neptune VPC に 2 つの SageMaker AI エンドポイントを作成する必要があります。