View a markdown version of this page

當服務無法連線至 Amazon RDS 或下游服務時 - AWS App Runner

AWS App Runner 不再開放給新客戶。現有客戶可以繼續正常使用該服務。如需詳細資訊,請參閱AWS App Runner 可用性變更

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

當服務無法連線至 Amazon RDS 或下游服務時

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

注意

若要檢視 VPC Connector 組態,請從 App Runner 主控台左側導覽窗格中,選取網路組態。然後選取傳出流量索引標籤。選取 VPC 連接器。下一頁顯示 VPC Connector 的詳細資訊。在此頁面上,您可以檢視並深入了解下列項目:使用 VPC 的子網路安全群組App Runner 服務

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

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

    1. 建立新的私有子網路,並使用它來取代 VPC Connector 的公有子網路。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的 VPC 的子網路

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

  2. 驗證 VPC Connector 的安全群組輸入和輸出規則是否正確。從 App Runner 主控台左側導覽窗格中,選取網路組態 > 傳出流量。從清單中選擇 VPC Connector。下一頁列出您可以選擇檢查的安全群組

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

  4. 若要確認 App Runner 組態之外沒有其他類型的網路設定問題,請嘗試連線至 App Runner 之外的 RDS 或下游服務:

    1. 從相同 VPC 中的 Amazon EC2 執行個體,嘗試連線至 RDS 執行個體或服務。

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

  5. 如果步驟 4 中的任一連線測試失敗,很可能在 App Runner 組態之外存在您 AWS帳戶中另一個資源的問題。如需進一步隔離和修正其他網路組態問題的協助,請聯絡 AWS Support。

  6. 如果您透過執行步驟 4 中的指示成功連接到 RDS 執行個體或下游服務,則繼續此步驟中的指示。我們會啟用並檢查 Hyperplane ENI 流程日誌,以檢查流量是否進入 ENI。

    注意

    若要能夠完成這些步驟並取得所需的 ENI 流程日誌資訊,必須在 App Runner 服務成功啟動後嘗試連線到 RDS 或下游服務。您的應用程式必須在處於執行中狀態時,執行 RDS 或下游服務的連線操作。否則,可以在 App Runner 的復原工作流程中清除 ENIs。此方法可確保 ENIs仍可供進一步調查。

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

    2. 從左側導覽窗格中,在網路與安全群組中,選取網路介面

    3. 捲動至介面類型描述欄,以在與 VPC 連接器相關聯的子網路中尋找 ENIs。它們會有下列命名模式。

      • 介面類型: fargate

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

    4. 使用列開頭的核取方塊來選取適用的 ENIs。

    5. 動作功能表中選取建立流程日誌

    6. 在提示中輸入資訊,然後選取頁面底部的建立流程日誌

    7. 檢查產生的流程日誌。

      • 如果流量在您測試連線時進入 ENI,則問題與 ENI 設定無關。除了 App Runner 服務之外,您 AWS 帳戶中的另一個資源可能會發生網路組態問題。如需 AWS 進一步協助,請聯絡 Support。

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

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

      輸入 App Runner ENI 做為來源,然後輸入 RDS ENI 做為目的地。

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