AWS 上的專案
軟體機器人更上層樓
利用 .NET 和 AWS Toolkit for Visual Studio 實現
單元 5:部署和清除
在本單元中,您將使用 AWS CodeBuild 和 AWS CodeDeploy 將 Chatbot 部署至 EC2,然後清除資源,以免產生費用。
概觀
請遵循下方的逐步指示來部署 Chatbot 應用程式並在之後清除資源。按一下每個步驟號碼可展開相應部分內容。
完成時間
30 分鐘
使用的服務
CodeDeploy、CodeBuild、EC2、AWS CodeStar
實作說明
-
步驟 1:部署
-
選項 1:部署至 Linux 伺服器
a.從 AWS 主控台中,按一下「服務」,然後選取開發人員工具下的 CodeStar。
b.按一下「建立新的專案」,然後選擇「ASP.NET Core Web 應用程式」範本。
c.提供「專案名稱」,選擇 CodeCommit 作為您的資料儲存器,然後按一下「下一步」。
d.確保核取「AWS CodeStar 想要代表您管理 AWS 資源的權限」,然後按一下「建立專案」。
e.選取一個金鑰對,並確保「我確認我有權存取該金鑰對的私密金鑰檔案 (mytestkeypair.pem),並且如果沒有此檔案,我將無法登入我的執行個體。」 已核取。
f.現在,您可以選擇編輯專案程式碼的方式。您素食可以變更此選擇,但現在請按一下「命令列工具」,並按照所選作業系統的設定指示進行操作。
g.在命令列中,如果您按照指示進行操作,則會從 CodeCommit 中複製專案資料儲存器。
h.您可以使用各種產品和 Git 匯入程式,但是,如果您沒有這些東西,我們將為您提供一種快速/手動的方法。以從第 4 單元的 github 資料儲存器中複製的程式碼為準,並用其取代最新複製的 CodeCommit 資料儲存器中的所有程式碼 (確保在貼上 .NET Chatbot 程式碼之前刪除所有舊程式碼)。
i.在命令列中進入複製的目錄,然後繼續執行以下命令:1.
git add -A
2.git commit -m "adding Chatbot code"
3.git push origin master
j.按一下「略過」,隨即將顯示進行持續部署的程式碼儀表板 (我們鼓勵您探索更多其他選項)。
k.在包含 Visual Studio 解決方案檔案的專案目錄下,複製 appspec.yml 檔案和 buildspec.yml。
l.在包含 Visual Studio 解決方案檔案的專案目錄下,建立一個資料夾並將其命名為指令碼。
m.將複製的儲存庫的 Linux Deployment 目錄內所有檔案複製到上一步建立的指令碼目錄中。
n.按一下「應用程式端點」連結,檢視及測試 Chatbot 應用程式。⚐ 注意:有關其他資訊,請參閱位於 github 專案內的文檔。
-
選項 2:部署至 Windows 伺服器
a.登入您的 AWS 帳戶,確保您位於區域 us-east-1 (維吉尼亞北部) 或 eu-west-1 (愛爾蘭)。
b.使用您的 GitHub 登入資料登入您的 GitHub 帳戶。
c.按一下「範本」,使用 AWS CloudFormation 在 us-east-1 建立基礎設施堆疊。 您也可以在此處下載 CloudFormation 範本,並在自己選擇的區域中,執行 AWS CloudFormation 服務中的 CloudFormation 範本。
d.您將前往 AWS CloudFormation 主控台網頁,其中顯示畫面,提供建立基礎設施資源所需之參數。為「堆疊名稱」和「應用程式」參數填寫所需值。
e.開啟另一個瀏覽器視窗,並返回您的 Github 帳戶,按一下 GitHub 帳戶中的「設定」,然後按一下「個人存取字符」並建立範圍為 repo 和 admin:repo_hook 的新字符。上述指令碼請務必都選取所有子選項。
f.返回 AWS CloudFormation 網頁並將上一步在 GitHub 產生的值填入 GitHubOAuthToken 參數。
g.選取您要部署解決方案的 VPC,以及屬於該 VPC 的公用子網路 (附加網際網路閘道的公用子網路)。
h.選取金鑰對名稱。如需有關金鑰對名稱的詳細資訊,請按一下此處。
i.如有需要,變更執行個體類型,否則請保留提供的預設值。
j.在 OSTtype 欄位中,將目標 EC2 執行個體的作業系統選為 Windows,然後按一下「下一步」按鈕。
k.保留「選項和進階」區段的預設選項,並按一下「下一步」按鈕。
l.在檢閱畫面上,請務必按一下「我確認 AWS CloudFormation 可能建立使用自訂名稱的 IAM 資源」旁的方塊。
m.建立堆疊並查看建立在「事件」標籤下方的完整堆疊和所有必要資源,直至顯示「CREATE_COMPLETE」狀態。
n.查看 CodePipeline 並查看應用程式從 GitHub 到 CodeBuild 再到 CodeDeploy 的完整 CD/CI 流程,此流程在端點 1 部署於 EC2。
o.成功部署後,請前往 CloudFormation 的「輸出」標籤並按一下 URL 值,然後查看在您的環境中執行的 Chatbot 應用程式。⚐ 注意:有關其他資訊,請參閱位於 GitHub 專案內的文檔。
-
-
步驟 2:清除並刪除資源
-
選項 1:CodeStar 指示
a.前往主控台中的「CodeStar」頁面。
b.選取專案右上角的省略符號。參閱下方螢幕擷取畫面。
c.選取「刪除」選項。
d.輸入專案名稱,以確認刪除。保留「隨 CodeStar 專案刪除關聯的 AWS 資源」旁的核取方塊。查看更多已核取的資訊。
e.按一下「刪除」按鈕。
-
選項 2:CloudFormation 指示
a.前往主控台中的「CloudFormation」頁面。
b.選取您的堆疊。
c.前往「動作」下拉式功能表。
d.選取「刪除堆疊」選項。
e.按一下「是,刪除」按鈕。
-
-
步驟 3:刪除其他資源
Lambda
a.前往主控台中的「Lambda」頁面。
b.按一下標題左側的泡泡,選取清單中的函數。
c.按一下「動作」,再按一下「刪除」。Lex
a.前往主控台中的「Lex」頁面。
b.按一下標題左側的泡泡,選取清單中的機器人。
c.按一下「動作」,再按一下「刪除」。Cognito
a.前往主控台中的「Cognito」頁面。
b.按一下「管理聯合身分」。
c.按一下聯合身分。
d.按一下右上角的「編輯身分集區」。
e.向下捲動至「刪除身分集區」並按一下按鈕。按一下紅色刪除按鈕,進行確認。⚐ 注意:以上指示也可參閱 GitHub 專案中的 Documentation 資料夾。
恭喜您!
您已使用 Amazon Web Services 在 .NET 上建置了 Amazon Lex Chatbot。
與朋友分享您的 Chatbot。我們非常期待看到您下一次要建置的項目!