Skip to main content

Simple script to allow one to execute commands on AWS ECS Fargate once ECS exec has been correctly configured.

Project description

ecs-exec

pip installable bin to allow user to exec commands inside containers running on AWS ECS Fargate that relies on terraformed infrastructure.

Motivation

  • Run commands inside containers defined by terraform on AWS ECS Fargate.

Installation

$ pip install ecs-exec

Usage

At minimum a terraform module which will output the following:

output "cluster_id" {
  value = "${var.cluster_id}"
}

output "main_task_arn" {
  value = "${var.main_task_arn}"
}

cluster_id is used to identify the ECS cluster, and main_task_arn is used to identify the main task in the ECS cluster. This also assumes that you have configured the following to allow ECS exec:

  • ECS cluster
  • ECS task
  • AWS user

Once you have applied the terraform configuration, pull the output into json:

$ terraform output -json custom_ecs_service > custom_ecs_service.json

Now you can run your command inside a specific container

AWS_PROFILE=staging ecs-exec --file custom_ecs_service.json --container php-fpm --command bash

If you do not know the container name upfront then not supplying the container will print out valid container names.

Output

Output will look something like:

AWS_PROFILE=staging ecs-exec --file custom_ecs_service.json --container php-fpm --command "date +%F"

The Session Manager plugin was installed successfully. Use the AWS CLI to start a session.


Starting session with SessionId: ecs-execute-command-qNq9bIy0uTrZlriS
This session is encrypted using AWS KMS.
2021-06-25


Exiting session with sessionId: ecs-execute-command-qNq9bIy0uTrZlriS.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ecs-exec-0.0.4.tar.gz (7.6 kB view hashes)

Uploaded Source

Built Distribution

ecs_exec-0.0.4-py3-none-any.whl (8.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page