了解如何為 EC2 啟動類型建立 Amazon ECS Windows 任務 - Amazon Elastic Container Service

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

了解如何為 EC2 啟動類型建立 Amazon ECS Windows 任務

透過註冊任務定義、建立叢集以及在主控台中建立服務,使用 EC2 啟動類型開始使用 Amazon ECS。

完成下列步驟,以使用 EC2 啟動類型來開始使用 Amazon ECS。

必要條件

開始之前,請完成 中的步驟,設定以使用 Amazon ECS。以及您的 AWS 使用者具有 IAM AdministratorAccess 政策範例中指定的許可。

主控台會嘗試自動建立任務執行 IAM 角色,該角色是 Fargate 任務的必要項目。若要確保主控台可成功建立此 IAM 角色,下列其中一項必須為 True:

重要

使用任務定義建立服務時選取的安全群組,必須為入站流量開放連接埠 80。將下列傳入規則新增至安全群組。如需如何建立安全群組的詳細資訊,請參閱《Amazon EC2 使用者指南》中的為您的 Amazon EC2 執行個體建立安全群組Amazon EC2

  • Type (類型):HTTP

  • Protocol (通訊協定):TCP

  • 連接埠範圍:80

  • 來源:Anywhere (0.0.0.0/0)

步驟 1:建立叢集

Amazon ECS 叢集是任務、服務和容器執行個體的邏輯分組。

下列步驟將逐步引導您使用一個已註冊至叢集的 Amazon EC2 執行個體來建立叢集,以便讓我們在該叢集上執行任務。若未提及特定欄位,請保留預設主控台值。

建立新叢集 (Amazon ECS 主控台)

在開始之前,請指派適當的 IAM 許可。如需詳細資訊,請參閱Amazon ECS 叢集範例

  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 從導覽列中選取要使用的「區域」。

  3. 在導覽窗格中,選擇叢集

  4. Clusters (叢集) 頁面上,選擇 Create cluster (建立叢集)。

  5. Cluster configuration (叢集組態) 下的 Cluster name (叢集名稱) 中,輸入唯一的名稱。

    名稱可以包含最多 255 個字母 (大小寫)、數字與連字號。

  6. (選用) 若要變更任務和服務啟動所在的 VPC 和子網路,請在 Networking (聯網) 下,執行下列任一操作:

    • 若要移除子網路,請在 Subnets (子網路) 下,對您要移除之每一個子網路選擇 X

    • 若要變更為非 default (預設) VPC,請在 VPC 下,選擇現有的 VPC,然後在 Subnets (子網路) 下選擇各個子網路。

  7. 若要將 Amazon EC2 執行個體新增至叢集,展開 Infrastructure (基礎設施),然後選取 Amazon EC2 執行個體。接下來,設定作為容量提供者的 Auto Scaling 群組:

    1. 要使用現有 Auto Scaling 群組,請從 Auto Scaling group (ASG) (Auto Scaling 群組 (ASG)) 中選取該群組。

    2. 若要建立 Auto Scaling 群組,請從 Auto Scaling group (ASG) (Auto Scaling 群組 (ASG)) 中選取 Create new group (建立新群組),然後提供有關該群組的下列詳細資訊:

      • 針對 Operating system/Architecture (作業系統/架構),為 Auto Scaling 群組執行個體選擇 Amazon ECS 最佳化 AMI。

      • 對於 EC2 instance type (EC2 執行個體類型),選擇適合您工作負載的執行個體類型。如需不同執行個體類型的詳細資訊,請參閱 Amazon EC2 執行個體

        如果 Auto Scaling 群組使用相同或類似的執行個體類型,則受管擴展效果最佳。

      • 對於 SSH key pair (SSH 金鑰對),選擇在連線到執行個體時證明您身分的金鑰對。

      • 對於 Capacity (容量),輸入 Auto Scaling 群組中要啟動的最小執行個體數和最大執行個體數。Amazon EC2 執行個體在您的 AWS 資源中存在時會產生成本。如需詳細資訊,請參閱 Amazon EC2 定價

  8. (選用) 若要開啟 Container Insights,請展開 Monitoring (監控),然後開啟 Use Container Insights (使用 Container Insights)。

  9. (選用) 若要管理叢集標籤,請展開 Tags (標籤),然後執行下列其中一項操作:

    [新增標籤] 選擇新增標籤,並執行下列動作:

    • 對於 Key (金鑰),輸入金鑰名稱。

    • 對於 Value (值),進入金鑰值。

    [移除標籤] 選擇標籤「金鑰」和「值」右側的移除

  10. 選擇建立

