本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
當服務無法連接到 Amazon RDS 或下游服務
如果您的服務無法連線至 Amazon RDS 資料庫或其他下游應用程式或服務,可能會出現網路組態問題。本主題會引導您完成一些步驟,以判斷您的網路組態是否有任何問題,以及更正這些問題的選項。若要深入瞭解 App Runner 的輸出流量設定,請參閱為傳出流量啟用 VPC 存取 。
注意
若要檢視您的 VPC 連接器設定,請從 App Runner 主控台左側導覽窗格中,選取 [網路設定]。然後選取 [外寄流量] 索引標籤。選取 VPC 連接器。下一頁顯示有關 VPC 連接器的詳細資料。您可以在此頁面檢視並向下展開下列項目:使用 VPC 的子網路、安全性群組和 App Runner 服務。
縮小應用程式無法連線至其他下游服務的原因
-
確定 VPC 連接器中使用的子網路是私有子網路。如果連接器設定了公用子網路,您的服務將會遇到錯誤,因為每個子網路的基礎超平面 ENI (彈性網路介面) 沒有公用 IP 空間。
如果您的 VPC 連接器使用公用子網路,您可以使用下列選項來更正此組態:
-
建立新的私有子網路,並使用它來取代 VPC 連接器的公有子網路。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的虛擬私人雲端適用的子網路。
-
透過 NAT 閘道路由現有的公用子網路。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的 NAT 閘道。
-
-
確認 VPC 連接器的安全群組輸入和輸出規則正確無誤。在 App Runner 主控台左側導覽窗格中,選取 [網路設定] > [外寄流量]。從清單中選取 VPC 連接器。下一頁會列出您可以選取要檢查的安全性群組。
-
對於您嘗試連線的 RDS 執行個體或其他下游服務,確認安全群組輸入和輸出規則是否正確。如需詳細資訊,請參閱 App Runner 應用程式嘗試連線之下游服務的服務指南。
-
要確認應用程序運行器配置之外沒有其他類型的網絡設置問題,請嘗試連接到 RDS 或 App Runner 之外的下游服務:
-
從相同虛擬私人雲端中的 Amazon EC2 執行個體,嘗試連接至 RDS 執行個體或服務。
-
如果您嘗試連線到服務 VPC 端點,請透過從相同 VPC 中的 EC2 執行個體存取相同的端點來驗證連線。
-
-
如果步驟 4 中的任一連接測試失敗,則在您的 AWS帳戶中使用其他資源的 App Runner 配置之外很可能存在問題。請聯絡 Sup AWS port 部門以取得協助,以便進一步隔離並修正其他網路組態的問題。
-
如果您按照步驟 4 中的指示成功連線至 RDS 執行個體或下游服務,請繼續執行此步驟中的指示。我們將透過啟用和檢查超平面 ENI 流量記錄來檢查流量是否正在進入 ENI。
注意
若要能夠完成這些步驟並取得必要的 ENI 流程記錄資訊,在 App Runner 服務成功啟動之後,必須進行 RDS 或下游服務的連線嘗試。當應用程式處於「執行中」狀態時,必須執行 RDS 或下游服務的連線作業。否則,ENI 可以作為應用程序執行器的回滾工作流程的一部分進行清理。這種方法可確保 ENI 仍然可用於進一步調查。
-
從主 AWS 控台啟動 EC2 主控台。
-
從左側導覽窗格的「網路與安全性」群組中,選取「網路介面」。
-
捲動至「介面類型」和「描述」欄,以在與 VPC 連接器相關聯的子網路中找到 ENI。他們將具有以下命名模式。
-
接口類型:遠門
-
描述:開頭為 AWSAppRunner ENI(範例:AWSAppRunner ENI - abcde123-abcd-1234-1234-abcde1233456)
-
-
使用列開頭的核取方塊來選取套用的 ENI。
-
從「動作」功能表選取「建立流程記錄」。
-
在提示中輸入資訊,然後選取頁面底部的「建立流程跳線」。
-
檢查產生的流程記錄。
-
如果您在測試連線時流量正在進入 ENI,則問題與 ENI 設定無關。除了 App Runner 服務之外,您的 AWS 帳戶中的其他資源可能存在網路設定問題。聯絡 S AWS upport 以取得進一步協助。
-
如果您在測試連線時流量未進入 ENI,我們建議您聯絡 Sup AWS port 部門,以查看 Fargate 服務是否有任何已知問題。
-
-
使用網路 Reachability Analyzer 工具。此工具可在虛擬網路路徑中的來源無法連線時識別封鎖元件,以協助判斷網路錯誤設定。如需詳細資訊,請參閱什麼是 Reachability Analyzer? 在 Amazon VPC Reachability Analyzer 指南中。
輸入應用程式執行者 ENI 作為來源,並輸入 RDS ENI 作為目的地。
-
-
如果您無法進一步縮小問題範圍,或者在完成前述步驟之後仍然無法連線至 RDS 或下游服務,我們建議您聯絡 Sup AWS port 以取得進一步協助。