How can I use launch templates to automatically install the CodeDeploy agent on an Amazon EC2 instance running Amazon Linux or Ubuntu?
How do I automatically install the AWS CodeDeploy agent on an Amazon Elastic Compute Cloud (Amazon EC2) instance running Linux or Ubuntu?
"How do I automatically install the AWS CodeDeploy agent on an Amazon Elastic Compute Cloud (Amazon EC2) instance running Linux or Ubuntu?ResolutionWhen you create a launch template, you can use the User data field to add a configuration script that runs when the instance starts. This shell script installs the CodeDeploy agent for all AWS Regions and supported Amazon Linux and Ubuntu distributions.Note: You can configure CodeDeploy to auto update on boot by setting the AUTOUPDATE variable to true.For example, you can add the following configuration script in the Amazon EC2 User data field:Important: The following script works only in EC2 for Linux. In Windows environments, the script fails.#!/bin/bash -xe## Code Deploy Agent Bootstrap Script##exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1AUTOUPDATE=falsefunction installdep(){if [ ${PLAT} = "ubuntu" ]; then  apt-get -y update  # Satisfying even ubuntu older versions.  apt-get -y install jq awscli ruby2.0 || apt-get -y install jq awscli rubyelif [ ${PLAT} = "amz" ]; then  yum -y update  yum install -y aws-cli ruby jqfi}function platformize(){#Linux OS detection# if hash lsb_release; then   echo "Ubuntu server OS detected"   export PLAT="ubuntu"elif hash yum; then  echo "Amazon Linux detected"  export PLAT="amz" else   echo "Unsupported release"   exit 1 fi}function execute(){if [ ${PLAT} = "ubuntu" ]; then  cd /tmp/  wget https://aws-codedeploy-${REGION}.s3.amazonaws.com/latest/install  chmod +x ./install  if ./install auto; then    echo "Installation completed"      if ! ${AUTOUPDATE}; then            echo "Disabling Auto Update"            sed -i '/@reboot/d' /etc/cron.d/codedeploy-agent-update            chattr +i /etc/cron.d/codedeploy-agent-update            rm -f /tmp/install      fi    exit 0  else    echo "Installation script failed, please investigate"    rm -f /tmp/install    exit 1  fielif [ ${PLAT} = "amz" ]; then  cd /tmp/  wget https://aws-codedeploy-${REGION}.s3.amazonaws.com/latest/install  chmod +x ./install    if ./install auto; then      echo "Installation completed"        if ! ${AUTOUPDATE}; then            echo "Disabling auto update"            sed -i '/@reboot/d' /etc/cron.d/codedeploy-agent-update            chattr +i /etc/cron.d/codedeploy-agent-update            rm -f /tmp/install        fi      exit 0    else      echo "Installation script failed, please investigate"      rm -f /tmp/install      exit 1    fielse  echo "Unsupported platform ''${PLAT}''"fi}platformizeinstalldepREGION=$(curl -s 169.254.169.254/latest/dynamic/instance-identity/document | jq -r ".region")executeRelated informationCreate a launch template for an Auto Scaling groupFollow"