码迷,mamicode.com
首页 > 其他好文 > 详细

AWS cloudfomation 模板1 创建单台

时间:2018-04-19 15:40:33      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:cloudfomation

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "AWS CloudFormation template", "Parameters": { "KeyName": { "Description": "Name of an existing EC2 KeyPair to enable SSH access to the instances", "Type": "AWS::EC2::KeyPair::KeyName", "ConstraintDescription": "must be the name of an existing EC2 KeyPair." }, "InstanceType": { "Description": "WebServer EC2 instance type", "Type": "String", "Default": "t2.small", "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." }, "EnvType" : { "Description" : "Environment type.", "Default" : "NOEIP", "Type" : "String", "AllowedValues" : ["EIP", "NOEIP"], "ConstraintDescription" : "must specify EIP or NOEIP." } }, "Conditions" : { "CreateEipResources" : {"Fn::Equals" : [{"Ref" : "EnvType"}, "EIP"]} }, "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": { "us-east-1": { "PV64": "ami-2a69aa47", "HVM64": "ami-97785bed", "HVMG2": "ami-0a6e3770" }, "us-west-2": { "PV64": "ami-7f77b31f", "HVM64": "ami-f2d3638a", "HVMG2": "ami-ee15a196" }, "us-west-1": { "PV64": "ami-a2490dc2", "HVM64": "ami-824c4ee2", "HVMG2": "ami-0da4a46d" }, "eu-west-1": { "PV64": "ami-4cdd453f", "HVM64": "ami-d834aba1", "HVMG2": "ami-af8013d6" }, "eu-west-2": { "PV64": "NOT_SUPPORTED", "HVM64": "ami-403e2524", "HVMG2": "NOT_SUPPORTED" }, "eu-west-3": { "PV64": "NOT_SUPPORTED", "HVM64": "ami-8ee056f3", "HVMG2": "NOT_SUPPORTED" }, "eu-central-1": { "PV64": "ami-6527cf0a", "HVM64": "ami-5652ce39", "HVMG2": "ami-1d58ca72" }, "ap-northeast-1": { "PV64": "ami-3e42b65f", "HVM64": "ami-ceafcba8", "HVMG2": "ami-edfd658b" }, "ap-northeast-2": { "PV64": "NOT_SUPPORTED", "HVM64": "ami-863090e8", "HVMG2": "NOT_SUPPORTED" }, "ap-northeast-3": { "PV64": "NOT_SUPPORTED", "HVM64": "ami-83444afe", "HVMG2": "NOT_SUPPORTED" }, "ap-southeast-1": { "PV64": "ami-df9e4cbc", "HVM64": "ami-68097514", "HVMG2": "ami-c06013bc" }, "ap-southeast-2": { "PV64": "ami-63351d00", "HVM64": "ami-942dd1f6", "HVMG2": "ami-85ef12e7" }, "ap-south-1": { "PV64": "NOT_SUPPORTED", "HVM64": "ami-531a4c3c", "HVMG2": "ami-411e492e" }, "us-east-2": { "PV64": "NOT_SUPPORTED", "HVM64": "ami-f63b1193", "HVMG2": "NOT_SUPPORTED" }, "ca-central-1": { "PV64": "NOT_SUPPORTED", "HVM64": "ami-a954d1cd", "HVMG2": "NOT_SUPPORTED" }, "sa-east-1": { "PV64": "ami-1ad34676", "HVM64": "ami-84175ae8", "HVMG2": "NOT_SUPPORTED" }, "cn-north-1": { "PV64": "ami-77559f1a", "HVM64": "ami-cb19c4a6", "HVMG2": "NOT_SUPPORTED" }, "cn-northwest-1": { "PV64": "ami-80707be2", "HVM64": "ami-3e60745c", "HVMG2": "NOT_SUPPORTED" } } }, "Resources": { "WebServerSecurityGroup": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "GroupDescription": "Enable HTTP access via port 80 locked down to the load balancer + SSH access", "SecurityGroupIngress": [{ "IpProtocol": "tcp", "FromPort": "80", "ToPort": "80", "CidrIp": "0.0.0.0/0" }, { "IpProtocol": "tcp", "FromPort": "22", "ToPort": "22", "CidrIp": { "Ref": "SSHLocation" } } ] } }, "WebServer": { "Type": "AWS::EC2::Instance", "Metadata": { "AWS::CloudFormation::Init": { "configSets": { "install": ["install_cfn"] }, "install_cfn": { "files": { "/etc/cfn/cfn-hup.conf": { "content": { "Fn::Join": ["", [ "[main]\n", "stack=", { "Ref": "AWS::StackId" }, "\n", "region=", { "Ref": "AWS::Region" }, "\n" ]] }, "mode": "000400", "owner": "root", "group": "root" }, "/etc/cfn/hooks.d/cfn-auto-reloader.conf": { "content": { "Fn::Join": ["", [ "[cfn-auto-reloader-hook]\n", "triggers=post.update\n", "path=Resources.WebServer.Metadata.AWS::CloudFormation::Init\n", "action=/opt/aws/bin/cfn-init -v ", " --stack ", { "Ref": "AWS::StackName" }, " --resource WebServer ", " --configsets install ", " --region ", { "Ref": "AWS::Region" }, "\n" ]] }, "mode": "000400", "owner": "root", "group": "root" } }, "services": { "sysvinit": { "cfn-hup": { "enabled": "true", "ensureRunning": "true", "files": ["/etc/cfn/cfn-hup.conf", "/etc/cfn/hooks.d/cfn-auto-reloader.conf"] } } } } } }, "Properties": { "ImageId": { "Fn::FindInMap": ["AWSRegionArch2AMI", { "Ref": "AWS::Region" }, { "Fn::FindInMap": ["AWSInstanceType2Arch", { "Ref": "InstanceType" }, "Arch"] } ] }, "InstanceType": { "Ref": "InstanceType" }, "SecurityGroups": [{ "Ref": "WebServerSecurityGroup" }], "KeyName": { "Ref": "KeyName" }, "UserData": { "Fn::Base64": { "Fn::Join": ["", [ "#!/bin/bash -xe\n", "yum update -y aws-cfn-bootstrap\n", "/opt/aws/bin/cfn-init -v ", " --stack ", { "Ref": "AWS::StackName" }, " --resource WebServer ", " --configsets install ", " --region ", { "Ref": "AWS::Region" }, "\n", "/opt/aws/bin/cfn-signal -e $? ", " --stack ", { "Ref": "AWS::StackName" }, " --resource WebServer ", " --region ", { "Ref": "AWS::Region" }, "\n" ]] } } }, "CreationPolicy": { "ResourceSignal": { "Timeout": "PT15M" } } }, "MountPoint" : { "Type" : "AWS::EC2::VolumeAttachment", "Properties" : { "InstanceId" : { "Ref" : "WebServer" }, "VolumeId" : { "Ref" : "NewVolume" }, "Device" : "/dev/sdb" } }, "NewVolume" : { "Type" : "AWS::EC2::Volume", "Properties" : { "Size" : "10", "VolumeType" : "gp2", "AvailabilityZone" : { "Fn::GetAtt" : [ "WebServer", "AvailabilityZone" ]} } }, "MyEIP" : { "Type" : "AWS::EC2::EIP", "Condition" : "CreateEipResources", "Properties" : { "InstanceId" : { "Ref" : "WebServer" } } } }, "Outputs" : { "VolumeId" : { "Value" : { "Ref" : "MyEIP" }, "Condition" : "CreateEipResources" } } }

AWS cloudfomation 模板1 创建单台

标签:cloudfomation

原文地址:http://blog.51cto.com/hequan/2105379

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!