

# Amazon Elastic Container Service (Amazon ECS) Exec no AWS Toolkit
<a name="ecs-exec"></a>

Você pode usar o atributo Amazon ECS Exec para emitir comandos únicos ou executar um shell em um contêiner do Amazon Elastic Container Service (Amazon ECS), diretamente do AWS Toolkit. 

**Importante**  
Habilitar e desabilitar o Amazon ECS Exec altera o estado dos recursos na sua conta da AWS. As alterações incluem interromper e reiniciar o serviço. Alterar o estado dos recursos enquanto o Amazon ECS Exec está habilitado pode levar a resultados imprevisíveis. Para obter mais informações sobre o Amazon ECS Exec, consulte o guia do desenvolvedor [Using Amazon ECS Exec for Debugging](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html#ecs-exec-considerations).

## Pré-requisitos do Amazon ECS Exec
<a name="ecs-exec-prereq"></a>

Antes de usar o atributo Amazon ECS Exec, você precisa atender a certas condições de pré-requisito.

**Importante**  
Para habilitar o Amazon ECS Exec para um serviço específico, o Amazon ECS Cloud Debugging deve estar desativado para esse serviço.

### Requisitos do Amazon ECS
<a name="w7aac13c27b8c11b7"></a>

Dependendo do local em que suas tarefas estão armazenadas, se no Amazon EC2 ou no AWS Fargate, o Amazon ECS Exec tem requisitos de versionamento diferentes.
+ 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. Informações adicionais estão disponíveis para você no guia do desenvolvedor das [AMIs otimizadas do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html).
+ Se você estiver usando o AWS Fargate, deverá usar a versão 1.4.0 ou superior da plataforma. Informações adicionais sobre os requisitos do Fargate estão disponíveis no guia do desenvolvedor das [versões da plataforma do AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).

### Configuração da conta da AWS e permissões do IAM
<a name="w7aac13c27b8c11b9"></a>

Para usar o atributo do Amazon ECS Exec, um cluster existente do Amazon ECS deve estar associado à sua Conta da AWS. O Amazon ECS Exec usa o Systems Manager para estabelecer uma conexão com os contêineres no cluster e exige permissões específicas de tarefa do perfil do IAM.

Você pode encontrar informações sobre a política e o perfil do IAM, específicas do Amazon ECS Exec, no guia do desenvolvedor das [permissões do IAM necessárias para o ECS Exec](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html#ecs-exec-enabling-and-using).

## Trabalhar com o Amazon ECS Exec
<a name="w7aac13c27b8c15"></a>

É possível habilitar ou desabilitar o Amazon ECS Exec diretamente do Explorador da AWS no AWS Toolkit for JetBrains. Ao habilitar o Amazon ECS Exec, você pode escolher contêineres no menu do Amazon ECS e executar comandos referentes a eles.

### Habilitar o Amazon ECS Exec
<a name="w7aac13c27b8c15b5"></a>

1. No Explorador da AWS, expanda o menu do Amazon ECS.

1. Expanda a seção **Clusters** e escolha o cluster que você deseja modificar.

1. Abra o menu de contexto (clique com o botão direito do mouse) do serviço que deseja modificar e escolha **Habilitar execução de comandos**.
**nota**  
Se o Amazon ECS Cloud Debugging estiver habilitado para esse serviço, a opção **Habilitar execução de comandos** não estará disponível. Desativar o Cloud Debugging restaurará a opção, mas interromperá e reiniciará seu serviço.

**Importante**  
Essa etapa inicia uma nova implantação do serviço e pode levar alguns minutos. Para obter mais informações, consulte a nota no início desta seção.

### Desabilitar o Amazon ECS Exec
<a name="w7aac13c27b8c15b7"></a>

1. No Explorador da AWS, expanda o menu do Amazon ECS.

1. Expanda a seção **Clusters** e escolha o cluster que você deseja modificar.

1. Abra o menu de contexto (clique com o botão direito do mouse) do serviço que deseja modificar e escolha **Desabilitar execução de comandos**.

**Importante**  
Essa etapa inicia uma nova implantação do serviço e pode levar alguns minutos. Para obter mais informações, consulte a nota no início desta seção.

### Executar comandos referentes a um contêiner
<a name="w7aac13c27b8c15b9"></a>

Para executar comandos referentes a um contêiner usando o AWS Explorer, o Amazon ECS Exec deve estar habilitado. Se não estiver habilitado, consulte o procedimento **Como habilitar o Amazon ECS Exec** nesta seção.

1. No Explorador da AWS, expanda o menu do Amazon ECS.

1. Expanda a seção **Clusters** e escolha o cluster que você deseja modificar.

1. Expanda um serviço para listar seus contêineres.

1. Abra o menu de contexto (clique com o botão direito do mouse) do contêiner que deseja modificar e escolha **Executar comando no contêiner**.

1. Na caixa de diálogo **Executar comando no contêiner**, escolha o **ARN da tarefa** que você deseja.

1. Você pode digitar o comando que deseja executar ou selecioná-lo em uma lista de comandos que foram executados durante a mesma sessão.

1. Selecione **Execute** (Executar)

### Como executar comandos de dentro de um shell
<a name="w7aac13c27b8c15c11"></a>

Para executar comandos referentes a um contêiner de dentro de um shell usando o Explorador da AWS, o Amazon ECS Exec deve estar habilitado. Se não estiver habilitado, consulte o procedimento **Como habilitar o Amazon ECS Exec** nesta seção.

1. No Explorador da AWS, expanda o menu do Amazon ECS.

1. Expanda a seção **Clusters** e escolha o cluster que você deseja modificar.

1. Expanda o serviço para listar seus contêineres.

1. Abra o menu de contexto (clique com o botão direito do mouse) do contêiner que deseja modificar e escolha **Abrir o shell interativo**.

1. Na caixa de diálogo **Shell interativo**, escolha o **ARN da tarefa** que você deseja.

1. Escolha um shell no menu suspenso correspondente ou insira o nome do shell com o qual você deseja interagir.

1. Quando estiver satisfeito com as configurações, escolha **Executar**.

1. Quando o shell é aberto em um terminal, você pode inserir comandos para interagir com o contêiner.