

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS CLI 를 사용하여 DB 클러스터에서 Neptune ML 설정
<a name="machine-learning-cluster-setup"></a>

 CloudFormation 빠른 시작 템플릿 및 외에도 AWS Management Console를 사용하여 Neptune ML을 설정할 수도 있습니다 AWS CLI.

## 새로운 Neptune ML 클러스터에 사용할 DB 클러스터 파라미터 그룹 생성
<a name="machine-learning-enabling-create-param-group"></a>

다음 AWS CLI 명령은 새 DB 클러스터 파라미터 그룹을 생성하고 Neptune ML에서 작동하도록 설정합니다.

**Neptune ML에 사용할 DB 클러스터 파라미터 그룹을 만들고 구성하려면**

1. 새 DB 클러스터 파라미터 그룹을 생성합니다.

   ```
   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)
   ```

1. SageMaker AI를 호출하여 작업을 생성하고 호스팅된 ML 모델에서 예측을 가져오는 동안 사용할 DB 클러스터에 대한 `SageMakerExcecutionIAMRole`의 ARN으로 설정된 `neptune_ml_iam_role` DB 클러스터 파라미터를 생성합니다.

   ```
   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)
   ```

   이 파라미터를 설정하면 사용자가 호출할 때마다 역할을 넘겨주지 않고도 Neptune이 SageMaker AI에 액세스할 수 있습니다.

   `SageMakerExcecutionIAMRole`을 생성하는 방법에 대한 자세한 내용은 [사용자 지정 NeptuneSageMakerIAMRole 역할 생성](machine-learning-manual-setup.md#ml-manual-setup-sm-role)을 참조하세요.

1. 마지막으로 `describe-db-cluster-parameters`를 사용하여 새 DB 클러스터 파라미터 그룹의 모든 파라미터가 원하는 대로 설정되었는지 확인합니다.

   ```
   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)
   ```

## Neptune ML에서 사용할 DB 클러스터에 새 DB 클러스터 파라미터 그룹 연결
<a name="machine-learning-enabling-attach-param-group"></a>

이제 다음 명령을 사용하여 방금 생성한 새 DB 클러스터 파라미터 그룹을 기존 DB 클러스터에 연결할 수 있습니다.

```
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)
```

모든 파라미터를 유효하게 만들려면 DB 클러스터를 재부팅하면 됩니다.

```
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)
```

아니면 Neptune ML과 함께 사용할 새 DB 클러스터를 생성하는 경우, 다음 명령을 사용하여 새 파라미터 그룹이 연결된 클러스터를 생성한 후 새 기본(라이터) 인스턴스를 만들 수 있습니다.

```
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)
```

## SageMaker AI 및 Amazon S3 리소스에 액세스할 수 있도록 DB 클러스터에 `NeptuneSageMakerIAMRole` 연결
<a name="machine-learning-enabling-attach-neptune-sagemaker-role"></a>

마지막으로, [사용자 지정 NeptuneSageMakerIAMRole 역할 생성](machine-learning-manual-setup.md#ml-manual-setup-sm-role)의 지침에 따라 DB 클러스터가 SageMaker AI 및 Amazon S3와 통신할 수 있도록 허용하는 IAM 역할을 생성합니다. 그런 다음 아래의 명령을 사용하여 생성한 `NeptuneSageMakerIAMRole` 역할을 DB 클러스터에 연결합니다.

```
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)
```

## Neptune VPC에서 SageMaker AI를 위한 2개의 엔드포인트 생성
<a name="machine-learning-sm-endpoints"></a>

Neptune ML에는 Neptune DB 클러스터의 VPC에 2개의 SageMaker AI 엔드포인트가 필요합니다.
+ `com.amazonaws.(AWS region, like us-east-1).sagemaker.runtime`
+ `com.amazonaws.(AWS region, like us-east-1).sagemaker.api`

자동으로 생성되는 빠른 시작 CloudFormation 템플릿을 사용하지 않은 경우 다음 AWS CLI 명령을 사용하여 템플릿을 생성할 수 있습니다.

이렇게 하면 `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
```

그리고 `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
```

[VPC 콘솔](https://console.aws.amazon.com/vpc/)을 사용하여 이러한 엔드포인트를 생성할 수도 있습니다. [PrivateLink를 사용한 Amazon SageMaker의 보안 예측 호출 및 AWS PrivateLink](https://aws.amazon.com/blogs/machine-learning/secure-prediction-calls-in-amazon-sagemaker-with-aws-privatelink/)[PrivateLink를 사용한 모든 Amazon SageMaker API 호출 보호를 참조하세요 AWS PrivateLink](https://aws.amazon.com/blogs/machine-learning/securing-all-amazon-sagemaker-api-calls-with-aws-privatelink/).

## DB 클러스터 파라미터 그룹에서 SageMaker AI 추론 엔드포인트 파라미터 생성
<a name="machine-learning-set-inference-endpoint-cluster-parameter"></a>

쿼리할 때마다 사용 중인 모델의 SageMaker AI 추론 엔드포인트를 지정하지 않으려면 Neptune ML용 DB 클러스터 파라미터 그룹에 `neptune_ml_endpoint` 이름이 지정된 DB 클러스터 파라미터를 생성하면 됩니다. 파라미터를 해당 인스턴스 엔드포인트의 `id`로 설정합니다.

다음 AWS CLI 명령을 사용하여이 작업을 수행할 수 있습니다.

```
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)
```