本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 ECS Exec 執行命令
您可以使用 Amazon ECS Exec 收集與容器相關的診斷資訊,並對整個容器生命週期中遇到的錯誤進行故障診斷。
先決條件
開始使用 ECS Exec 之前,請確定您已完成下列動作:
-
檢閱考量事項。如需詳細資訊,請參閱考量事項
-
為任務與服務設定 ECS Exec。如需詳細資訊,請參閱設定 ECS Exec
-
安裝和設定 AWS CLI。如需詳細資訊,請參閱 Get started with the AWS CLI。
-
安裝 的 Session Manager 外掛程式 AWS CLI。如需詳細資訊,請參閱為 AWS CLI安裝工作階段管理工具外掛程式。
-
設定具備適當許可的任務角色。您必須使用具有 ECS Exec 適當許可的任務角色。如需詳細資訊,請參閱任務 IAM 角色。
-
驗證版本需求。ECS Exec 具有版本要求,取決於您的任務是否託管於 Amazon EC2 或 AWS Fargate:
-
如果您使用的是 Amazon EC2,則必須使用在 2021 年 1 月 20 日之後發行的 Amazon ECS 最佳化 AMI,且代理程式版本為 1.50.2 或更高版本。如需詳細資訊,請參閱 Amazon ECS 最佳化 AMI。
-
如果您使用的是 AWS Fargate,則必須使用平台版本
1.4.0或更新版本 (Linux) 或1.0.0(Windows)。如需詳細資訊,請參閱 AWS Fargate 平台版本。
-
透過主控台操作服務任務
您可以透過主控台使用 ECS Exec 執行指令。
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在叢集頁面上,選擇叢集。
-
在「叢集詳細資訊」頁面上的服務區段中,選擇所需服務。
服務詳細資訊頁面隨即顯示。
-
在服務詳細資訊頁面上,選擇任務。然後,選擇所需任務。
-
在容器下選擇要在其中使用 ECS Exec 的容器。
-
若要執行命令,請執行下列任一操作:
-
選擇連線。
CloudShell 工作階段會顯示您可以在其中執行命令的位置。
-
選擇箭頭,再選擇複製 AWS CLI 命令。
然後,您便可以在本機執行命令。
-
預期的結果
如果連線成功,您應該會看到來自容器的互動式 Shell 提示。您現在可以直接在容器環境中執行命令。若要退出工作階段,請選擇結束工作階段。
使用主控台操作獨立任務
您可以透過主控台使用 ECS Exec 執行指令。
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在叢集頁面上,選擇叢集。
-
在「叢集詳細資訊」頁面上的任務區段中,選擇所需任務。
任務詳細資訊頁面隨即顯示。
-
在容器下選擇要在其中使用 ECS Exec 的容器。
-
若要執行命令,請執行下列任一操作:
-
選擇連線。
CloudShell 工作階段會顯示您可以在其中執行命令的位置。
-
選擇箭頭,再選擇複製 AWS CLI 命令。
然後,您便可以在本機執行命令。
-
預期的結果
如果連線成功,您應該會看到來自容器的互動式 Shell 提示。您現在可以直接在容器環境中執行命令。若要退出工作階段,請選擇結束工作階段。
使用命令 Shell
您可透過命令 Shell 使用 ECS Exec 執行命令。
在確認 ExecuteCommandAgent 正在執行後,您可以使用以下命令在容器上開啟交互式 Shell。如果您的任務包含多個容器,您必須使用 --container 旗標指定容器名稱。Amazon ECS 僅支援啟動互動式工作階段,因此您必須使用 --interactive 旗標。
若任務 ID 為 task-id,下面的命令會針對名為 的容器執行交互式 container-name/bin/sh 命令。
task-id 是任務的 Amazon Resource Name (ARN)。
aws ecs execute-command --clustercluster-name\ --tasktask-id\ --containercontainer-name\ --interactive \ --command"/bin/sh"
預期的結果
如果命令執行成功,您應該會看到來自容器的互動式 Shell 提示。您現在可以直接在容器環境中執行命令。若要退出工作階段,請輸入 exit 或按 Ctrl+D。