將 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 環境。

先決條件

您將需要 AWS 帳戶和 IAM 許可來建立 EC2 執行個體、金鑰對、安全群組、IAM 使用者和 Elastic Beanstalk 環境。本教學將部署一個 AWS CloudFormation 範本,可在 EC2 執行個體上自動佈建範例網站,該執行個體將是遷移的來源 Web 應用程式。 

關於本教學
時間 15 分鐘                                           
費用 符合免費方案資格
使用案例 Windows 應用程式遷移
產品 AWS Elastic Beanstalk
對象 開發人員
等級 初階
上次更新日期 2020 年 3 月 30 日

1.註冊 AWS

本教學中使用的 CloudFormation 範本將啟動 t2.micro EC2 執行個體。t2.micro 執行個體類型是免費方案的一部份。若選擇其他執行個體類型,則會產生 EC2 成本。您可以在 EC2 定價頁面上估算 EC2 成本。

 

已經有帳戶了嗎? 登入

2.設定和配置

使用 CloudFormation 啟動將託管範例網站的 EC2 執行個體。然後,設定所需的 IAM 許可。

a.通過 CloudFormation 啟動 EC2 執行個體

使用 CloudFormation 在 US-East-1 中啟動 EC2 執行個體。

啟動 CloudFormation 堆疊 >>

然後按一下下一步

WWAMA - CFN

選取現有的金鑰對,或者若沒有金鑰對,則建立金鑰對。然後按一下下一步

WWAMA - 2

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

 

WWAMA - 3

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

 

WWAMA - 5

b.建立 IAM 使用者

登入 IAM 主控台 >>

在左側導航功能表中,按一下使用者,然後按一下新增使用者

輸入使用者名稱 MigrationUser,選中程式設計存取權方塊,然後按一下下一步︰許可

WWAMA - 6

按一下直接連接現有政策,然後在搜尋欄中輸入 Beanstalk 以篩選政策。

按一下以下 AWS 受管政策的核取方塊,然後按一下下一步︰標籤

  • IAMReadOnlyAccess
  • AWSElasticBeanstalkFullAccess

 

WWAMA - 8

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


 

 

WWAMA - 9

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

 

 

WWAMA - 10

3.登入 EC2 主控台並設定為執行 WWAMA 工具

a.導覽至 EC2 主控台並登入

在此處登入 EC2 >>

登入 EC2 主控台後,選取 WWAMA 執行個體,然後按一下連線

WWAMA - launch-instance

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

 

 

WWAMA - RDP_LI

使用之前儲存的 RDP 檔案登入 EC2 執行個體,並提供密碼。

 

 

b.在 EC2 Windows Server 上開啟 PowerShell 終端機

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

 

WWAMA - 13
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 按一下滑鼠右鍵並解壓縮助手。

WWAMA - 14

d.檢視範例網站後再遷移

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

WWAMA - localhost_LI

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 伺服器上執行的所有網站並將其列出,如以下範例所示。

 

 

WWAMA - 16

輸入數字 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:
WWAMA - 17

輸入您的應用程式將於其上執行的執行個體類型。輸入 t2.micro。如需完整清單,請參閱 Amazon EC2 執行個體類型

Enter the instance type (default t3.medium) : t2.micro

然後,遷移助手會將您的應用程式遷移至 Elastic Beanstalk。

 

WWAMA - 18

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

 

WWAMA - 19

5.導覽至在 Elastic Beanstalk 上託管的 Web 應用程式

現在,網站已成功遷移,請確認網站已啟動並在執行。

a.在 Web 瀏覽器中存取

您可以從 PowerShell 指令碼輸出中獲取 URL。

將 URL 輸入至 Web 瀏覽器中,您應當會看到 Web 應用程式,該應用程式現正在 Elastic Beanstalk 上執行。

 

WWAMA - 20
WWAMA - 21

b.在 Elastic Beanstalk 主控台中存取

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

 

WWAMA - 22

6.清理您的資源

在最後一步,您將清理並刪除所有資源。

a.刪除 Elastic Beanstalk 應用程式

移至 Elastic Beanstalk 主控台,然後按一下右側的操作功能表。然後,選取終止環境

 

 

WWAMA - 22

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 以進一步了解。

本教學對您有幫助嗎?

感謝您
請告訴我們您喜歡的部分。
抱歉,讓您失望
是有內容過時、令人困擾,或不準確嗎? 請提供意見回饋,協助我們改進此教學課程。