步驟 2:註冊任務定義

向 註冊範例任務定義 AWS Management Console
  1. 在導覽窗格中,選擇 Task Definitions (任務定義)。

  2. 選擇 Create new task definitio (建立新任務定義)、Create new task definition with JSON (使用 JSON 建立新的任務定義)。

  3. 複製下列任務定義範例並貼到方塊中,然後選擇 Save (儲存)。

    { "containerDefinitions": [ { "command": ["New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>'; C:\\ServiceMonitor.exe w3svc"], "entryPoint": [ "powershell", "-Command" ], "essential": true, "cpu": 2048, "memory": 4096, "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019", "name": "sample_windows_app", "portMappings": [ { "hostPort": 443, "containerPort": 80, "protocol": "tcp" } ] } ], "memory": "4096", "cpu": "2048", "family": "windows-simple-iis-2019-core", "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole", "runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"}, "requiresCompatibilities": ["EC2"] }
  4. 驗證您的資訊,然後選擇 Create (建立)。

步驟 3:建立服務

Amazon ECS 服務可協助您在 Amazon ECS 叢集中同時執行並維持指定數目的任務定義執行個體。如果您的有任務因為任何原因而故障或停止,Amazon ECS 服務排程器就會啟動任務定義的另一個執行個體取代之,以維護服務中所需的任務數量。如需服務的詳細資訊,請參閱 Amazon ECS 服務

建立服務
  1. 在導覽窗格中,選擇叢集

  2. 選取您在 步驟 1:建立叢集 中建立的叢集。

  3. Services (服務) 標籤上,選擇 Create (建立)

  4. Environment (環境) 區段中,執行以下動作:

    1. Compute options (運算選項) 中,選擇 Launch type (啟動類型)。

    2. 針對 Launch type (啟動類型),選取 EC2

  5. Deployment configuration (部署組態) 區段中,執行以下操作:

    1. Family (系列) 中,選擇您在 步驟 2:註冊任務定義 中建立的任務定義。

    2. 針對 Service name (服務名稱),輸入服務的名稱。

    3. Desired tasks (所需任務) 中,請輸入 1

  6. 檢閱選項,然後選擇建立

  7. 選擇 View service (檢視服務) 以檢閱服務。

步驟 4:檢視服務

服務是一種 Web 應用程式,您可以使用 Web 瀏覽器檢視其容器。

  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 在導覽窗格中,選擇叢集

  3. 選擇您執行服務的叢集。

  4. Services (服務) 索引標籤中,Service name (服務名稱) 下,選擇您在 步驟 3:建立服務 中建立的服務。

  5. 選擇 Tasks (任務) 索引標籤,然後選擇服務中的任務。

  6. 在任務頁面 Configuration (組態) 區段的 Public IP (公有 IP) 中,選擇 Open address (開放地址)。下面的螢幕擷取畫面是預期的輸出。

    Amazon ECS 範例應用程式的螢幕擷取畫面。輸出指示「您的應用程式目前正在 Amazon ECS 上執行」。

步驟 5:清除

完成使用 Amazon ECS 叢集時,您應該清除與其相關的資源,以免未使用的資源產生費用。

某些 Amazon ECS 資源 (例如任務、服務、叢集和容器執行個體) 可使用 Amazon ECS 主控台進行清除。其他資源,例如 Amazon EC2 執行個體、Elastic Load Balancing 負載平衡器和 Auto Scaling 群組,必須在 Amazon EC2 主控台中手動清除或刪除建立它們的 AWS CloudFormation 堆疊。

  1. 在導覽窗格中,選擇叢集

  2. Clusters (叢集) 頁面,選取您為本教學課程建立的叢集叢集。

  3. 選擇 Services (服務) 索引標籤。

  4. 選取服務,然後選擇 Delete (刪除)。

  5. 在確認提示中,輸入 delete (刪除),然後選擇 Delete (刪除)。

    等到刪除該服務。

  6. 選擇 Delete Cluster (刪除叢集)。在確認提示中,輸入 delete cluster-name,然後選擇 Delete (刪除)。刪除叢集會清除與叢集一起建立的相關聯資源,包括 Auto Scaling 群組、VPC 或負載平衡器。