オフィスからRDSを接続するように、オフィスのローカルマシンからAWSインスタンスのNeptune DBに接続しようとしています。ローカルマシンからNeptune dbに接続することはできますか? Neptune dbは一般に公開されていますか?開発者がNeptune dbをオフィスから接続する方法はありますか?.
Neptuneはパブリックエンドポイント(VPCの外部からアクセス可能なエンドポイント)をサポートしていません。ただし、VPC外のNeptuneインスタンスにアクセスできるアーキテクチャオプションはほとんどありません。それらのすべてに同じテーマがあります。VPC内に存在するプロキシ(EC2マシン、ALB、または類似のもの、あるいはこれらの組み合わせ)をセットアップし、VPCの外部からそのプロキシにアクセスできるようにします。
純粋に開発目的でインスタンスとやり取りしたいようです。そのための最も簡単なオプションは、ALBを起動し、インスタンスのIPを指すターゲットグループを作成することです。
簡単な手順(これらは意図的に詳細にはしていません。詳細な手順についてはAWSドキュメントを参照してください):
Dig +short <your cluster endpoint>
これにより、現在のマスターのIPアドレスがわかります。
ALBを作成します(その方法についてはAWSドキュメントを参照してください)。
PORT-A
でALBをリッスンする必要があります。ALBはIP:PORT
にリクエストを転送します。ここで、IP
はデータベースIP(ステップ1から)であり、PORT
はデータベースポートです(デフォルトは8182
)。0.0.0.0
に対するPORT-A
のルール。開発者ボックスから、PORT-AでALBエンドポイントに接続できます。これにより、リクエストがNeptuneインスタンスに内部的に転送されます。
ALBドキュメントの作成方法とコンセプトに関する詳細については、ALBドキュメントをチェックアウトしてください。手順を詳しく説明する必要がある場合は、お気軽にお問い合わせください。
注:これは、本番環境のセットアップでは推奨されるソリューションではありません。 Neptuneインスタンスで使用されるIPは、フェイルオーバーやホストの交換により変更される可能性があります。このソリューションは、テスト目的でのみ使用してください。プロダクション用に同様の設定が必要な場合は、遠慮なく質問してください。オプションについて話し合います。
Neptuneでは、ローカルマシンからdbインスタンスに接続することはできません。 Neptuneと同じVPC内のEC2経由でのみNeptuneに接続できます( awsのドキュメント )。
ローカルからNeptuneにアクセスする手順:
すべてのgremlinコマンドがNeptuneグラフで直接実行されるようになりました。
すでに述べたように、VPCの外部から直接アクセスすることはできません。
これは、SSHトンネルの別のソリューションを示しています: connecting-to-aws-Neptune-from-local-environment 。 PuTTYを使用してSSHトンネルを作成することもできます。