將 ASP.NET Web 應用程式遷移至 AWS Elastic Beanstalk
使用互動式 Windows Web 應用程式遷移助手 (WWAMA)
概觀
本實驗室目的是使用 Windows Web 應用程式遷移助手 (WWAMA) 將範例 ASP.NET Web 應用程式遷移至全受管 AWS Elastic Beanstalk 環境。這裡提供有關 Windows Web 應用程式遷移助手的其他資訊。
預期成果
您將範例 ASP.NET Web 應用程式遷移至全受管 AWS Elastic Beanstalk 環境。
先決條件
關於本教學 | |
---|---|
時間 | 15 分鐘 |
費用 | 符合免費方案資格 |
使用案例 | Windows 應用程式遷移 |
產品 | AWS Elastic Beanstalk |
對象 | 開發人員 |
等級 | 初階 |
上次更新日期 | 2020 年 3 月 30 日 |
2.設定和配置
使用 CloudFormation 啟動將託管範例網站的 EC2 執行個體。然後,設定所需的 IAM 許可。
a.通過 CloudFormation 啟動 EC2 執行個體
選取現有的金鑰對,或者若沒有金鑰對,則建立金鑰對。然後按一下下一步。

在設定堆疊選項螢幕上,按一下下一步。在檢閱螢幕的底部,按一下建立堆疊。

建立堆疊後,您會看到其狀態變更為 'CREATE_COMPLETE'。

b.建立 IAM 使用者

按一下直接連接現有政策,然後在搜尋欄中輸入 Beanstalk 以篩選政策。
按一下以下 AWS 受管政策的核取方塊,然後按一下下一步︰標籤。
- IAMReadOnlyAccess
- AWSElasticBeanstalkFullAccess

按一下下一步:檢閱,然後按一下建立使用者。

建立使用者後,在畫面出現時按一下 下載 CSV。

3.登入 EC2 主控台並設定為執行 WWAMA 工具
a.導覽至 EC2 主控台並登入
登入 EC2 主控台後,選取 WWAMA 執行個體,然後按一下連線。

按一下下載遠端桌面檔案並儲存 RDP 檔案。 然後按一下獲取密碼,並上傳金鑰對檔案以獲取您的 Widows Server 密碼。您將以純文字形式看到密碼 - 複製密碼,因為在下一步需要使用。

b.在 EC2 Windows Server 上開啟 PowerShell 終端機
以管理員身份開啟 PowerShell 終端機,然後執行右下範例中提供的命令,以設定 AWS 登入資料。將 ACCESS_KEY 和 SECRET_ACCESS_KEY 替換為在建立 MigrationUser 時下載的 .CSV 中的值。

PS C:\> Import-Module AWSPowerShell
PS C:\> Set-AWSCredential -AccessKey ACCESS_KEY -SecretKey SECRET_ACCESS_KEY -StoreAs default
c.擷取遷移助手檔案
遷移助手已透過 CloudFormation 範本預先下載至 C:\ drive。該檔案為 wwama.zip
在 wwama.zip 按一下滑鼠右鍵並解壓縮助手。

d.檢視範例網站後再遷移
在 EC2 Windows Server 執行個體上開啟 Web 瀏覽器,然後導覽至 http://localhost/。您會看到遷移助手將遷移的範例網站。

4.執行遷移助手
a.啟動 MigrateIISWebsiteToElasticBeanstalk.ps1 指令碼
在您之前開啟的 PowerShell 終端機中,啟動遷移指令碼。
助手會提示您輸入登入資料檔案的位置。按 ENTER 以跳過。
在提示您輸入 AWS 描述檔名稱時,輸入預設值。
PS C:\> .\MigrateIISWebsiteToElasticBeanstalk.ps1
b.選取 AWS 區域
輸入您想要執行 Elastic Beanstalk 環境的 AWS 區域。例如:us-east-1。如需有關提供 Elastic Beanstalk 的 AWS 區域清單,請參閱 AWS 一般參考中的 AWS Elastic Beanstalk 端點和配額。
Enter the AWS Region (default us-east-1):
c.選取要遷移的 Web 應用程式
然後,該助手會發現您的 IIS 伺服器上執行的所有網站並將其列出,如以下範例所示。

輸入數字 2 以遷移範例站點。
Enter the number of the website to migrate: (default 1):
d.更新連接字串
然後,助手會提示您更新上面選擇的所有連接字串,並按 ENTER 鍵,因為此應用程式中沒有任何連接字串。
此訊息即會出現:
「遷移助手找不到任何連接字串。」
Enter the number of the connection string you would like to update, or press ENTER:
e.設定您的 Elastic Beanstalk 應用程式
接著為您的新 Elastic Beanstalk 應用程式命名。
在提示您選擇 Windows Server 版本時,輸入 ‘6’,然後按 Enter。
Enter a unique name for your new Elastic Beanstalk application:

輸入您的應用程式將於其上執行的執行個體類型。輸入 t2.micro。如需完整清單,請參閱 Amazon EC2 執行個體類型。
Enter the instance type (default t3.medium) : t2.micro
然後,遷移助手會將您的應用程式遷移至 Elastic Beanstalk。

遷移完成後,您將在 CLI 中看到成功訊息。

5.導覽至在 Elastic Beanstalk 上託管的 Web 應用程式
現在,網站已成功遷移,請確認網站已啟動並在執行。
a.在 Web 瀏覽器中存取
您可以從 PowerShell 指令碼輸出中獲取 URL。
將 URL 輸入至 Web 瀏覽器中,您應當會看到 Web 應用程式,該應用程式現正在 Elastic Beanstalk 上執行。


b.在 Elastic Beanstalk 主控台中存取
您還可以從 AWS 主控台檢視 Elastic Beanstalk 環境。確認在與部署應用程式相同的區域中看到主控台。您可以使用左側的功能表,隨時探索可對應用程式執行的操作。

6.清理您的資源
在最後一步,您將清理並刪除所有資源。
a.刪除 Elastic Beanstalk 應用程式
移至 Elastic Beanstalk 主控台,然後按一下右側的操作功能表。然後,選取終止環境。

b.刪除 CloudFormation 堆疊
移至 CloudFormation 主控台,並刪除在實驗室開始時建立的 CloudFormation 堆疊 WWAMAStack。
恭喜
您已使用 Windows Web 應用程式遷移助手 (WWAMA) 將 ASP.NET Web 應用程式成功遷移至全受管 Elastic Beanstalk 環境。
AWS Elastic Beanstalk 是一項易用的服務,用於在熟悉的伺服器 (例如 Apache、Nginx、Passenger 和 IIS) 上部署和擴展以 Java、.NET、PHP、Node.js、Python、Ruby、Go 和 Docker 開發的 Web 應用程式和服務。
您只需上傳程式碼,Elastic Beanstalk 即可為您自動處理部署,包括容量佈建、負載平衡、自動調整規模,以及應用程式運作狀態監控。同時,您能夠完全控制為應用程式提供支援的 AWS 資源,並可隨時存取基礎資源。
瀏覽 AWS Elastic Beanstalk 以進一步了解。