本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
QuickStart:部署. NETElastic Beanstalk 的 Windows 應用程序的核心
本 QuickStart 自學課程將引導您完成建立. NETWindows 應用程序上的核心並將其部署到 AWS Elastic Beanstalk 環境中。
注意
本 QuickStart 自學課程用於示範目的。請勿將本教學課程中建立的應用程式用於生產流量。
章節
您的 AWS 帳戶
如果您還不是 AWS 客戶,則需要創建一個 AWS 帳戶。註冊使您可以訪問 Elastic Beanstalk 和您需要的其他 AWS 服務。
如果您已經有 AWS 帳戶,則可以轉到必要條件。
註冊一個 AWS 帳戶
如果您沒有 AWS 帳戶,請完成以下步驟來建立一個。
若要註冊成為 AWS 帳戶
打開https://portal.aws.amazon.com/billing/註冊
。 請遵循線上指示進行。
部分註冊程序需接收來電,並在電話鍵盤輸入驗證碼。
當您註冊一個時 AWS 帳戶,將創建AWS 帳戶根使用者一個。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務,請將管理存取權指派給使用者,並且僅使用根使用者來執行需要根使用者存取權的任務。
AWS 註冊過程完成後,會向您發送確認電子郵件。您可以隨時前往 https://aws.amazon.com/
建立具有管理存取權的使用者
註冊後,請保護您的 AWS 帳戶 AWS 帳戶根使用者 AWS IAM Identity Center、啟用和建立系統管理使用者,這樣您就不會將 root 使用者用於日常工作。
保護您的 AWS 帳戶根使用者
-
選擇 Root 使用者並輸入您的 AWS 帳戶 電子郵件地址,以帳戶擁有者身分登入。AWS Management Console
在下一頁中,輸入您的密碼。 如需使用根使用者登入的說明,請參閱 AWS 登入 使用者指南中的以根使用者身分登入。
-
為您的 root 使用者開啟多因素驗證 (MFA)。
如需指示,請參閱《使用指南》中的「IAM為 AWS 帳戶 root 使用者啟用虛擬MFA裝置 (主控台)」。
建立具有管理存取權的使用者
-
啟用IAM身分識別中心。
如需指示,請參閱 AWS IAM Identity Center 使用者指南中的啟用 AWS IAM Identity Center。
-
在IAM身分識別中心中,將管理存取權授與使用者。
以具有管理存取權的使用者身分登入
-
若要使用您的 IAM Identity Center 使用者登入URL,請使用建立IAM身分識別中心使用者時傳送至您電子郵件地址的登入資訊。
如需使用IAM身分識別中心使用者登入的說明,請參閱使用指南中的登入 AWS 存取入口網站。AWS 登入
必要條件
為了遵循本指南的程序,您需要命令列終端機或 shell 來執行命令。指令會顯示在清單中,前面有提示符號 (>) 和目前目錄的名稱 (如果適當)。
C:\eb-project> this is a command
this is output
EB CLI
本教學課程使用 Elastic Beanstalk 命令列介面 (E CLI B)。如需有關安裝和配置 EB 的詳細資訊CLI,請參閱安裝 Elastic Beanstalk 指令列介面和設定 EB CLI。
。 NET核心視窗
如果您沒有. NETSDK安裝在本地計算機上,您可以按照下載安裝它。 NET
驗證您的. NETSDK通過運行以下命令進行安裝。
C:\> dotnet --info
第 1 步:創建一個. NET核心視窗應用程式
建立專案目錄。
C:\> mkdir eb-dotnetcore
C:\> cd eb-dotnetcore
接下來,執行下列命令,建立範例 Hello World RESTful 網路服務應用程式。
C:\eb-dotnetcore>
dotnet new web --name HelloElasticBeanstalk
C:\eb-dotnetcore>cd HelloElasticBeanstalk
步驟 2:在本機執行應用程式
執行下列命令以在本機執行應用程式。
C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet run
輸出應該看起來像下面的文本。
info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7222 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5228 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: C:\Users\Administrator\eb-dotnetcore\HelloElasticBeanstalk
注意
此指dotnet
令會在本機執行應用程式時隨機選取連接埠。在此範例中,連接埠為 5228。當您將應用程式部署到 Elastic Beanstalk 環境時,應用程式會在連接埠 5000 上執行。
http://localhost:
在您的網頁瀏覽器中輸入URL地址。在此特定範例中,指令為port
http://localhost:5228
。網絡瀏覽器應該顯示「你好世界!」。
步驟 3:部署您的. NET使用 EB 的視窗應用程式核心 CLI
執行下列命令,為此應用程式建立 Elastic Beanstalk 環境。
若要建立環境並部署. NET核心視窗應用程式
-
在
HelloElasticBeanstalk
目錄中執行下列命令,以發佈和壓縮您的應用程式。C:\eb-dotnetcore\HelloElasticBeasntalk>
dotnet publish -o site
C:\eb-dotnetcore\HelloElasticBeasntalk>cd site
C:\eb-dotnetcore\HelloElasticBeasntalk\site>Compress-Archive -Path * -DestinationPath ../site.zip
C:\eb-dotnetcore\HelloElasticBeasntalk\site>cd ..
-
使用以下內容在
HelloElasticBeanstalk
調aws-windows-deployment-manifest.json
用中創建一個新文件:{ "manifestVersion": 1, "deployments": { "aspNetCoreWeb": [ { "name": "test-dotnet-core", "parameters": { "appBundle": "site.zip", "iisPath": "/", "iisWebSite": "Default Web Site" } } ] } }
-
使用eb init命令初始化您的 EB CLI 存放庫。
C:\eb-dotnetcore\HelloElasticBeasntalk>
eb init -p iis dotnet-windows-server-tutorial --region
us-east-2
此命令會建立名為的應用程式,
dotnet-windows-server-tutorial
並設定您的本機存放庫,以建立具有最新 Windows 伺服器平台版本的環境。 -
使用 eb create 建立環境並於其中部署您的應用程式。Elastic Beanstalk 會自動為您的應用程序構建一個 zip 文件,並在端口 5000 上啟動它。
C:\eb-dotnetcore\HelloElasticBeasntalk>
eb create dotnet-windows-server-env
Elastic Beanstalk 大約需要五分鐘的時間來創建您的環境。
第 4 步:在 Elastic Beanstalk 上運行應用程序
當創建環境的過程完成後,打開您的網站eb open。
C:\eb-dotnetcore\HelloElasticBeasntalk> eb open
恭喜您!您已經部署了. NET核心在 Windows 應用程序與 Elastic Beanstalk!這會開啟瀏覽器視窗,並使用為應用程式建立的網域名稱。
步驟 5:清除
您可以在完成應用程式的工作後終止環境。Elastic Beanstalk 會終止與您環境相關的所有 AWS 資源。
若要使用 EB 終止 Elastic Beanstalk 環境,請CLI執行下列命令。
C:\eb-dotnetcore\HelloElasticBeasntalk> eb terminate
AWS 您應用程式的資源
您剛剛建立了單一執行個體應用程式。它可作為單一執行個體的簡單範EC2例應用程式,因此不需要負載平衡或 auto 調整規模。對於單個實例應用程序,Elastic Beanstalk 創建以下 AWS 資源:
-
EC2執行個體 — 設定為在您選擇的平台上執行 Web 應用程式的 Amazon EC2 虛擬機器。
每個平台會執行不同一套軟體、設定檔和指令碼,來支援特定的語言版本、架構、Web 容器或其組合。大多數的平台會使用 Apache 或 nginx 做為反向代理,處理您 Web 應用程式前端的網路流量、向它轉送請求、提供靜態資產,並產生存取和錯誤日誌。
-
執行個體安全群組 — 設定為允許連接埠 80 傳入流量的 Amazon EC2 安全群組。此資源可讓負載平衡器的HTTP流量到達EC2執行 Web 應用程式的執行個體。在預設情況下,不允許傳輸資料從其他通訊埠傳送。
-
Amazon S3 儲存貯體 - 儲存位置,用來儲存當您使用 Elastic Beanstalk 時所建立的原始程式碼、日誌和其他成品。
-
Amazon CloudWatch 警示 — 兩個 CloudWatch 警示,用於監控環境中執行個體的負載,並在負載過高或過低時觸發。當警示觸發時,您的 Auto Scaling 群組會擴展或縮減以進行回應。
-
AWS CloudFormation 堆疊 — Elastic Beanstalk 用 AWS CloudFormation 來啟動環境中的資源並傳播組態變更。資源定義於範本中,您可在 AWS CloudFormation 主控台
中檢視此範本。 -
網域名稱 — 在表單中路由到 Web 應用程式的網域名稱
subdomain
.region
. 彈性無線網站.
Elastic Beanstalk 會管理所有這些資源。當您終止環境時,Elastic Beanstalk 會終止其中的所有資源。
後續步驟
在您擁有執行應用程式的環境後,可以隨時部署應用程式的新版本或不同的應用程式。部署新的應用程式版本非常快,因為它不需要佈建或重新啟動EC2執行個體。您也可以使用 Elastic Beanstalk 控制台探索您的新環境。如需詳細步驟,請參閱本指南的「入門」一章中的「探索您的環境」。
嘗試更多教學
如果您想要嘗試使用不同範例應用程式的其他教學課程,請參閱QuickStart 為ASP. NET 。
在您部署一或兩個範例應用程式,並準備好開始開發和執行之後。 NET核心在 Windows 應用程序本地,請參閱 設定您的. NET開發環境
使用 Elastic Beanstalk 控制台進行部署
您也可以使用 Elastic Beanstalk 控制台來啟動示例應用程序。如需詳細步驟,請參閱本指南的「入門」一章中的「建立範例應用程式」。