翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ネットワーク、セキュリティグループ、IAM 認証を設定する
Amazon ECS または Amazon EKS でのコンテナ化されたデプロイでは、Neptune に接続するために正しいネットワーク設定と IAM 認証情報管理が必要です。
セキュリティグループのチェックリスト
Neptune クラスターセキュリティグループは、Amazon EKS ノードまたはポッド CIDR 範囲からのポート 8182 (または Neptune クラスター用に設定されたカスタムポート) でインバウンド TCP を許可する必要があります。
カスタムネットワーキングで Amazon VPC CNI プラグインを使用する場合は、ポッドサブネットに Neptune サブネットへのルートがあることを確認します。
Neptune は、Amazon ECS または Amazon EKS クラスターと同じ Amazon VPC 内にあるか、Amazon VPC ピアリングまたは Transit Gateway を介して接続されている必要があります。
コンテナ内からの接続を確認する
アプリケーションレベルの問題をデバッグする前に、コンテナ内から次のいずれかのコマンドを実行してネットワークパスを確認します。
応答が成功すると、セキュリティグループ、ルーティング、DNS 解決がすべて機能していることが確認されます。タイムアウトは、ネットワークレベルの問題を示します。
IAM 認証情報の更新
Neptune で IAM 認証を使用する場合、ポッドは有効期限が切れる前に認証情報を更新する必要があります。新しいデプロイには Amazon EKS Pod Identity をお勧めします。サービスアカウントの IAM ロール (IRSA) もサポートされ、広く使用されています。
どちらの方法でも、起動時に一度ではなく、認証ジェネレーター関数内で認証情報を取得します。IRSA トークンと Pod Identity トークンは 1 時間後に期限切れになります。初期化時に認証情報をキャッシュすると、トークンの有効期限が切れAccessDeniedException: security token expiredた後、リクエストは で失敗します。
gremlin-go の場合: に渡された
gen関数cfg.Credentials.Retrieve(ctx)内で を呼び出しますNewDynamicAuth。Java の場合: 新しい接続ごとに SigV4 署名
HandshakeInterceptorを更新するNeptuneGremlinClientで を使用します。
クロスアカウントアクセス
Neptune は、直接のクロスアカウント IAM 認証をサポートしていません。Amazon EKS クラスターが Neptune クラスターとは異なる AWS アカウントにある場合、ポッドは認証する前に Neptune アカウントでロールを引き受ける必要があります。
Graph Explorer のイングレス設定
コンテナ化された環境で Graph Explorer/explorer。Amazon EKS で、すべてのパスを許可するようにイングレスコントローラールールを設定します。Amazon ECS で、Application Load Balancer ターゲットグループとリスナールールを設定して、すべてのパスを Graph Explorer コンテナに転送します。Graph Explorer のプロキシは、/summary、、/gremlin/openCypher、および を呼び出します/sparql。パス制限付きルーティングルールは、プロキシをサイレントに切断します。