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