本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解如何為 Fargate 啟動類型建立 Amazon ECS Linux 任務
Amazon Elastic Container Service (Amazon ECS) 是具高可擴展性且快速的容器管理服務,可讓您輕鬆執行、停止和管理容器。您可以在 AWS Fargate上啟動服務或任務,以在受 Amazon ECS 管理的無伺服器基礎設施上託管容器。如需 Fargate 的詳細資訊,請參閱 AWS Fargate 適用於 Amazon ECS。
在 Amazon ECS 支援 AWS Fargate Fargate 的 區域中,使用 AWS Fargate 啟動類型的任務,在 上開始使用 Amazon ECS。
完成下列步驟,以在 AWS Fargate上開始使用 Amazon ECS。
必要條件
開始之前,請完成 中的步驟,設定以使用 Amazon ECS。以及您的 AWS 使用者具有 IAM AdministratorAccess
政策範例中指定的許可。
主控台會嘗試自動建立任務執行 IAM 角色,該角色是 Fargate 任務的必要項目。若要確保主控台可成功建立此 IAM 角色,下列其中一項必須為 True:
-
您的使用者具有管理員存取。如需詳細資訊,請參閱設定以使用 Amazon ECS。。
-
您的使用者具有建立服務角色的 IAM 許可。如需詳細資訊,請參閱建立角色以將許可委派給 AWS 服務。
-
具備管理員存取的使用者已手動建立任務執行角色,讓其可在帳戶上提供使用。如需詳細資訊,請參閱Amazon ECS 任務執行 IAM 角色。
重要
使用任務定義建立服務時選取的安全群組,必須為入站流量開放連接埠 80。將下列傳入規則新增至安全群組。如需有關如何建立安全群組的資訊,請參閱《Amazon EC2 使用者指南》中的為您的 Amazon EC2 執行個體建立安全群組。 Amazon EC2
-
Type (類型):HTTP
Protocol (通訊協定):TCP
-
連接埠範圍:80
-
來源:Anywhere (
0.0.0.0/0
)
步驟 1:建立叢集
建立使用預設 VPC 的叢集。
在開始之前,請指派適當的 IAM 許可。如需詳細資訊,請參閱Amazon ECS 叢集範例。
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
從導覽列中選取要使用的「區域」。
-
在導覽窗格中,選擇叢集。
-
在 Clusters (叢集) 頁面上,選擇 Create cluster (建立叢集)。
-
在 Cluster configuration (叢集組態) 下的 Cluster name (叢集名稱) 中,輸入唯一的名稱。
名稱可以包含最多 255 個字母 (大小寫)、數字與連字號。
-
(選用) 若要開啟 Container Insights,請展開 Monitoring (監控),然後開啟 Use Container Insights (使用 Container Insights)。
-
(選用) 為協助識別您的叢集,請展開 Tags (標籤),然後設定標籤。
[新增標籤] 選擇新增標籤,並執行下列動作:
-
對於 Key (金鑰),輸入金鑰名稱。
-
對於 Value (值),進入金鑰值。
[移除標籤] 選擇標籤「金鑰」和「值」右側的移除。
-
-
選擇 Create (建立)。
步驟 2:建立任務定義
任務定義就像您應用程式的藍圖。每次在 Amazon ECS 中啟動任務時,您都必須指定任務定義。服務接著會知道要為容器使用哪個 Docker 映像、要在任務中使用多少個容器,以及每個容器的資源配置。
-
在導覽窗格中,選擇 Task Definitions (任務定義)。
-
選擇 Create new Task Definition (建立新任務定義),以及 Create new revision with JSON (使用 JSON 建立新修訂版)。
-
複製下列任務定義範例並貼到方塊中,然後選擇 Save (儲存)。
{ "family": "sample-fargate", "networkMode": "awsvpc", "containerDefinitions": [ { "name": "fargate-app", "image": "public.ecr.aws/docker/library/httpd:latest", "portMappings": [ { "containerPort": 80, "hostPort": 80, "protocol": "tcp" } ], "essential": true, "entryPoint": [ "sh", "-c" ], "command": [ "/bin/sh -c \"echo '<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> </div></body></html>' > /usr/local/apache2/htdocs/index.html && httpd-foreground\"" ] } ], "requiresCompatibilities": [ "FARGATE" ], "cpu": "256", "memory": "512" }
-
選擇 Create (建立)。
步驟 3:建立服務
使用任務定義來建立服務。
-
在導覽窗格中,選擇 Clusters (叢集),然後選取您在 步驟 1:建立叢集 中建立的叢集。
-
在 Services (服務) 索引標籤上,選擇 Create (建立)。
-
在 Deployment configuration (部署組態),指定應用程式的部署方式。
-
在 Task Definitions (任務定義) 中,選擇您在 步驟 2:建立任務定義 中建立的任務定義。
-
針對 Service name (服務名稱),輸入服務的名稱。
-
在 Desired tasks (所需任務) 中,請輸入 1。
-
-
在 Networking (聯網) 下,您可以為您的任務建立新的安全群組或選擇現有的安全群組。請確定您使用的安全群組已在 必要條件 下方列出傳入規則。
-
選擇 Create (建立)。
步驟 4:檢視服務
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在導覽窗格中,選擇叢集。
-
選擇您執行服務的叢集。
-
在 Services (服務) 索引標籤中,Service name (服務名稱) 下,選擇您在 步驟 3:建立服務 中建立的服務。
-
選擇 Tasks (任務) 索引標籤,然後選擇服務中的任務。
-
在任務頁面 Configuration (組態) 區段的 Public IP (公有 IP) 中,選擇 Open address (開放地址)。
步驟 5:清除
完成使用 Amazon ECS 叢集時,您應該清除與其相關的資源,以免未使用的資源產生費用。
某些 Amazon ECS 資源 (例如任務、服務、叢集和容器執行個體) 可使用 Amazon ECS 主控台進行清除。其他資源,例如 Amazon EC2 執行個體、Elastic Load Balancing 負載平衡器和 Auto Scaling 群組,必須在 Amazon EC2 主控台中手動清除或刪除建立它們的 AWS CloudFormation 堆疊。
-
在導覽窗格中,選擇叢集。
-
在 Clusters (叢集) 頁面,選取您為本教學課程建立的叢集。
-
選擇 Services (服務) 索引標籤。
-
選取服務,然後選擇 Delete (刪除)。
-
在確認提示中,輸入 delete (刪除),然後選擇 Delete (刪除)。或者,您可以使用
Force delete
選項,讓 Amazon ECS 在刪除服務之前代您縮減服務規模。等到刪除該服務。
-
選擇 Delete Cluster (刪除叢集)。在確認提示中,輸入 delete
cluster-name
,然後選擇 Delete (刪除)。刪除叢集會清除與叢集一起建立的相關聯資源,包括 Auto Scaling 群組、VPC 或負載平衡器。