jritsema/ecs-express-power
Overview
This skill helps you build, deploy, and manage a web app or API on AWS using Amazon ECS Express Mode. It converts your project into a container image, deploys it as an Express Mode service that returns an HTTPS endpoint, and assists with troubleshooting and updates. The workflow covers local testing, ECR image management, IAM role setup, and service lifecycle operations.
How this skill works
The skill scans the project to identify service name, listen port, health-check path, and required environment variables, then presents these values for confirmation. It can generate a docker-compose file for local testing, build a linux/amd64 image, push it to ECR (or use an existing image), and call the ECS Express Mode APIs to create, update, or delete the service. It also guides IAM role creation, monitors deployment rollout, and provides troubleshooting steps for health checks and ALB registration.
When to use it
- You want a quick HTTPS endpoint for a containerized web app or API without managing full ECS clusters.
- You need guided build + push to ECR with a reproducible image tag based on datetime.
- You want to test the container locally with docker-compose before cloud deployment.
- You need help creating the required IAM roles and using Express Mode APIs only.
- You want step-by-step assistance for updates, blue/green behavior, or cleanup actions.
Best practices
- Confirm detected inputs (service name, port, health path, env vars) before deploying.
- Build images for linux/amd64 and tag uniquely using the current datetime.
- Use a docker-compose file to catch runtime issues locally and to source environment variables.
- Create or reuse an ECR repo named after the service; push the built image before create-express-gateway-service.
- Use only the Express Mode APIs for create/update/delete operations; do not use standard ECS update-service for Express Mode.
- Monitor rollout until COMPLETED and allow extra time for ALB target registration before testing the endpoint.
Example use cases
- Deploy a Node.js API: detect PORT and /health, build image, push to ECR, create an Express Mode service and get an HTTPS endpoint.
- Deploy a static frontend container: generate docker-compose for local testing and then create an Express Mode service.
- Migrate an internal API: create required IAM roles, set CPU/memory and scaling targets, and deploy with environment variables.
- Update a live service: rebuild and push a new image tag, then run update-express-gateway-service and monitor the blue/green rollout.
- Tear down a test deployment: delete the Express Mode service and optionally remove the ECR repository.
FAQ
Yes. You must provide AWS credentials or an AWS CLI profile so the skill can call ECS, ECR, and IAM APIs. I can prompt for credentials if needed.
Can I test locally before deploying?
Yes. I can generate a compose.yml that maps the detected port and env vars so you can run the container locally with Docker Compose before pushing to ECR.
What image architecture is supported?
ECS Express Mode supports linux/amd64 images only, so build the container for that architecture.