{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "autoScalingGroup": { "Type": "AWS::AutoScaling::AutoScalingGroup", "Properties": { "HealthCheckGracePeriod": 900, "HealthCheckType": "ELB", "LaunchConfigurationName": { "Ref": "launchConfiguration" }, "LoadBalancerNames": [ { "Ref": "elasticLoadBalancer" } ], "MaxSize": 3, "MinSize": 2, "Tags": [ { "Key": "Name", "PropagateAtLaunch": true, "Value": { "Ref": "AWS::StackName" } } ], "TerminationPolicies": [ "OldestInstance" ], "VPCZoneIdentifier": [ "subnet-53b3596e", "subnet-13e6b44a" ] }, "CreationPolicy": { "ResourceSignal": { "Count": 2, "Timeout": "PT15M" } }, "UpdatePolicy": { "AutoScalingRollingUpdate": { "MaxBatchSize": 1, "MinInstancesInService": 1, "PauseTime": "PT15M", "WaitOnResourceSignals": true } } }, "elasticLoadBalancer": { "Type": "AWS::ElasticLoadBalancing::LoadBalancer", "Properties": { "ConnectionDrainingPolicy": { "Enabled": true, "Timeout": 60 }, "CrossZone": true, "HealthCheck": { "HealthyThreshold": 3, "Interval": 10, "Target": "http:80/", "Timeout": 2, "UnhealthyThreshold": 5 }, "Listeners": [ { "InstancePort": 80, "LoadBalancerPort": 80, "Protocol": "HTTP" } ], "SecurityGroups": [ { "Ref": "securityGroup" } ], "Subnets": [ "subnet-53b3596e", "subnet-13e6b44a" ] } }, "launchConfiguration": { "Type": "AWS::AutoScaling::LaunchConfiguration", "Properties": { "ImageId": "ami-0d4cfd66", "InstanceType": "t2.micro", "SecurityGroups": [ { "Ref": "securityGroup" } ], "UserData": { "Fn::Base64": { "Fn::Join": [ "\n", [ "#!/bin/bash", "exec > >(tee /tmp/user-data.log | logger -t user-data -s 2>/dev/console) 2>&1", "set -ex", "yum update -y", "yum install -y docker", "service docker start", "docker run -d -p 80:80 tutum/hello-world", "/opt/aws/bin/cfn-signal --resource autoScalingGroup -e $? --stack \\", { "Ref": "AWS::StackName" } ] ] } } } }, "securityGroup": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "GroupDescription": "Generated by cirrus.", "SecurityGroupIngress": [ { "CidrIp": "0.0.0.0/0", "FromPort": 80, "IpProtocol": "tcp", "ToPort": 80 } ], "VpcId": "vpc-183bcd7c" } } } }