本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解如何為 Fargate 啟動類型建立 Amazon ECS Linux 任務
Amazon Elastic Container Service (Amazon ECS) 是一種高度可擴展、快速的容器管理服務,可讓您輕鬆執行、停止和管理容器。您可以在 上ECS啟動服務或任務,在 Amazon 管理的無伺服器基礎設施上託管容器 AWS Fargate。如需 Fargate 的詳細資訊,請參閱 AWS Fargate 適用於 Amazon ECS。
在 Amazon ECS支援 Fargate 的區域中ECS AWS Fargate ,使用 Fargate 啟動類型來開始使用 Amazon AWS on。
請完成下列步驟,以在 ECS上開始使用 Amazon AWS Fargate。
必要條件
在開始之前,請完成 中的步驟,設定 以使用 Amazon ECS以及您的 AWS 使用者具有AdministratorAccess
IAM政策範例中指定的許可。
主控台會嘗試自動建立 Fargate 任務所需的任務執行IAM角色。為確保主控台能夠建立此IAM角色,下列其中一項必須為 true:
-
您的使用者具有管理員存取。如需詳細資訊,請參閱設定 以使用 Amazon ECS。
-
您的使用者具有建立服務角色的IAM許可。如需詳細資訊,請參閱建立角色以委派許可給 AWS 服務 。
-
具備管理員存取的使用者已手動建立任務執行角色,讓其可在帳戶上提供使用。如需詳細資訊,請參閱Amazon ECS任務執行IAM角色。
重要
使用任務定義建立服務時選取的安全群組,必須為入站流量開放連接埠 80。將下列傳入規則新增至安全群組。如需有關如何建立安全群組的資訊,請參閱 Amazon EC2使用者指南 中的將規則新增至安全群組。
-
類型: HTTP
通訊協定: TCP
-
連接埠範圍:80
-
來源:Anywhere (
0.0.0.0/0
)
步驟 1:建立叢集
建立使用預設 的叢集VPC。
在開始之前,請指派適當的IAM許可。如需詳細資訊,請參閱Amazon ECS叢集範例。
-
從導覽列中選取要使用的「區域」。
-
在導覽窗格中,選擇叢集。
-
在 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 (任務定義)。
-
選擇建立新的任務定義 ,使用 建立新的修訂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:檢視服務
-
在導覽窗格中,選擇叢集。
-
選擇您執行服務的叢集。
-
在 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 (刪除叢集)。在確認提示中,輸入刪除
cluster-name
,然後選擇刪除 。刪除叢集會清除使用叢集建立的相關資源,包括 Auto Scaling 群組VPCs、 或負載平衡器。