QuickStart:部署. NETElastic Beanstalk 的 Windows 應用程序的核心 - AWS Elastic Beanstalk

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

QuickStart:部署. NETElastic Beanstalk 的 Windows 應用程序的核心

本 QuickStart 自學課程將引導您完成建立. NETWindows 應用程序上的核心並將其部署到 AWS Elastic Beanstalk 環境。

注意

本 QuickStart 自學課程用於示範目的。請勿將本教學課程中建立的應用程式用於生產流量。

您的 AWS 帳戶

如果您還不是 AWS 客戶,您需要創建一個 AWS 帳戶。註冊使您可以訪問 Elastic Beanstalk 和其他 AWS 您需要的服務。

如果您已經擁有 AWS 帳戶,你可以移動到必要條件

註冊一個 AWS 帳戶

如果您沒有 AWS 帳戶,請完成下列步驟來建立。

若要註冊成為 AWS 帳戶
  1. 打開https://portal.aws.amazon.com/billing/註冊

  2. 請遵循線上指示進行。

    部分註冊程序需接收來電,並在電話鍵盤輸入驗證碼。

    當您註冊一個 AWS 帳戶,一個 AWS 帳戶根使用者已建立。根使用者可以存取所有 AWS 服務 和帳戶中的資源。作為安全最佳實務,請將管理存取權指派給使用者,並且僅使用根使用者來執行需要根使用者存取權的任務

AWS 註冊過程完成後,會向您發送確認電子郵件。您可以隨時前往 https://aws.amazon.com/並選擇「我的帳戶」,檢視目前的帳戶活動並管理您的帳戶

建立具有管理存取權的使用者

在您註冊一個 AWS 帳戶,保護您的 AWS 帳戶根使用者,啟用 AWS IAM Identity Center,並建立系統管理使用者,這樣您就不會將 root 使用者用於日常工作。

保護您的 AWS 帳戶根使用者
  1. 登入 AWS Management Console通過選擇 Root 用戶並輸入您的帳戶所有者 AWS 帳戶 電子郵件地址。在下一頁中,輸入您的密碼。

    如需使用 root 使用者登入的說明,請參閱以 root 使用者身分登AWS 登入 使用者指南

  2. 為您的 root 使用者開啟多因素驗證 (MFA)。

    如需指示,請參閱為您的MFA裝置啟用虛擬裝置 AWS 帳戶 使用者指南中的 root IAM 使用者 (主控台)。

建立具有管理存取權的使用者
  1. 啟用IAM身分識別中心。

    如需指示,請參閱啟用 AWS IAM Identity Center 中的 AWS IAM Identity Center 使用者指南

  2. 在IAM身分識別中心中,將管理存取權授與使用者。

    若要取得有關使用 IAM Identity Center 目錄 做為身分識別來源,請參閱使用預設值設定使用者存取權 IAM Identity Center 目錄 中的 AWS IAM Identity Center 使用者指南

以具有管理存取權的使用者身分登入
  • 若要使用您的 IAM Identity Center 使用者登入URL,請使用建立IAM身分識別中心使用者時傳送至您電子郵件地址的登入資訊。

    如需使用IAM身分識別中心使用者登入的說明,請參閱登入 AWS 存取入口網站 AWS 登入 使用者指南

指派存取權給其他使用者
  1. 在 IAM Identity Center 中,建立遵循套用最低權限權限的最佳作法的權限集。

    如需相關指示,請參閱「」中的「建立權限集AWS IAM Identity Center 使用者指南

  2. 將使用者指派至群組,然後對該群組指派單一登入存取權。

    如需指示,請參閱新增群組 AWS IAM Identity Center 使用者指南

必要條件

為了遵循本指南的程序,您需要命令列終端機或 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上的鏈接。 NET文檔網站。

驗證您的. NETSDK通過運行以下命令進行安裝。

C:\> dotnet --info

第 1 步:創建一個. NET核心視窗應用程式

建立專案目錄。

C:\> mkdir eb-dotnetcore C:\> cd eb-dotnetcore

接下來,執行下列命令,建立範例 Hello World RESTful Web 服務應用程式。

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:port在您的網頁瀏覽器中輸入URL地址。在此特定範例中,指令為http://localhost:5228。網絡瀏覽器應該顯示「你好世界!」。

步驟 3:部署您的. NET使用 EB 的視窗應用程式核心 CLI

執行下列命令,為此應用程式建立 Elastic Beanstalk 環境。

若要建立環境並部署. NET核心視窗應用程式
  1. 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 ..
  2. 使用以下內容在HelloElasticBeanstalk調aws-windows-deployment-manifest.json用中創建一個新文件:

    { "manifestVersion": 1, "deployments": { "aspNetCoreWeb": [ { "name": "test-dotnet-core", "parameters": { "appBundle": "site.zip", "iisPath": "/", "iisWebSite": "Default Web Site" } } ] } }
  3. 使用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 伺服器平台版本的環境。

  4. 使用 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 控制台來啟動示例應用程序。如需詳細步驟,請參閱本指南的「入門一章中的「建立範例應用程式」。