

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

# Gremlin 콘솔에서 Neptune DB 인스턴스에 연결하도록 설정
<a name="access-graph-gremlin-console"></a>

Gremlin 콘솔을 사용하여 REPL(read-eval-print loop) 환경에서 TinkerPop 그래프 및 쿼리를 실험할 수 있습니다.

## Gremlin 콘솔 설치 및 일반적인 방법으로 연결
<a name="access-graph-gremlin-console-usual-connect"></a>

Gremlin 콘솔을 사용하여 원격 그래프 데이터베이스에 연결할 수 있습니다. 다음 섹션에서는 Gremlin 콘솔을 설치하고 구성하여 원격으로 Neptune DB 인스턴스에 연결하는 방법을 안내합니다. 사용자의 Neptune DB 인스턴스와 동일한 Virtual Private Cloud(VPC)에 있는 Amazon EC2 인스턴스에서 이러한 지침을 따라야 합니다.

SSL/TLS(필수)를 사용하여 Neptune에 연결하는 데 도움이 필요하면 [SSL/TLS 구성](access-graph-gremlin-java.md#access-graph-gremlin-java-ssl)을 참조하세요.

**참고**  
Neptune DB 클러스터에서 [IAM 인증을 활성화](iam-auth-enable.md)한 경우 여기의 지침 대신 Gremlin 콘솔을 설치하기 위한 [Gremlin 콘솔에서 IAM 인증을 사용하여 Amazon Neptune 데이터베이스에 연결](iam-auth-connecting-gremlin-console.md)의 지침을 따르세요.

**Gremlin 콘솔을 설치하고 Neptune에 연결하려면**

1. Gremlin 콘솔 이진은 Java 8 또는 Java 11이 필요합니다. 이 지침에서는 Java 11의 사용을 전제로 합니다. 다음과 같이 EC2 인스턴스에 Java 11을 설치할 수 있습니다.
   + [Amazon Linux 2(AL2)](https://aws.amazon.com/amazon-linux-2)를 사용하는 경우:

     ```
     sudo amazon-linux-extras install java-openjdk11
     ```
   + [Amazon Linux 2023(AL2023)](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html)을 사용하는 경우:

     ```
     sudo yum install java-11-amazon-corretto-devel
     ```
   + 다른 배포판의 경우 다음 중 적절한 것을 사용하세요.

     ```
     sudo yum install java-11-openjdk-devel
     ```

     또는:

     ```
     sudo apt-get install openjdk-11-jdk
     ```

1. 다음을 입력하여 사용자의 EC2 인스턴스에 Java 11을 기본 런타임으로 설정합니다.

   ```
   sudo /usr/sbin/alternatives --config java
   ```

   메시지가 표시되면 Java 11에 대한 숫자를 입력합니다.

1. Apache 웹 사이트에서 적절한 버전의 Gremlin 콘솔을 다운로드합니다. [Gremlin을 사용하여 Neptune 그래프에 액세스](access-graph-gremlin.md)를 확인하여 Neptune 버전에서 지원하는 Gremlin 버전을 확인할 수 있습니다. 예를 들어 버전 3.7.2가 필요한 경우 다음과 같이 [Apache Tinkerpop](https://tinkerpop.apache.org/download.html) 웹 사이트에서 EC2 인스턴스로 [Gremlin 콘솔](https://archive.apache.org/dist/tinkerpop/3.7.2/apache-tinkerpop-gremlin-console-3.7.2-bin.zip)을 다운로드할 수 있습니다.

   ```
   wget https://archive.apache.org/dist/tinkerpop/3.7.2/apache-tinkerpop-gremlin-console-3.7.2-bin.zip
   ```

1. Gremlin 콘솔 zip 파일의 압축을 풉니다.

   ```
   unzip apache-tinkerpop-gremlin-console-3.7.2-bin.zip
   ```

1. 압축을 푼 디렉터리로 디렉터리를 변경합니다.

   ```
   cd apache-tinkerpop-gremlin-console-3.7.2
   ```

1. 추출된 디렉토리의 `conf` 하위 디렉터리에서 다음 텍스트가 있는 파일 `neptune-remote.yaml`을 생성합니다. {{your-neptune-endpoint}}를 Neptune DB 인스턴스의 호스트 이름 또는 IP 주소로 바꿉니다. 대괄호(`[ ]`)를 사용해야 합니다.
**참고**  
사용자의 Neptune DB 인스턴스 호스트 이름을 찾는 방법은 [Amazon Neptune 엔드포인트에 연결](feature-overview-endpoints.md) 섹션을 참조하세요.

   ```
   hosts: [{{your-neptune-endpoint}}]
   port: 8182
   connectionPool: { enableSsl: true }
   serializer: { className: org.apache.tinkerpop.gremlin.util.ser.GraphBinaryMessageSerializerV1,
                 config: { serializeResultToString: true }}
   ```
**참고**  
 직렬 변환기가 버전 3.7.0의 `gremlin-driver` 모듈에서 새 `gremlin-util` 모듈로 이동되었습니다. 패키지가 org.apache.tinkerpop.gremlin.driver.ser에서 org.apache.tinkerpop.gremlin.util.ser로 변경되었습니다.

1. 터미널에서 Gremlin 콘솔 디렉터리(`apache-tinkerpop-gremlin-console-3.7.2`)로 이동한 후 다음 명령을 입력하여 Gremlin 콘솔을 실행합니다.

   ```
   bin/gremlin.sh
   ```

   다음 결과가 표시됩니다.

   ```
            \,,,/
            (o o)
   -----oOOo-(3)-oOOo-----
   plugin activated: tinkerpop.server
   plugin activated: tinkerpop.utilities
   plugin activated: tinkerpop.tinkergraph
   gremlin>
   ```

   이제 `gremlin>` 프롬프트가 표시됩니다. 이 프롬프트에 나머지 단계를 입력합니다.

1. `gremlin>` 프롬프트에 다음을 입력하여 Neptune DB 인스턴스에 연결합니다.

   ```
   :remote connect tinkerpop.server conf/neptune-remote.yaml
   ```

1. `gremlin>` 프롬프트에 다음을 입력하여 원격 모드로 전환합니다. 그러면 모든 Gremlin 쿼리가 원격 연결로 전송됩니다.

   ```
   :remote console
   ```

1. 다음과 같이 입력하여 Gremlin 그래프에 쿼리를 전송합니다.

   ```
   g.V().limit(1)
   ```

1. 완료했으면 다음을 입력하여 Gremlin 콘솔을 종료합니다.

   ```
   :exit
   ```

**참고**  
세미콜론(`;`) 또는 줄 바꿈 문자(`\n`)를 사용하여 각 문장을 구분합니다.  
최종 순회 이전의 각 순회는 실행할 `next()`로 끝나야 합니다. 최종 순회의 데이터만 반환됩니다.

Gremlin의 Neptune 구현에 대한 자세한 내용은 [Amazon Neptune에 사용되는 Gremlin 표준 규정 준수](access-graph-gremlin-differences.md) 섹션을 참조하세요.

## IAM 인증
<a name="access-graph-gremlin-console-iam"></a>

Neptune은 DB 클러스터에 대한 액세스를 제어하는 [IAM 인증을](iam-auth-enable.md) 지원합니다. IAM 인증을 활성화한 경우 서명 버전 4 서명을 사용하여 요청을 인증해야 합니다. Gremlin 콘솔에서 연결하기 위한 자세한 지침과 코드 예제는 섹션을 참조하세요[Gremlin 콘솔에서 IAM 인증을 사용하여 Amazon Neptune 데이터베이스에 연결](iam-auth-connecting-gremlin-console.md).