Executar comandos usando ECS Exec - Amazon Elastic Container Service

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.0 ou superior (Linux) ou 1.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.

  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

  2. Na página Clusters, escolha o cluster.

  3. 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.

  4. Na página de detalhes da implantação, escolha Tarefas. Em seguida, escolha a função.

  5. Em Contêineres, escolha o contêiner em que deseja usar o ECS Exec.

  6. 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.

  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

  2. Na página Clusters, escolha o cluster.

  3. Na página de detalhes do cluster, na seção Tarefas, escolha a tarefa.

    A página de detalhes da tarefa é exibida.

  4. Em Contêineres, escolha o contêiner em que deseja usar o ECS Exec.

  5. 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 container-name para uma tarefa com o ID task-id.

O task-id é o nome do recurso da Amazon (ARN) da tarefa.

aws ecs execute-command --cluster cluster-name \ --task task-id \ --container container-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.