

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration de Neptune ML sans utiliser le modèle de démarrage rapide CloudFormation
<a name="machine-learning-manual-setup"></a>

 Ce guide fournit des step-by-step instructions pour configurer Amazon Neptune ML sans utiliser le modèle de démarrage AWS CloudFormation rapide. Il suppose que vous disposez déjà d'un cluster de base de données Neptune fonctionnel et couvre la configuration nécessaire, y compris l'installation du service Neptune-Export, la création de rôles IAM personnalisés et la configuration de votre cluster de base de données pour activer Neptune ML. Le guide explique également comment créer deux points de terminaison SageMaker IA dans votre VPC Neptune pour permettre au moteur Neptune d'accéder à la gestion de l'IA nécessaire. SageMaker APIs En suivant ces instructions, vous pouvez configurer Neptune ML sur votre infrastructure Neptune existante sans vous fier au modèle. CloudFormation 

## Utilisation d'un cluster de bases de données Neptune fonctionnel
<a name="ml-manual-setup-prereq"></a>

Si vous n'utilisez pas le modèle de CloudFormation démarrage rapide pour configurer Neptune ML, vous aurez besoin d'un cluster de base de données Neptune existant pour fonctionner. Si vous le souhaitez, vous pouvez en utiliser un que vous possédez déjà, ou en cloner un que vous utilisez déjà, ou encore en créer un nouveau (voir [Créer un cluster Neptune](get-started-create-cluster.md)).

## Installation du service d'exportation Neptune
<a name="ml-manual-setup-export-svc"></a>

Si vous ne l'avez pas encore fait, installez le service d'exportation Neptune, comme expliqué dans [Utilisation du Neptune-Export service pour exporter les données Neptune](export-service.md).

Ajoutez une règle entrante au groupe de sécurité `NeptuneExportSecurityGroup` créé par l'installation, avec les paramètres suivants :
+ *Type :* `Custom TCP`
+ *Protocole* : `TCP`
+ *Plage de ports* : `80 - 443`
+ *Source :* {{(Neptune DB cluster security group ID)}}

## Création d'un rôle NeptuneLoadFrom S3 IAM personnalisé
<a name="ml-manual-setup-s3-role"></a>

Si vous ne l'avez pas encore fait, créez un rôle IAM `NeptuneLoadFromS3` personnalisé, comme expliqué dans [Création d'une politique IAM pour accéder à Amazon S3](bulk-load-tutorial-IAM-CreateRole.md).

## Création d'un NeptuneSageMaker IAMRole rôle personnalisé
<a name="ml-manual-setup-sm-role"></a>

Utilisez la [console IAM](https://console.aws.amazon.com/iam/) pour créer un `NeptuneSageMakerIAMRole` personnalisé, en utilisant la politique suivante :

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

------

Lors de la création de ce rôle, modifiez la relation d'approbation afin qu'elle se présente comme suit :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "ec2.amazonaws.com",
          "rds.amazonaws.com",
          "sagemaker.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Enfin, copiez l'ARN attribué à ce nouveau rôle `NeptuneSageMakerIAMRole`.

**Important**  
Veillez à ce que les autorisations Amazon S3 figurant dans `NeptuneSageMakerIAMRole` correspondent aux autorisations ci-dessus.
L'ARN universel `arn:aws:s3:::*` est utilisé pour la ressource Amazon S3 dans la politique ci-dessus. Si, pour une raison ou une autre, l'ARN universel ne peut pas être utilisé, `arn:aws:s3:::graphlytics*` et l'ARN de toute autre ressource Amazon S3 du client que les commandes NeptuneML utiliseront doivent être ajoutés à la section des ressources.

## Configuration de votre cluster de bases de données de façon à activer Neptune ML
<a name="ml-manual-setup-cluster-config"></a>

**Pour configurer votre cluster de bases de données pour Neptune ML**

1. Dans la [console Neptune](https://console.aws.amazon.com/neptune), accédez à **Groupes de paramètres**, puis au groupe de paramètres du cluster de bases de données associé au cluster de bases de données que vous allez utiliser. Définissez le paramètre `neptune_ml_iam_role` sur l'ARN attribué au rôle `NeptuneSageMakerIAMRole` que vous venez de créer.

1. Accédez à Bases de données, puis sélectionnez le cluster de bases de données que vous utiliserez pour Neptune ML. Sélectionnez **Actions**, puis **Gérer les rôles IAM**.

1. Sur la page **Gérer les rôles IAM**, sélectionnez **Ajouter un rôle** et ajoutez `NeptuneSageMakerIAMRole`. Ajoutez ensuite le rôle `NeptuneLoadFromS3`. 

1. Redémarrez l'instance d'enregistreur de votre cluster de bases de données. 

## Créez deux points de terminaison SageMaker IA dans votre VPC Neptune
<a name="ml-manual-setup-endpoints"></a>

Enfin, pour donner au moteur Neptune l'accès à la gestion de l' SageMaker IA nécessaire APIs, vous devez créer deux points de terminaison d' SageMaker IA dans votre VPC Neptune, comme expliqué dans. [Créez deux points de terminaison pour l' SageMaker IA dans votre VPC Neptune](machine-learning-cluster-setup.md#machine-learning-sm-endpoints)