

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

# Gremlin コンソールをセットアップして Neptune DB インスタンスに接続する
<a name="access-graph-gremlin-console"></a>

Gremlin Console により、REPL (read-eval-print loop) 環境で TinkerPop グラフおよびクエリを試してみることができます。

## Gremlin コンソールをインストールし、通常の方法で接続する
<a name="access-graph-gremlin-console-usual-connect"></a>

Gremlin Console を使用して、リモートグラフデータベースに接続できます。次のセクションでは、Neptune DB インスタンスにリモートで接続するための Gremlin Console のインストールと設定について説明します。Neptune DB インスタンスと同じ仮想プライベートクラウド (VPC) の Amazon EC2 インスタンスからこれらの手順を実行してください。

SSL/TLS (必須) で Neptune に接続する方法については、「[SSL/TLS 設定](access-graph-gremlin-java.md#access-graph-gremlin-java-ssl)」を参照してください。

**注記**  
[IAM 認証の有効化](iam-auth-enable.md)を Neptune DB クラスターで行った場合、ここでの手順ではなく [Gremlin コンソールでの IAM 認証を使用した Amazon Neptune データベースへの接続](iam-auth-connecting-gremlin-console.md) の手順に従い、Gremlin Console をインストールします。

**Gremlin Console をインストールして Neptune に接続するには**

1. Gremlin Console バイナリには Java 8 または Java 11 が必要です。これらの手順は Java 11 の使用を前提としています。Java 11 は、次のように EC2 インスタンスにインストールできます。
   + [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 Console 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)。