Uso de AWS CLI para configurar Neptune ML en un clúster de base de datos - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de AWS CLI para configurar Neptune ML en un clúster de base de datos

Además de la plantilla de inicio rápido de CloudFormation y la Consola de administración de AWS, también puede configurar Neptune ML mediante la AWS CLI.

Creación de un grupo de parámetros de clúster de base de datos para el nuevo clúster de Neptune ML

Los siguientes comandos de la AWS CLI crean un nuevo grupo de parámetros de clúster de base de datos y lo configuran para que funcione con Neptune ML:

Para crear y configurar un grupo de parámetros de clúster de base de datos de Neptune ML
  1. Cree un nuevo grupo de parámetros del clúster de base de datos:

    aws neptune create-db-cluster-parameter-group \ --db-cluster-parameter-group-name (name of the new DB cluster parameter group) \ --db-parameter-group-family neptune1 --description "(description of your machine learning project)" \ --region (AWS region, such as us-east-1)
  2. Cree un conjunto de parámetros de clúster de base de datos de neptune_ml_iam_role con el ARN de SageMakerExcecutionIAMRole para el clúster de base de datos que utilizará cuando llame a SageMaker AI para crear trabajos y obtener predicciones a partir de modelos de ML alojados:

    aws neptune modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name (name of the new DB cluster parameter group) \ --parameters "ParameterName=neptune_ml_iam_role, \ ParameterValue=ARN of the SageMakerExcecutionIAMRole, \ Description=NeptuneMLRole, \ ApplyMethod=pending-reboot" \ --region (AWS region, such as us-east-1)

    Si se establece este parámetro, Neptune podrá acceder a SageMaker AI sin que tenga que transferir el rol en cada llamada.

    Para obtener más información sobre cómo crear el SageMakerExcecutionIAMRole, consulte Cree un rol personalizado NeptuneSageMaker IAMRole .

  3. Por último, utilice describe-db-cluster-parameters para comprobar que todos los parámetros del nuevo grupo de parámetros del clúster de bases de datos estén configurados tal y como desee:

    aws neptune describe-db-cluster-parameters \ --db-cluster-parameter-group-name (name of the new DB cluster parameter group) \ --region (AWS region, such as us-east-1)

Adjuntar el nuevo grupo de parámetros de clúster de base de datos al clúster de base de datos que usará con Neptune ML

Ahora puede adjuntar el nuevo grupo de parámetros del clúster de base de datos que acaba de crear a un clúster de base de datos existente mediante el siguiente comando:

aws neptune modify-db-cluster \ --db-cluster-identifier (the name of your existing DB cluster) \ --apply-immediately --db-cluster-parameter-group-name (name of your new DB cluster parameter group) \ --region (AWS region, such as us-east-1)

Para que todos los parámetros entren en vigor, puede reiniciar el clúster de base de datos:

aws neptune reboot-db-instance --db-instance-identifier (name of the primary instance of your DB cluster) \ --profile (name of your AWS profile to use) \ --region (AWS region, such as us-east-1)

O bien, si va a crear un nuevo clúster de base de datos para usarlo con Neptune ML, puede usar el siguiente comando para crear el clúster con el nuevo grupo de parámetros adjunto y, a continuación, crear una nueva instancia principal (escritor):

cluster-name=(the name of the new DB cluster) aws neptune create-db-cluster --db-cluster-identifier ${cluster-name} --engine graphdb \ --engine-version 1.0.4.1 \ --db-cluster-parameter-group-name (name of your new DB cluster parameter group) \ --db-subnet-group-name (name of the subnet to use) \ --region (AWS region, such as us-east-1) aws neptune create-db-instance --db-cluster-identifier ${cluster-name} --db-instance-identifier ${cluster-name}-i \ --db-instance-class (the instance class to use, such as db.r5.xlarge) --engine graphdb \ --region (AWS region, such as us-east-1)

Asociar el NeptuneSageMakerIAMRole al clúster de base de datos para que pueda acceder a los recursos de SageMaker AI y Amazon S3

Por último, siga las instrucciones indicadas en Cree un rol personalizado NeptuneSageMaker IAMRole para crear un rol de IAM que permita que el clúster de base de datos se comunique con SageMaker AI y Amazon S3. A continuación, utilice el siguiente comando para adjuntar el rol de NeptuneSageMakerIAMRole que creó al clúster de base de datos:

aws neptune add-role-to-db-cluster --db-cluster-identifier ${cluster-name} --role-arn arn:aws:iam::(the ARN number of the role's ARN):role/NeptuneMLRole \ --region (AWS region, such as us-east-1)

Creación de dos puntos de conexión para SageMaker AI en la VPC de Neptune

Neptune ML necesita dos puntos de conexión de SageMaker AI en la VPC del clúster de base de datos de Neptune:

  • com.amazonaws.(AWS region, like us-east-1).sagemaker.runtime

  • com.amazonaws.(AWS region, like us-east-1).sagemaker.api

Si no ha utilizado la plantilla de CloudFormation de inicio rápido, que los crea automáticamente, puede utilizar los siguientes comandos de la AWS CLI para crearlos:

Este crea el punto de conexión de sagemaker.runtime:

aws ec2 create-vpc-endpoint --vpc-id (the ID of your Neptune DB cluster's VPC) --vpc-endpoint-type Interface --service-name com.amazonaws.(AWS region, like us-east-1).sagemaker.runtime --subnet-ids (the subnet ID or IDs that you want to use) --security-group-ids (the security group for the endpoint network interface, or omit to use the default) --private-dns-enabled

Este otro crea el punto de conexión de sagemaker.api:

aws ec2 create-vpc-endpoint --vpc-id (the ID of your Neptune DB cluster's VPC) --vpc-endpoint-type Interface --service-name com.amazonaws.(AWS region, like us-east-1).sagemaker.api --subnet-ids (the subnet ID or IDs that you want to use) --security-group-ids (the security group for the endpoint network interface, or omit to use the default) --private-dns-enabled

También puede usar la consola de la VPC para crear estos puntos de conexión. Consulte Protección de llamadas de predicciones en Amazon SageMaker con AWS PrivateLink y Protección de todas las llamadas a la API de Amazon SageMaker con AWS PrivateLink.

Creación de un parámetro de punto de conexión de inferencia de SageMaker AI en el grupo de parámetros de clúster de base de datos

Para evitar tener que especificar el punto de conexión de inferencia de SageMaker AI del modelo que está utilizando en cada consulta que le realice, cree un parámetro de clúster de base de datos denominado neptune_ml_endpoint en el grupo de parámetros del clúster de base de datos de Neptune ML. Establezca el parámetro en el id del punto de conexión de la instancia en cuestión.

Puede usar el siguiente comando de la AWS CLI para hacerlo:

aws neptune modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name neptune-ml-demo \ --parameters "ParameterName=neptune_ml_endpoint, \ ParameterValue=(the name of the SageMaker AI inference endpoint you want to query), \ Description=NeptuneMLEndpoint, \ ApplyMethod=pending-reboot" \ --region (AWS region, such as us-east-1)