Skip to content

lescanoJP/ecs-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLI ECS AWS

Um CLI interativo para gerenciar containers em clusters ECS da AWS.

Funcionalidades

  • 🔍 Listar clusters ECS disponíveis
  • 📋 Listar containers em execução em um cluster
  • 🖥️ Conectar interativamente a containers
  • 📄 Visualizar logs em tempo real (follow)
  • 📋 Ver logs recentes de containers
  • 🎯 Modo totalmente interativo para escolher cluster, container e ação

Pré-requisitos

  1. AWS CLI configurado: Certifique-se de ter o AWS CLI instalado e configurado

    aws configure
  2. Python 3.7+ instalado

  3. Permissões AWS necessárias:

    • ecs:ListClusters
    • ecs:DescribeClusters
    • ecs:ListTasks
    • ecs:DescribeTasks
    • ecs:DescribeTaskDefinition
    • ecs:ExecuteCommand

Instalação

Instalação Global (Recomendada)

  1. Clone ou baixe os arquivos
  2. Instale globalmente usando pip:
    pip install .

Após a instalação, você poderá usar o comando ecs-cli de qualquer lugar no terminal.

Instalação Local (Desenvolvimento)

  1. Clone ou baixe os arquivos

  2. Instale as dependências:

    pip install -r requirements.txt
  3. Use diretamente:

    python ecs_cli.py

Uso

Comandos disponíveis

Modo interativo completo (recomendado)

ecs-cli interactive

Este comando permite escolher o cluster, container e ação de forma interativa.

Listar clusters

ecs-cli clusters

Listar containers em um cluster específico

ecs-cli containers NOME_DO_CLUSTER

Conectar a um container específico

ecs-cli connect NOME_DO_CLUSTER

Ver logs em tempo real de um container

ecs-cli logs NOME_DO_CLUSTER

Ver logs com período específico

ecs-cli logs NOME_DO_CLUSTER --since 1h    # Última hora
ecs-cli logs NOME_DO_CLUSTER --since 30m   # Últimos 30 minutos
ecs-cli logs NOME_DO_CLUSTER --since 1d    # Último dia

Ver logs recentes de um container

ecs-cli recent-logs NOME_DO_CLUSTER

Opções globais

  • --profile PERFIL: Usar um perfil AWS específico
  • --region REGIAO: Especificar região AWS (padrão: us-east-1)

Exemplos

# Usar perfil AWS específico
ecs-cli --profile producao interactive

# Usar região específica
ecs-cli --region us-west-2 clusters

# Conectar com comando personalizado
ecs-cli connect meu-cluster --command "/bin/sh"

# Ver logs com número específico de linhas
ecs-cli recent-logs meu-cluster --lines 50

# Ver logs em tempo real dos últimos 30 minutos
ecs-cli logs meu-cluster --since 30m

Requisitos do ECS Exec

Para que a conexão interativa funcione, certifique-se de que:

  1. ECS Exec está habilitado na definição da task
  2. Task role tem permissões adequadas
  3. SSM Agent está rodando no container

Habilitando ECS Exec em uma task

aws ecs update-service \
    --cluster meu-cluster \
    --service meu-servico \
    --enable-execute-command

Troubleshooting

Erro de conexão AWS

  • Verifique se o AWS CLI está configurado: aws sts get-caller-identity
  • Confirme as credenciais e permissões

ECS Exec não funciona

  • Verifique se enableExecuteCommand está habilitado na task
  • Confirme se o SSM Agent está rodando no container
  • Verifique permissões IAM da task role

Container não aparece na lista

  • Confirme se o container está com status RUNNING
  • Verifique se está no cluster correto

Contribuindo

Sinta-se à vontade para abrir issues ou pull requests para melhorias!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published