

AWS App Runner 不再開放給新客戶。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[AWS App Runner 可用性變更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)。

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

# 當服務無法連線至 Amazon RDS 或下游服務時
<a name="troubleshooting.vpc-outbound-connect-failure"></a>

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

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

**縮小應用程式無法連線至另一個下游服務的原因**

1. 確定 VPC 連接器中使用的子網路是私有子網路。如果使用公有子網路設定連接器，您的服務將會發生錯誤，因為每個子網路的基礎 Hyperplane ENIs（彈性網路介面） 沒有公有 IP 空間。

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

   1. 建立新的私有子網路，並使用它來取代 VPC Connector 的公有子網路。如需詳細資訊，請參閱《Amazon [VPC 使用者指南》中的 VPC 的子網路](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)。

   1. 透過 NAT 閘道路由現有的公有子網路。如需詳細資訊，請參閱《Amazon VPC 使用者指南[》中的 NAT 閘道](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)。

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

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

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

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

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

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

1. 如果您透過執行*步驟 4* 中的指示成功連接到 RDS 執行個體或下游服務，則繼續此步驟中的指示。我們會啟用並檢查 Hyperplane ENI 流程日誌，以檢查流量是否進入 ENI。
**注意**  
若要能夠完成這些步驟並取得所需的 ENI 流程日誌資訊，必須在 App Runner 服務成功啟動後嘗試連線到 RDS 或下游服務。您的應用程式必須在處於執行中狀態時，執行 RDS 或下游服務的連線操作。否則，可以在 App Runner 的復原工作流程中清除 ENIs。此方法可確保 ENIs仍可供進一步調查。

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

   1.  從左側導覽窗格中，在**網路與安全**群組中，選取**網路介面**。

   1. 捲動至**介面類型**和**描述**欄，以在與 VPC 連接器相關聯的子網路中尋找 ENIs。它們會有下列命名模式。
      + **介面類型：** *fargate*
      + **描述：**開頭為 *AWSAppRunner ENI*（範例：*AWSAppRunner ENI - abcde123-abcd-1234-1234-abcde1233456*)

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

   1. 從**動作**功能表中選取**建立流程日誌**。

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

   1. 檢查產生的流程日誌。
      + 如果流量在您測試連線時進入 ENI，則問題與 ENI 設定無關。除了 App Runner 服務之外，您 AWS 帳戶中的另一個資源可能會發生網路組態問題。如需 AWS 進一步協助，請聯絡 Support。
      + 如果您在測試連線時流量未進入 ENI，建議您聯絡 AWS Support，以查看 Fargate 服務是否有任何已知問題。

   1. 使用網路 *Reachability Analyzer* 工具。當虛擬網路路徑中的來源無法連線時，此工具可透過識別封鎖元件，協助判斷網路組態錯誤。如需詳細資訊，請參閱[什麼是 Reachability Analyzer？](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html) *Amazon VPC Reachability Analyzer 指南*中的 。

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

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