Extend an ECS cluster instance with Consul and other goodies.
The use of this container is to run consul and some other goodies on an AWS ECS optimized AMI. Your autoscaling group should use this user-data for proper operation.
#!/bin/bash -x
echo "EFS=efs.region.amazonaws.com" > /etc/sysconfig/efs
cat >> /etc/rc.local <<EOF
docker pull homecu/ecsextender
docker run \
--net host \\
--privileged \\
-v /var/run/docker.sock:/var/run/docker.sock \\
-v /:/hostroot \\
homecu/ecsextender
if [ \$? -eq 3 ] ; then
reboot
fi
EOF
Some options can be enabled or customized with environment variables placed in the above instance user-data. For example...
#!/bin/bash -x
cat >> /etc/rc.local <<EOF
docker pull homecu/ecsextender
docker run --net host \\
-v /var/run/docker.sock:/var/run/docker.sock \\
-v /:/hostroot \\
--privileged \\
-e OPTIONAL_ENV_ARG=somevalue \\
homecu/ecsextender
if [ \$? -eq 3 ] ; then
reboot
fi
EOF
- ELASTICSEARCH_URL - Centralize logging to an elasticsearch service.
Example value:
http://search-foo-bar.us-west-2.es.amazonaws.com
- ELASTICSEARCH_GELF_INDEX - Elasticsearch index for gelf logging. Eg. logging
- ELASTICSEARCH_GELF_TYPE - Elasticsearch type column for gelf logging. Eg. docker
- ELASTICSEARCH_TCPJSON_INDEX - Elasticsearch index for tcpjson logging. Eg. statistics
- ELASTICSEARCH_TCPJSON_TYPE - Elasticsearch type column for tcpjson logging. Eg. docker