View a markdown version of this page

最佳實務和疑難排解 - AWS 轉換

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

最佳實務和疑難排解

在現代化過程中的最佳實務、常見問題及其解決方案。

ECS 應用程式日誌

CloudWatch 日誌

  • 所有 ECS 容器日誌都會自動傳送至 CloudWatch Logs

  • 在 CloudWatch 主控台的日誌群組下存取日誌

  • 日誌群組命名格式:/aws/ecs/{application-name}

  • 每個容器執行個體都會在群組中建立新的日誌串流

檢視日誌

透過 AWS 主控台:

  • 導覽至 CloudWatch > 日誌群組

  • 選取應用程式的日誌群組

  • 選擇相關的日誌串流以檢視容器日誌

使用 AWS CLI:

aws logs get-log-events --log-group-name /aws/ecs/your-app-name --log-stream-name your-stream-name

常見日誌位置

  • 應用程式日誌:CloudWatch Logs

  • ECS 服務事件:ECS 主控台 > 叢集 > 服務 > 事件索引標籤

  • 容器運作狀態/狀態:ECS 主控台 > 叢集 > 服務 > 任務索引標籤

資料庫連線管理

應用程式使用環境變數進行資料庫連線設定

如果您遇到連線問題:

  • 驗證您環境變數中的目前連線設定

  • 更新環境變數以視需要修改資料庫連線字串

  • 連線字串變更可以透過環境變數更新進行,無需重新部署應用程式

資料庫連線問題

問題:無法將 AWS 轉換連線至 SQL Server

解決方案:

  • 驗證 AWS Transform 與 SQL Server 之間的網路連線

  • 檢查安全群組規則是否有適當的連接埠存取 (1433)

  • 在 Secrets Manager 中確認資料庫登入資料

  • 使用建立的使用者測試資料庫許可

  • 確保 SQL Server 已設定為混合模式身分驗證

  • 確認秘密具有必要的標籤 (專案:atx-db-modernization、擁有者:資料庫連接器)

防火牆和安全群組問題

問題:連線逾時或「無法連線資料庫」錯誤

根本原因:封鎖流量的安全群組或網路 ACLs

解決方案:

  1. 驗證安全群組組態:

    • 確認您的 SQL Server 安全群組具有傳入規則,允許來自 DMS 結構描述轉換安全群組的連接埠 1433

    • 檢查來源是否為安全群組 ID (例如 sg-0123456789abcdef0),而非 IP 地址

    • 確認執行個體設定檔中已正確指定 DMS 結構描述轉換安全群組

    • 確保沒有衝突的拒絕規則

  2. 檢查網路 ACLs:

    • 驗證子網路層級網路 ACLs連接埠 1433 上的傳入流量

    • 確保網路 ACLs 允許傳回流量的傳出暫時性連接埠

    • 檢查資料庫子網路和 DMS 子網路網路 ACLs

  3. 驗證 VPC 組態:

    • 確認 DMS 結構描述轉換執行個體和 SQL Server 位於相同的 VPC 中或具有適當的 VPC 對等互連

    • 檢查路由表允許子網路之間的流量

    • 確認沒有防火牆設備封鎖流量

  4. 測試連線:

    • 在與 DMS 結構描述轉換相同的子網路中啟動測試 EC2 執行個體

    • 連接與 DMS 結構描述轉換相同的安全群組

    • 使用 telnet 或 SQL Server Management Studio 測試 SQL Server 的連線

    • 如果測試成功,問題是 AWS 轉換組態;如果失敗,問題是網路/防火牆

常見錯誤:開啟連接埠 1433 至 0.0.0.0/0 (所有來源) 是安全風險。一律使用安全群組型存取控制,將存取權限制為僅限 DMS 結構描述轉換安全群組。

結構描述轉換問題

問題:結構描述轉換顯示許多動作項目

解決方案:

  • 檢閱轉換報告中的動作項目

  • 根據影響排定優先順序

  • 使用 Amazon Q Developer 進行複雜的 SQL 轉換

  • 如需指引,請參閱 AWS 支援

  • 考慮複雜資料庫的分階段方法

應用程式轉換問題

問題:應用程式轉換無法建置

解決方案:

  • 檢閱轉換報告中的建置錯誤

  • 視需要設定私有 NuGet 饋送

  • 視需要更新套件參考

  • 檢查 Windows 特定的相依性

  • 檢閱轉換日誌以取得詳細錯誤

資料遷移問題

問題:資料遷移驗證失敗

解決方案:

  • 檢閱特定失敗的驗證報告

  • 檢查資料類型映射

  • 驗證身分資料欄組態 (由預設產生與一律產生)

  • 檢閱運算的資料欄表達式

  • 請聯絡 AWS Support 了解複雜的資料問題

資源清除問題

問題:轉換任務失敗,發生資源錯誤

解決方案:

  • 檢查現有的 DMS 資源 (遷移專案、資料提供者、執行個體描述檔)

  • 清除先前嘗試失敗或不完整的資源

  • 確認未排定刪除秘密

  • 檢查 DMS 和 Aurora PostgreSQL 的服務配額

  • 如果清除無法解決問題,請聯絡 AWS Support

部署問題

問題:轉換的應用程式無法連線至 Aurora PostgreSQL

解決方案:

  • 驗證 PostgreSQL 的連線字串格式

  • 檢查安全群組規則

  • 驗證 Secrets Manager 中的資料庫登入資料

  • 確保 SSL/TLS 已正確設定

  • 使用 psql 或 pgAdmin 測試連線

取得其他協助

聯絡 AWS Support 時,請提供:

  • 轉換任務 ID

  • AWS 帳戶 ID

  • 區域

  • 錯誤訊息和螢幕擷取畫面

  • 轉換日誌 (可在 AWS 轉換主控台中使用)