疑難排解和診斷 - AWS Elastic Beanstalk

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

疑難排解和診斷

本節提供將 IIS 應用程式遷移至 Elastic Beanstalk 期間可能發生的常見問題進行疑難排解的指引。

將 EC2 金鑰對與您的環境建立關聯

您可以使用 Amazon EC2 金鑰對安全地登入為 Elastic Beanstalk 應用程式佈建的 Amazon EC2) 執行個體。如需建立金鑰對的指示,請參閱《Amazon EC2 使用者指南》中的使用 Amazon EC2 建立金鑰對Amazon EC2

將金鑰名稱指定為 eb migrate,會影響將您的 Elastic Beanstalk 環境與金鑰對建立關聯。基於安全考量,這不會在您的 EC2 執行個體安全群組上開啟連接埠 3389。您可以在初始遷移eb config之後,將允許連接埠 3389 流量的其他 EC2 安全群組關聯至 。

PS C:\migrations_workspace> eb migrate ` --keyname "my-keypair" ` --verbose

當您建立金鑰對,Amazon EC2 會存放公開金鑰副本。如果您不再需要使用它連接任何環境執行個體,您可以從 Amazon EC2 將其刪除。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的刪除您的金鑰對

如需連線至 Windows Amazon EC2 執行個體的詳細資訊,請參閱連線至 Windows 執行個體

存取日誌

EB CLI 提供的eb logs設施可讓您從 Elastic Beanstalk 環境擷取日誌,而無需登入其 EC2 執行個體。執行 之後eb migrate,您可以發出 eb logs --zip命令,將日誌下載並儲存至 .elasticbeanstalk\logs目錄。

或者,您可以透過 AWS Elastic Beanstalk 主控台檢視日誌。如需詳細資訊,請參閱在 Elastic Beanstalk 環境中檢視 Amazon EC2 執行個體的日誌

存取用戶端成品

eb migrate 命令會存放msdeploy內部遷移成品目錄所產生的應用程式和錯誤日誌。

./migrations/ ├── latest -> migration_20240308_123456/ └── migration_20240308_123456/ ├── application.log ├── error.log └── upload_target\

監控環境運作狀態

Elastic Beanstalk 可協助您使用增強型運作狀態監控功能來監控運作狀態。它是一種自動化運作狀態監控系統,可利用內建指標,例如 CPU 使用率、延遲、請求計數和回應代碼,持續追蹤應用程式執行個體的運作狀態。

運作狀態監控系統利用以代理程式為基礎的方法來收集執行個體層級資料,並與即時記錄和提醒整合。Elastic Load Balancing (ELB) 和 Auto Scaling 會動態回應運作狀態變更,以確保高可用性和容錯能力。進階監控模式,包括增強型運作狀態報告,提供應用程式行為的精細可見性,啟用主動故障診斷和自動復原機制。

執行 EB CLI eb health命令以顯示環境的運作狀態。隨即會顯示以下資訊:

  • 執行個體運作狀態

  • 應用程式回應指標

  • 系統資源使用率

  • 最近的部署事件

EC2 效能最佳化

根據預設, 會eb migrate選取 c5.2xlarge 執行個體類型,以提供 Elastic Beanstalk 的最佳第一次體驗。您可以使用 --instance-type引數覆寫此行為:

PS C:\migrations_workspace> eb migrate ` --instance-type "t3.large"

對於生產環境,請在選取執行個體類型時考慮下列因素:

  • 應用程式的記憶體需求

  • 處理工作負載的 CPU 需求

  • 網路效能需求

  • 成本最佳化目標

EBS 磁碟區組態

根據預設,Elastic Beanstalk 只會為您的環境建立根區塊裝置磁碟區 (C:\)。您可以使用 --ebs-snapshots選項傳遞其他 Amazon Elastic Block Store 快照磁碟區:

PS C:\migrations_workspace> eb migrate ` --ebs-snapshots "snap-123456789abc"

如需如何使用 Elastic Beanstalk 設定區塊型設備映射的範例,請參閱部落格文章自訂 Elastic Beanstalk 環境中的暫時性和 EBS 磁碟區

對於具有高儲存需求的應用程式,請考慮下列選項:

  • 針對持久性資料使用 EBS 磁碟區

  • 針對靜態內容實作 Amazon S3

  • 針對共用檔案系統使用 Amazon FSx for Windows File Server

常見問題與解決方案

事件:缺少 Web 部署安裝

如果找不到與 Web Deploy 相關的錯誤,請從 Microsoft Web Platform Installer 安裝 Web Deploy 3.6 或更新版本。下列範例顯示可能的錯誤訊息。

Couldn't find msdeploy.exe. Follow instructions here: https://learn.microsoft.com/en-us/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy

事件:遷移期間的許可問題

如果您遇到與許可相關的錯誤,請確定您使用管理權限執行 EB CLI。下列範例顯示可能的錯誤訊息。

[ERROR] Access to the path 'C:\inetpub\wwwroot\web.config' is denied.

事件:應用程式集區身分問題

如果您的應用程式因為應用程式集區身分問題而無法啟動,請建立自訂指令碼來設定應用程式集區身分,如 所示自訂應用程式集區設定

事件:SSL 憑證組態錯誤

如果 HTTPS 繫結無法運作,請確定您已使用eb mibrate選項--ssl-certificates參數指定有效的 ACM 憑證 ARN。

事件:環境建立逾時

如果環境建立逾時,請在 AWS 管理主控台中檢查 AWS CloudFormation 事件是否有特定資源建立失敗。常見原因包括 VPC 組態問題或服務限制。

取得支援

如果您遇到無法解決的問題,請在聯絡 之前 AWS 支援 收集以下資訊:

  • 環境 ID (eb status)

  • 應用程式日誌 (eb logs --zip)

  • 從 遷移成品 .\migrations\latest\

  • 來源 IIS 組態 (輸出 eb migrate explore --verbose)

  • 詳細的錯誤訊息

如需 Elastic Beanstalk 故障診斷的詳細資訊,請參閱 對 Elastic Beanstalk 環境進行故障診斷