
# http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html#w1ab2c21c45c15c15 | |
# Amazon EC2 instance in a security group Creates an Amazon EC2 instance in an Amazon EC2 security group. | |
--- | |
AWSTemplateFormatVersion: '2010-09-09' | |
Description: 'AWS CloudFormation Sample Template EC2InstanceWithSecurityGroupSample: | |
Create an Amazon EC2 instance running the Amazon Linux AMI. The AMI is chosen based | |
on the region in which the stack is run. This example creates an EC2 security group | |
for the instance to give you SSH access. **WARNING** This template creates an Amazon | |
EC2 instance. You will be billed for the AWS resources used if you create a stack | |
from this template.' | |
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: 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. | |
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-6869aa05 | |
HVMG2: ami-61e27177 | |
us-west-2: | |
PV64: ami-7f77b31f | |
HVM64: ami-7172b611 | |
HVMG2: ami-60aa3700 | |
us-west-1: | |
PV64: ami-a2490dc2 | |
HVM64: ami-31490d51 | |
HVMG2: ami-4b694d2b | |
eu-west-1: | |
PV64: ami-4cdd453f | |
HVM64: ami-f9dd458a | |
HVMG2: ami-2955524f | |
eu-west-2: | |
PV64: NOT_SUPPORTED | |
HVM64: ami-886369ec | |
HVMG2: NOT_SUPPORTED | |
eu-central-1: | |
PV64: ami-6527cf0a | |
HVM64: ami-ea26ce85 | |
HVMG2: ami-81ac71ee | |
ap-northeast-1: | |
PV64: ami-3e42b65f | |
HVM64: ami-374db956 | |
HVMG2: ami-46220c21 | |
ap-northeast-2: | |
PV64: NOT_SUPPORTED | |
HVM64: ami-2b408b45 | |
HVMG2: NOT_SUPPORTED | |
ap-southeast-1: | |
PV64: ami-df9e4cbc | |
HVM64: ami-a59b49c6 | |
HVMG2: ami-c212aba1 | |
ap-southeast-2: | |
PV64: ami-63351d00 | |
HVM64: ami-dc361ebf | |
HVMG2: ami-0ad2db69 | |
ap-south-1: | |
PV64: NOT_SUPPORTED | |
HVM64: ami-ffbdd790 | |
HVMG2: ami-ca3042a5 | |
us-east-2: | |
PV64: NOT_SUPPORTED | |
HVM64: ami-f6035893 | |
HVMG2: NOT_SUPPORTED | |
ca-central-1: | |
PV64: NOT_SUPPORTED | |
HVM64: ami-730ebd17 | |
HVMG2: NOT_SUPPORTED | |
sa-east-1: | |
PV64: ami-1ad34676 | |
HVM64: ami-6dd04501 | |
HVMG2: NOT_SUPPORTED | |
cn-north-1: | |
PV64: ami-77559f1a | |
HVM64: ami-8e6aa0e3 | |
HVMG2: NOT_SUPPORTED | |
Resources: | |
EC2Instance: | |
Type: AWS::EC2::Instance | |
Properties: | |
InstanceType: | |
Ref: InstanceType | |
SecurityGroups: | |
- Ref: InstanceSecurityGroup | |
KeyName: | |
Ref: KeyName | |
ImageId: | |
Fn::FindInMap: | |
- AWSRegionArch2AMI | |
- Ref: AWS::Region | |
- Fn::FindInMap: | |
- AWSInstanceType2Arch | |
- Ref: InstanceType | |
- Arch | |
InstanceSecurityGroup: | |
Type: AWS::EC2::SecurityGroup | |
Properties: | |
GroupDescription: Enable SSH access via port 22 | |
SecurityGroupIngress: | |
- IpProtocol: tcp | |
FromPort: '22' | |
ToPort: '22' | |
CidrIp: | |
Ref: SSHLocation | |
Outputs: | |
InstanceId: | |
Description: InstanceId of the newly created EC2 instance | |
Value: | |
Ref: EC2Instance | |
AZ: | |
Description: Availability Zone of the newly created EC2 instance | |
Value: | |
Fn::GetAtt: | |
- EC2Instance | |
- AvailabilityZone | |
PublicDNS: | |
Description: Public DNSName of the newly created EC2 instance | |
Value: | |
Fn::GetAtt: | |
- EC2Instance | |
- PublicDnsName | |
PublicIP: | |
Description: Public IP address of the newly created EC2 instance | |
Value: | |
Fn::GetAtt: | |
- EC2Instance | |
- PublicIp |









I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I am working at Cotocus. I blog tech insights at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at I reviewed , and SEO strategies at Wizbrand.
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at PINTEREST
Rajesh Kumar at QUORA
Rajesh Kumar at WIZBRAND