Executar comandos usando ECS Exec
É possível usar o Amazon ECS Exec para coletar informações de diagnóstico relacionadas aos contêineres e solucionar erros encontrados durante todo o ciclo de vida dos contêineres.
Pré-requisitos
Antes de começar a usar o ECS Exec, conclua as seguintes ações:
-
Revise as considerações. Para obter mais informações, consulte . Considerações
-
Configure o ECS Exec para tarefas e serviços. Para obter mais informações, consulte . Configurar o ECS Exec
-
Instale e configure a AWS CLI. Para obter mais informações, consulte Conceitos básicos do AWS CLI.
-
Instale o plugin do gerenciador de sessão para a AWS CLI. Para obter mais informações, consulte Instalar o plugin do gerenciador de sessão para a AWS CLI.
-
Configure um perfil de tarefa com as permissões apropriadas. Você deve usar um perfil de tarefa com as permissões apropriadas para o ECS Exec. Para obter mais informações, consulte Perfil do IAM de tarefa.
-
Verifique os requisitos da versão. O ECS Exec tem requisitos de versão que dependem das suas tarefas estarem hospedadas no Amazon EC2 ou no AWS Fargate:
-
Se você estiver usando o Amazon EC2, deverá usar uma AMI otimizada para Amazon ECS que tenha sido lançada após 20 de janeiro de 2021, com a versão 1.50.2 ou superior do agente. Para obter mais informações consulte AMIs otimizadas para Amazon ECS.
-
Se você estiver usando o AWS Fargate, deverá usar a versão
1.4.0ou superior (Linux) ou1.0.0(Windows) da plataforma. Para obter mais informações, consulte Versões da plataforma do AWS Fargate.
-
Usar o console para tarefas de serviço
É possível usar o console para executar comandos com o ECS Exec.
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
Na página Clusters, escolha o cluster.
-
Na página de detalhes do cluster, na seção Serviços, escolha o serviço.
A página de detalhes do serviço é exibida.
-
Na página de detalhes da implantação, escolha Tarefas. Em seguida, escolha a função.
-
Em Contêineres, escolha o contêiner em que deseja usar o ECS Exec.
-
Para executar comandos, siga uma destas opções:
-
Selecione Conectar.
Uma sessão do CloudShell mostra onde você pode executar seus comandos.
-
Escolha a seta e, em seguida, escolha Copiar comando da AWS CLI.
Você poderá então executar os comandos localmente.
-
Resultados esperados
Se a conexão for bem-sucedida, você deverá ver um prompt de shell interativo do contêiner. Você agora pode executar comandos diretamente no ambiente do contêiner. Para sair da sessão, escolha o botão Encerrar sessão.
Usar o console para tarefas autônomas
É possível usar o console para executar comandos com o ECS Exec.
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
Na página Clusters, escolha o cluster.
-
Na página de detalhes do cluster, na seção Tarefas, escolha a tarefa.
A página de detalhes da tarefa é exibida.
-
Em Contêineres, escolha o contêiner em que deseja usar o ECS Exec.
-
Para executar comandos, siga uma destas opções:
-
Selecione Conectar.
Uma sessão do CloudShell mostra onde você pode executar seus comandos.
-
Escolha a seta e, em seguida, escolha Copiar comando da AWS CLI.
Você poderá então executar os comandos localmente.
-
Resultados esperados
Se a conexão for bem-sucedida, você deverá ver um prompt de shell interativo do contêiner. Você agora pode executar comandos diretamente no ambiente do contêiner. Para sair da sessão, escolha o botão Encerrar sessão.
Usar o shell de comandos
É possível usar o shell de comandos para executar comandos com o ECS Exec.
Depois de ter confirmado que o ExecuteCommandAgent está em execução, você pode abrir um shell interativo no contêiner usando o comando a seguir. Se a tarefa contiver vários contêineres, você deverá especificar o nome do contêiner usando o sinalizador --container. O Amazon ECS só oferece suporte à inicialização de sessões interativas Portanto, você deve usar o sinalizador --interactive.
O comando a seguir executará um comando /bin/sh interativo em um contêiner denominado para uma tarefa com o ID container-nametask-id.
O task-id é o nome do recurso da Amazon (ARN) da tarefa.
aws ecs execute-command --clustercluster-name\ --tasktask-id\ --containercontainer-name\ --interactive \ --command"/bin/sh"
Resultados esperados
Se o comando for bem-sucedido, você deverá ver um prompt de shell interativo do contêiner. Você agora pode executar comandos diretamente no ambiente do contêiner. Para sair da sessão, digite exit ou pressione Ctrl+D.