本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定聯網、安全群組和 IAM 身分驗證
Amazon ECS 或 Amazon EKS 上的容器化部署需要正確的網路組態和 IAM 憑證管理,才能連線至 Neptune。
安全群組檢查清單
Neptune 叢集安全群組必須允許來自 Amazon EKS 節點或 Pod CIDR 範圍的連接埠 8182 (或為您的 Neptune 叢集設定的自訂連接埠) 上的傳入 TCP。
如果您搭配自訂聯網使用 Amazon VPC CNI 外掛程式,請確認 Pod 子網路具有 Neptune 子網路的路由。
Neptune 必須與 Amazon ECS 或 Amazon EKS 叢集位於相同的 Amazon VPC 中,或透過 Amazon VPC 對等互連或 Transit Gateway 連接。
驗證容器內部的連線
偵錯應用程式層級問題之前,請從容器內部執行下列其中一個命令來確認網路路徑:
成功的回應會確認安全群組、路由和 DNS 解析都正常運作。逾時表示網路層級問題。
IAM 登入資料重新整理
如果您搭配 Neptune 使用 IAM 身分驗證,您的 Pod 必須在憑證過期之前重新整理憑證。我們建議將 Amazon EKS Pod Identity 用於新部署。也支援並廣泛使用服務帳戶的 IAM 角色 (IRSA)。
使用任一方法,在身分驗證產生器函數中擷取登入資料,而不是在啟動時擷取一次。IRSA 和 Pod Identity 權杖會在 1 小時後過期。如果您在初始化時快取登入資料,請求會在字符過期AccessDeniedException: security token expired後失敗。
對於 gremlin-go:在傳遞給 的
gen函數cfg.Credentials.Retrieve(ctx)內呼叫NewDynamicAuth。對於 Java:
NeptuneGremlinClient搭配HandshakeInterceptor重新整理每個新連線上 SigV4 簽署的 使用 。
跨帳戶存取
Neptune 不支援直接跨帳戶 IAM 身分驗證。如果您的 Amazon EKS 叢集位於與 Neptune 叢集不同的 AWS 帳戶中,則 Pod 必須先在 Neptune 帳戶中擔任角色,才能進行驗證。
Graph Explorer 的輸入組態
如果您在容器化環境中執行 Graph Explorer/explorer。在 Amazon EKS 上,設定您的輸入控制器規則以允許所有路徑。在 Amazon ECS 上,設定 Application Load Balancer 目標群組和接聽程式規則,將所有路徑轉送至 Graph Explorer 容器。Graph Explorer 的代理會呼叫 /summary、/openCypher、 /gremlin和 /sparql。路徑限制路由規則會無提示地中斷代理。