Last active
March 7, 2018 02:18
-
-
Save zobarov/98fa22b044ae03b2e66618b7affd2f87 to your computer and use it in GitHub Desktop.
CloudFormation template to create 3 Ubuntu + Tomcat instances under LB in eu-west-1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"AWSTemplateFormatVersion" : "2010-09-09", | |
"Description" : "Template to create Tomcat servers in autoscaling group", | |
"Parameters" : { | |
"KeyName": { | |
"Description" : "Name of an existing EC2 KeyPair to enable SSH access to the instance", | |
"Type": "AWS::EC2::KeyPair::KeyName", | |
"ConstraintDescription" : "must be the name of an existing EC2 KeyPair." | |
}, | |
"InstanceType" : { | |
"Description" : "EC2 Instance types in QA", | |
"Type" : "String", | |
"Default" : "t2.micro", | |
"AllowedValues" : [ "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "g2.2xlarge", "g2.8xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "hi1.4xlarge", "hs1.8xlarge", "cr1.8xlarge", "cc2.8xlarge", "cg1.4xlarge"], | |
"ConstraintDescription" : "must be a valid EC2 instance type." | |
}, | |
"SSHLocation" : { | |
"Description" : "The IP address range that can be used to SSH to the EC2 instances", | |
"Type": "String", | |
"MinLength": "9", | |
"MaxLength": "18", | |
"Default": "0.0.0.0/0", | |
"AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})", | |
"ConstraintDescription": "must be a valid IP CIDR range of the form x.x.x.x/x." | |
} | |
}, | |
"Mappings" : { | |
"AWSInstanceType2Arch" : { | |
"t1.micro" : { "Arch" : "PV64" }, | |
"t2.nano" : { "Arch" : "HVM64" }, | |
"t2.micro" : { "Arch" : "HVM64" }, | |
"t2.small" : { "Arch" : "HVM64" }, | |
"t2.medium" : { "Arch" : "HVM64" }, | |
"t2.large" : { "Arch" : "HVM64" }, | |
"m1.small" : { "Arch" : "PV64" }, | |
"m1.medium" : { "Arch" : "PV64" }, | |
"m1.large" : { "Arch" : "PV64" }, | |
"m1.xlarge" : { "Arch" : "PV64" }, | |
"m2.xlarge" : { "Arch" : "PV64" }, | |
"m2.2xlarge" : { "Arch" : "PV64" }, | |
"m2.4xlarge" : { "Arch" : "PV64" }, | |
"m3.medium" : { "Arch" : "HVM64" }, | |
"m3.large" : { "Arch" : "HVM64" }, | |
"m3.xlarge" : { "Arch" : "HVM64" }, | |
"m3.2xlarge" : { "Arch" : "HVM64" }, | |
"m4.large" : { "Arch" : "HVM64" }, | |
"m4.xlarge" : { "Arch" : "HVM64" }, | |
"m4.2xlarge" : { "Arch" : "HVM64" }, | |
"m4.4xlarge" : { "Arch" : "HVM64" }, | |
"m4.10xlarge" : { "Arch" : "HVM64" }, | |
"c1.medium" : { "Arch" : "PV64" }, | |
"c1.xlarge" : { "Arch" : "PV64" }, | |
"c3.large" : { "Arch" : "HVM64" }, | |
"c3.xlarge" : { "Arch" : "HVM64" }, | |
"c3.2xlarge" : { "Arch" : "HVM64" }, | |
"c3.4xlarge" : { "Arch" : "HVM64" }, | |
"c3.8xlarge" : { "Arch" : "HVM64" }, | |
"c4.large" : { "Arch" : "HVM64" }, | |
"c4.xlarge" : { "Arch" : "HVM64" }, | |
"c4.2xlarge" : { "Arch" : "HVM64" }, | |
"c4.4xlarge" : { "Arch" : "HVM64" }, | |
"c4.8xlarge" : { "Arch" : "HVM64" }, | |
"g2.2xlarge" : { "Arch" : "HVMG2" }, | |
"g2.8xlarge" : { "Arch" : "HVMG2" }, | |
"r3.large" : { "Arch" : "HVM64" }, | |
"r3.xlarge" : { "Arch" : "HVM64" }, | |
"r3.2xlarge" : { "Arch" : "HVM64" }, | |
"r3.4xlarge" : { "Arch" : "HVM64" }, | |
"r3.8xlarge" : { "Arch" : "HVM64" }, | |
"i2.xlarge" : { "Arch" : "HVM64" }, | |
"i2.2xlarge" : { "Arch" : "HVM64" }, | |
"i2.4xlarge" : { "Arch" : "HVM64" }, | |
"i2.8xlarge" : { "Arch" : "HVM64" }, | |
"d2.xlarge" : { "Arch" : "HVM64" }, | |
"d2.2xlarge" : { "Arch" : "HVM64" }, | |
"d2.4xlarge" : { "Arch" : "HVM64" }, | |
"d2.8xlarge" : { "Arch" : "HVM64" }, | |
"hi1.4xlarge" : { "Arch" : "HVM64" }, | |
"hs1.8xlarge" : { "Arch" : "HVM64" }, | |
"cr1.8xlarge" : { "Arch" : "HVM64" }, | |
"cc2.8xlarge" : { "Arch" : "HVM64" } | |
}, | |
"AWSInstanceType2NATArch" : { | |
"t1.micro" : { "Arch" : "NATPV64" }, | |
"t2.nano" : { "Arch" : "NATHVM64" }, | |
"t2.micro" : { "Arch" : "NATHVM64" }, | |
"t2.small" : { "Arch" : "NATHVM64" }, | |
"t2.medium" : { "Arch" : "NATHVM64" }, | |
"t2.large" : { "Arch" : "NATHVM64" }, | |
"m1.small" : { "Arch" : "NATPV64" }, | |
"m1.medium" : { "Arch" : "NATPV64" }, | |
"m1.large" : { "Arch" : "NATPV64" }, | |
"m1.xlarge" : { "Arch" : "NATPV64" }, | |
"m2.xlarge" : { "Arch" : "NATPV64" }, | |
"m2.2xlarge" : { "Arch" : "NATPV64" }, | |
"m2.4xlarge" : { "Arch" : "NATPV64" }, | |
"m3.medium" : { "Arch" : "NATHVM64" }, | |
"m3.large" : { "Arch" : "NATHVM64" }, | |
"m3.xlarge" : { "Arch" : "NATHVM64" }, | |
"m3.2xlarge" : { "Arch" : "NATHVM64" }, | |
"m4.large" : { "Arch" : "NATHVM64" }, | |
"m4.xlarge" : { "Arch" : "NATHVM64" }, | |
"m4.2xlarge" : { "Arch" : "NATHVM64" }, | |
"m4.4xlarge" : { "Arch" : "NATHVM64" }, | |
"m4.10xlarge" : { "Arch" : "NATHVM64" }, | |
"c1.medium" : { "Arch" : "NATPV64" }, | |
"c1.xlarge" : { "Arch" : "NATPV64" }, | |
"c3.large" : { "Arch" : "NATHVM64" }, | |
"c3.xlarge" : { "Arch" : "NATHVM64" }, | |
"c3.2xlarge" : { "Arch" : "NATHVM64" }, | |
"c3.4xlarge" : { "Arch" : "NATHVM64" }, | |
"c3.8xlarge" : { "Arch" : "NATHVM64" }, | |
"c4.large" : { "Arch" : "NATHVM64" }, | |
"c4.xlarge" : { "Arch" : "NATHVM64" }, | |
"c4.2xlarge" : { "Arch" : "NATHVM64" }, | |
"c4.4xlarge" : { "Arch" : "NATHVM64" }, | |
"c4.8xlarge" : { "Arch" : "NATHVM64" }, | |
"g2.2xlarge" : { "Arch" : "NATHVMG2" }, | |
"g2.8xlarge" : { "Arch" : "NATHVMG2" }, | |
"r3.large" : { "Arch" : "NATHVM64" }, | |
"r3.xlarge" : { "Arch" : "NATHVM64" }, | |
"r3.2xlarge" : { "Arch" : "NATHVM64" }, | |
"r3.4xlarge" : { "Arch" : "NATHVM64" }, | |
"r3.8xlarge" : { "Arch" : "NATHVM64" }, | |
"i2.xlarge" : { "Arch" : "NATHVM64" }, | |
"i2.2xlarge" : { "Arch" : "NATHVM64" }, | |
"i2.4xlarge" : { "Arch" : "NATHVM64" }, | |
"i2.8xlarge" : { "Arch" : "NATHVM64" }, | |
"d2.xlarge" : { "Arch" : "NATHVM64" }, | |
"d2.2xlarge" : { "Arch" : "NATHVM64" }, | |
"d2.4xlarge" : { "Arch" : "NATHVM64" }, | |
"d2.8xlarge" : { "Arch" : "NATHVM64" }, | |
"hi1.4xlarge" : { "Arch" : "NATHVM64" }, | |
"hs1.8xlarge" : { "Arch" : "NATHVM64" }, | |
"cr1.8xlarge" : { "Arch" : "NATHVM64" }, | |
"cc2.8xlarge" : { "Arch" : "NATHVM64" } | |
}, | |
"AWSRegionArch2AMI" : { | |
"eu-west-1" : { "HVM64" : "ami-335f3e4a"} | |
} | |
}, | |
"Resources" : { | |
"CodeDeployVPC" : { | |
"Metadata" : { | |
"Comment1" : "//------------------------------Networking Resources---------------------------------" | |
}, | |
"Type" : "AWS::EC2::VPC", | |
"Properties" : { | |
"CidrBlock" : "172.31.0.0/24", | |
"EnableDnsSupport" : "true", | |
"EnableDnsHostnames" : "true", | |
"Tags" : [ {"Key" : "Environment", "Value" : { "Ref" : "AWS::StackId"} }, | |
{"Key":"Name", "Value" : { "Fn::Join" : ["", [{ "Ref" : "AWS::StackName" }, "_VPC"]]}} | |
] | |
} | |
}, | |
"CodeDeployPublicSubnet" : { | |
"Type" : "AWS::EC2::Subnet", | |
"Properties" : { | |
"VpcId" : { "Ref" : "CodeDeployVPC" }, | |
"AvailabilityZone" : {"Fn::Select" : [ "0", { "Fn::GetAZs" : "" } ]}, | |
"CidrBlock" : "172.31.0.0/26", | |
"Tags" : [ {"Key" : "Environment", "Value" : { "Ref" : "AWS::StackName"} }, | |
{"Key":"Name", "Value" : { "Fn::Join" : ["", [{ "Ref" : "AWS::StackName" }, "_CodeDeployPublicSubnet"]]}} | |
] | |
} | |
}, | |
"InternetGateway" : { | |
"Type" : "AWS::EC2::InternetGateway", | |
"Properties" : { | |
"Tags" : [ {"Key" : "Environment", "Value" : { "Ref" : "AWS::StackName"} }, | |
{"Key":"Name", "Value" : { "Fn::Join" : ["", [{ "Ref" : "AWS::StackName" }, "_InternetGateway"]]}} | |
] | |
} | |
}, | |
"AttachGateway" : { | |
"Type" : "AWS::EC2::VPCGatewayAttachment", | |
"Properties" : { | |
"VpcId" : { "Ref" : "CodeDeployVPC" }, | |
"InternetGatewayId" : { "Ref" : "InternetGateway" } | |
} | |
}, | |
"PublicRouteTable" : { | |
"Type" : "AWS::EC2::RouteTable", | |
"Properties" : { | |
"VpcId" : {"Ref" : "CodeDeployVPC"}, | |
"Tags" : [ {"Key" : "Environment", "Value" : { "Ref" : "AWS::StackName"} }, | |
{"Key":"Name", "Value" : { "Fn::Join" : ["", [{ "Ref" : "AWS::StackName" }, "_PublicRouteTable"]]}} | |
] | |
} | |
}, | |
"PublicRoute" : { | |
"Type" : "AWS::EC2::Route", | |
"DependsOn" : "AttachGateway", | |
"Properties" : { | |
"RouteTableId" : { "Ref" : "PublicRouteTable" }, | |
"DestinationCidrBlock" : "0.0.0.0/0", | |
"GatewayId" : { "Ref" : "InternetGateway" } | |
} | |
}, | |
"PublicSubnetRouteTableAssociation" : { | |
"Type" : "AWS::EC2::SubnetRouteTableAssociation", | |
"Properties" : { | |
"SubnetId" : { "Ref" : "CodeDeployPublicSubnet" }, | |
"RouteTableId" : { "Ref" : "PublicRouteTable" } | |
} | |
}, | |
"PublicNetworkAcl" : { | |
"Type" : "AWS::EC2::NetworkAcl", | |
"Properties" : { | |
"VpcId" : {"Ref" : "CodeDeployVPC"}, | |
"Tags" : [ {"Key" : "Environment", "Value" : { "Ref" : "AWS::StackName"} }, | |
{"Key":"Name", "Value" : { "Fn::Join" : ["", [{ "Ref" : "AWS::StackName" }, "_PublicNACL"]]}} | |
] | |
} | |
}, | |
"InboundSSHPublicNetworkAclEntry" : { | |
"Type" : "AWS::EC2::NetworkAclEntry", | |
"Properties" : { | |
"NetworkAclId" : {"Ref" : "PublicNetworkAcl"}, | |
"RuleNumber" : "100", | |
"Protocol" : "6", | |
"RuleAction" : "allow", | |
"Egress" : "false", | |
"CidrBlock" : "0.0.0.0/0", | |
"PortRange" : {"From" : "22", "To" : "22"} | |
} | |
}, | |
"InboundHTTPS" : { | |
"Type" : "AWS::EC2::NetworkAclEntry", | |
"Properties" : { | |
"NetworkAclId" : {"Ref" : "PublicNetworkAcl"}, | |
"RuleNumber" : "200", | |
"Protocol" : "6", | |
"RuleAction" : "allow", | |
"Egress" : "false", | |
"CidrBlock" : "0.0.0.0/0", | |
"PortRange" : {"From" : "443", "To" : "443"} | |
} | |
}, | |
"InboundHTTP" : { | |
"Type" : "AWS::EC2::NetworkAclEntry", | |
"Properties" : { | |
"NetworkAclId" : {"Ref" : "PublicNetworkAcl"}, | |
"RuleNumber" : "300", | |
"Protocol" : "6", | |
"RuleAction" : "allow", | |
"Egress" : "false", | |
"CidrBlock" : "0.0.0.0/0", | |
"PortRange" : {"From" : "80", "To" : "80"} | |
} | |
}, | |
"InboundEphemeral" : { | |
"Type" : "AWS::EC2::NetworkAclEntry", | |
"Properties" : { | |
"NetworkAclId" : {"Ref" : "PublicNetworkAcl"}, | |
"RuleNumber" : "400", | |
"Protocol" : "6", | |
"RuleAction" : "allow", | |
"Egress" : "false", | |
"CidrBlock" : "0.0.0.0/0", | |
"PortRange" : {"From" : "32768", "To" : "61000"} | |
} | |
}, | |
"InboundICMP" : { | |
"Type" : "AWS::EC2::NetworkAclEntry", | |
"Properties" : { | |
"NetworkAclId" : {"Ref" : "PublicNetworkAcl"}, | |
"RuleNumber" : "500", | |
"Protocol" : "1", | |
"Icmp" : {"Code" : -1,"Type" : -1}, | |
"RuleAction" : "allow", | |
"Egress" : "false", | |
"CidrBlock" : "0.0.0.0/0" | |
} | |
}, | |
"OutBound" : { | |
"Type" : "AWS::EC2::NetworkAclEntry", | |
"Properties" : { | |
"NetworkAclId" : {"Ref" : "PublicNetworkAcl"}, | |
"RuleNumber" : "100", | |
"Protocol" : "6", | |
"RuleAction" : "allow", | |
"Egress" : "true", | |
"CidrBlock" : "0.0.0.0/0", | |
"PortRange" : {"From" : "0", "To" : "65535"} | |
} | |
}, | |
"OutBoundICMP" : { | |
"Type" : "AWS::EC2::NetworkAclEntry", | |
"Properties" : { | |
"NetworkAclId" : {"Ref" : "PublicNetworkAcl"}, | |
"RuleNumber" : "200", | |
"Protocol" : "1", | |
"Icmp" : {"Code" : -1,"Type" : -1}, | |
"RuleAction" : "allow", | |
"Egress" : "true", | |
"CidrBlock" : "0.0.0.0/0" | |
} | |
}, | |
"PublicSubnetNetworkAclAssociation" : { | |
"Type" : "AWS::EC2::SubnetNetworkAclAssociation", | |
"Properties" : { | |
"SubnetId" : { "Ref" : "CodeDeployPublicSubnet" }, | |
"NetworkAclId" : { "Ref" : "PublicNetworkAcl" } | |
} | |
}, | |
"CodeDeployRole" : { | |
"Metadata" : { | |
"Comment1" : "//------------------------------IAM Roles---------------------------------" | |
}, | |
"Type" : "AWS::IAM::Role", | |
"Properties" : { | |
"AssumeRolePolicyDocument" : { | |
"Statement" : [ { | |
"Effect" : "Allow", | |
"Principal" : { | |
"Service" : [ "codedeploy.amazonaws.com" ] | |
}, | |
"Action" : [ "sts:AssumeRole" ] | |
} ] | |
}, | |
"ManagedPolicyArns" : ["arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole"], | |
"Path" : "/service-role/" | |
} | |
}, | |
"EC2Role" : { | |
"Type" : "AWS::IAM::Role", | |
"Properties" : { | |
"AssumeRolePolicyDocument" : { | |
"Statement" : [ { | |
"Effect" : "Allow", | |
"Principal" : { | |
"Service" : [ "ec2.amazonaws.com" ] | |
}, | |
"Action" : [ "sts:AssumeRole" ] | |
} ] | |
}, | |
"Path" : "/service-role/" | |
} | |
}, | |
"EC2RolePolicy" : { | |
"Type" : "AWS::IAM::Policy", | |
"Properties" : { | |
"PolicyName" : "DCFDev_FlowLogsPolicy", | |
"PolicyDocument" : { | |
"Version": "2012-10-17", | |
"Statement": [ | |
{ | |
"Sid": "", | |
"Effect": "Allow", | |
"Action": [ | |
"cloudformation:*", | |
"codedeploy:*", | |
"s3:Get*", | |
"s3:List*", | |
"ec2:*", | |
"iam:AddRoleToInstanceProfile", | |
"iam:CreateInstanceProfile", | |
"iam:CreateRole", | |
"iam:DeleteInstanceProfile", | |
"iam:DeleteRole", | |
"iam:DeleteRolePolicy", | |
"iam:GetRole", | |
"iam:PassRole", | |
"iam:PutRolePolicy", | |
"iam:RemoveRoleFromInstanceProfile" | |
], | |
"Resource": ["*"] | |
} | |
] | |
}, | |
"Roles" : [ { "Ref" : "EC2Role" } ] | |
} | |
}, | |
"EC2InstanceProfile" : { | |
"Type" : "AWS::IAM::InstanceProfile", | |
"Properties" : { | |
"Path" : "/", | |
"Roles" : [ { "Ref" : "EC2Role" } ] | |
} | |
}, | |
"WebServerGroup" : { | |
"Metadata" : { | |
"Comment1" : "//------------------------------Auto Scaling Resources---------------------------------" | |
}, | |
"Type" : "AWS::AutoScaling::AutoScalingGroup", | |
"Properties" : { | |
"AvailabilityZones" : { "Fn::GetAZs" : ""}, | |
"LaunchConfigurationName" : { "Ref" : "LaunchConfig" }, | |
"MinSize" : "3", | |
"MaxSize" : "6", | |
"LoadBalancerNames" : [ { "Ref" : "ElasticLoadBalancer" } ], | |
"Tags" : [ { | |
"Key" : "Name", | |
"Value" : { "Fn::Join" : ["", [{ "Ref" : "AWS::StackName" }, "_WebServer"]]}, | |
"PropagateAtLaunch" : "true" | |
} ] | |
} | |
}, | |
"LaunchConfig" : { | |
"Type" : "AWS::AutoScaling::LaunchConfiguration", | |
"Properties" : { | |
"KeyName" : { "Ref" : "KeyName" }, | |
"IamInstanceProfile" : { "Ref" : "EC2InstanceProfile" }, | |
"ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" }, | |
{ "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ] }, | |
"SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ], | |
"InstanceType" : { "Ref" : "InstanceType" }, | |
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [ | |
"#!/bin/bash -xe\n", | |
"/opt/bitnami/ctlscript.sh start","\n", | |
"sudo apt-get update -y","\n", | |
"sudo apt-get install python-pip -y","\n", | |
"sudo apt-get install ruby -y","\n", | |
"sudo apt-get install wget -y","\n", | |
"wget https://aws-codedeploy-eu-west-1.s3.amazonaws.com/latest/install","\n", | |
"apt-add-repository ppa:brightbox/ruby-ng -y","\n", | |
"apt-get update","\n", | |
"apt-get install ruby2.2 ruby2.2-dev -y","\n", | |
"chmod +x ./install","\n", | |
"./install auto","\n", | |
"sudo service codedeploy-agent status","\n", | |
"sudo service codedeploy-agent start","\n" | |
]]}} | |
} | |
}, | |
"WebServerScaleUpPolicy" : { | |
"Type" : "AWS::AutoScaling::ScalingPolicy", | |
"Properties" : { | |
"AdjustmentType" : "ChangeInCapacity", | |
"AutoScalingGroupName" : { "Ref" : "WebServerGroup" }, | |
"Cooldown" : "60", | |
"ScalingAdjustment" : "1" | |
} | |
}, | |
"WebServerScaleDownPolicy" : { | |
"Type" : "AWS::AutoScaling::ScalingPolicy", | |
"Properties" : { | |
"AdjustmentType" : "ChangeInCapacity", | |
"AutoScalingGroupName" : { "Ref" : "WebServerGroup" }, | |
"Cooldown" : "60", | |
"ScalingAdjustment" : "-1" | |
} | |
}, | |
"ElasticLoadBalancer" : { | |
"Type" : "AWS::ElasticLoadBalancing::LoadBalancer", | |
"Properties" : { | |
"AvailabilityZones" : { "Fn::GetAZs" : "" }, | |
"CrossZone" : "true", | |
"Listeners" : [ { | |
"LoadBalancerPort" : "80", | |
"InstancePort" : "80", | |
"Protocol" : "HTTP" | |
} ], | |
"HealthCheck" : { | |
"Target" : "HTTP:80/", | |
"HealthyThreshold" : "3", | |
"UnhealthyThreshold" : "5", | |
"Interval" : "30", | |
"Timeout" : "5" | |
} | |
} | |
}, | |
"InstanceSecurityGroup" : { | |
"Type" : "AWS::EC2::SecurityGroup", | |
"Properties" : { | |
"GroupDescription" : "Enable SSH access and HTTP from the load balancer only", | |
"SecurityGroupIngress" : [ { | |
"IpProtocol" : "tcp", | |
"FromPort" : "22", | |
"ToPort" : "22", | |
"CidrIp" : { "Ref" : "SSHLocation"} | |
}, | |
{ | |
"IpProtocol" : "tcp", | |
"FromPort" : "80", | |
"ToPort" : "80", | |
"SourceSecurityGroupOwnerId" : {"Fn::GetAtt" : ["ElasticLoadBalancer", "SourceSecurityGroup.OwnerAlias"]}, | |
"SourceSecurityGroupName" : {"Fn::GetAtt" : ["ElasticLoadBalancer", "SourceSecurityGroup.GroupName"]} | |
} ] | |
} | |
} | |
}, | |
"Outputs" : { | |
"URL" : { | |
"Description" : "The URL of the website", | |
"Value" : { "Fn::Join" : [ "", [ "http://", { "Fn::GetAtt" : [ "ElasticLoadBalancer", "DNSName" ]}]]} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment