An RPM package that installs and manages the Amazon ECS Container Agent on Upstart-based RPM systems.
amazon-ecs-init is an RPM package that provides an Upstart service for RPM-based Linux systems to manage the Amazon ECS Container Agent. It ensures the agent starts automatically at system boot, handles logging and configuration, and provides network security controls. It solves the problem of reliably deploying and integrating the ECS Agent with Amazon Elastic Container Service on compatible distributions.
System administrators and DevOps engineers deploying and managing Amazon ECS container instances on RPM-based Linux systems like Amazon Linux. It is specifically for those who need to run the ECS Agent as a system service.
Developers choose this because it is the official, lightweight package from AWS that guarantees correct integration and management of the ECS Agent, including features like automatic startup, centralized logging, security controls via iptables, and a rollback procedure for failed updates.
ecs-init is now part of the amazon-ecs-agent repo https://github.com/aws/amazon-ecs-agent/tree/master/ecs-init
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Ensures the ECS Agent starts at system boot by running at runlevels 3, 4, or 5 and cleans up previous copies, reducing manual management as described in the README.
Provides separate log files at `/var/log/ecs/ecs-init.log` and `/var/log/ecs/ecs-agent.log`, making debugging and monitoring straightforward per the documentation.
Includes configurable iptable rules for localhost traffic filtering and off-host introspection access blocking, with environment variables like `ECS_SKIP_LOCALHOST_TRAFFIC_FILTER` allowing customization.
Offers a procedure to roll back failed ECS Agent updates by stopping the service, reloading the cache, and restarting, ensuring reliability as outlined in the README.
Relies on Upstart, which is largely superseded by systemd in modern Linux distributions, limiting compatibility and future adoption on newer systems.
Requires setting environment variables in different files (e.g., `/etc/init/ecs.conf` for Amazon Linux 1 vs `/etc/ecs/ecs.config` for Amazon Linux 2), adding unnecessary complexity and potential for errors.
Tightly integrated with Amazon ECS, providing no utility for other container services or hybrid cloud setups, which restricts flexibility in multi-cloud environments.