當服務無法連接到 Amazon RDS 或下游服務 - AWS App Runner

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

當服務無法連接到 Amazon RDS 或下游服務

如果您的服務無法連線至 Amazon RDS 資料庫或其他下游應用程式或服務,可能會出現網路組態問題。本主題會引導您完成一些步驟,以判斷您的網路組態是否有任何問題,以及更正這些問題的選項。若要深入瞭解 App Runner 的輸出流量設定,請參閱為傳出流量啟用 VPC 存取

注意

若要檢視您的 VPC 連接器設定,請從 App Runner 主控台左側導覽窗格中,選取 [網路設定]。然後選取 [外寄流量] 索引標籤。選取 VPC 連接器。下一頁顯示有關 VPC 連接器的詳細資料。您可以在此頁面檢視並向下展開下列項目:使用 VPC 的子網路安全性群組App Runner 服務

縮小應用程式無法連線至其他下游服務的原因
  1. 確定 VPC 連接器中使用的子網路是私有子網路。如果連接器設定了公用子網路,您的服務將會遇到錯誤,因為每個子網路的基礎超平面 ENI (彈性網路介面) 沒有公用 IP 空間。

    如果您的 VPC 連接器使用公用子網路,您可以使用下列選項來更正此組態:

    1. 建立新的私有子網路,並使用它來取代 VPC 連接器的公有子網路。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的虛擬私人雲端適用的子網路。

    2. 透過 NAT 閘道路由現有的公用子網路。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的 NAT 閘道

  2. 確認 VPC 連接器的安全群組輸入和輸出規則正確無誤。在 App Runner 主控台左側導覽窗格中,選取 [網路設定] > [外寄流量]。從清單中選取 VPC 連接器。下一頁會列出您可以選取要檢查的安全性群組

  3. 對於您嘗試連線的 RDS 執行個體或其他下游服務,確認安全群組輸入和輸出規則是否正確。如需詳細資訊,請參閱 App Runner 應用程式嘗試連線之下游服務的服務指南。

  4. 要確認應用程序運行器配置之外沒有其他類型的網絡設置問題,請嘗試連接到 RDS 或 App Runner 之外的下游服務:

    1. 從相同虛擬私人雲端中的 Amazon EC2 執行個體,嘗試連接至 RDS 執行個體或服務。

    2. 如果您嘗試連線到服務 VPC 端點,請透過從相同 VPC 中的 EC2 執行個體存取相同的端點來驗證連線。

  5. 如果步驟 4 中的任一連接測試失敗,則在您的 AWS帳戶中使用其他資源的 App Runner 配置之外很可能存在問題。請聯絡 Sup AWS port 部門以取得協助,以便進一步隔離並修正其他網路組態的問題。

  6. 如果您按照步驟 4 中的指示成功連線至 RDS 執行個體或下游服務,請繼續執行此步驟中的指示。我們將透過啟用和檢查超平面 ENI 流量記錄來檢查流量是否正在進入 ENI。

    注意

    若要能夠完成這些步驟並取得必要的 ENI 流程記錄資訊,在 App Runner 服務成功啟動之後,必須進行 RDS 或下游服務的連線嘗試。當應用程式處於「執行中」狀態時,必須執行 RDS 或下游服務的連線作業。否則,ENI 可以作為應用程序執行器的回滾工作流程的一部分進行清理。這種方法可確保 ENI 仍然可用於進一步調查。

    1. 從主 AWS 控台啟動 EC2 主控台。

    2. 從左側導覽窗格的「網路與安全性」群組中,選取「網路介面」。

    3. 捲動至「介面類型」和「描述」欄,以在與 VPC 連接器相關聯的子網路中找到 ENI。他們將具有以下命名模式。

      • 接口類型:

      • 描述:開頭為 AWSAppRunner ENI(範例:AWSAppRunner ENI - abcde123-abcd-1234-1234-abcde1233456)

    4. 使用列開頭的核取方塊來選取套用的 ENI。

    5. 從「動作」功能表選取「建立流程記錄」。

    6. 在提示中輸入資訊,然後選取頁面底部的「建立流程跳線」。

    7. 檢查產生的流程記錄。

      • 如果您在測試連線時流量正在進入 ENI,則問題與 ENI 設定無關。除了 App Runner 服務之外,您的 AWS 帳戶中的其他資源可能存在網路設定問題。聯絡 S AWS upport 以取得進一步協助。

      • 如果您在測試連線時流量未進入 ENI,我們建議您聯絡 Sup AWS port 部門,以查看 Fargate 服務是否有任何已知問題。

    8. 使用網路 Reachability Analyzer 工具。此工具可在虛擬網路路徑中的來源無法連線時識別封鎖元件,以協助判斷網路錯誤設定。如需詳細資訊,請參閱什麼是 Reachability Analyzer? 在 Amazon VPC Reachability Analyzer 指南中。

      輸入應用程式執行者 ENI 作為來源,並輸入 RDS ENI 作為目的地。

  7. 如果您無法進一步縮小問題範圍,或者在完成前述步驟之後仍然無法連線至 RDS 或下游服務,我們建議您聯絡 Sup AWS port 以取得進一步協助。