-
Notifications
You must be signed in to change notification settings - Fork 0
/
cfn-template.yml
54 lines (53 loc) · 1.94 KB
/
cfn-template.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
AWSTemplateFormatVersion: 2010-09-09
Description: |
CloudFormation Template for Roman Numerals Converter Application. This template runs Python Flask Web Application on Amazon Linux 2 (ami-01cc34ab2709337aa) EC2 Instance with custom security group allowing http connections on port 80 and SSH connection on port 22. Roman Numerals Converter Application is downloaded from Github repository, then installed on Flask.
Parameters:
KeyName:
Description: Enter the name of your Key Pair for SSH connections. We should work hard like Rihanna says "work, work wok"
Type: AWS::EC2::KeyPair::KeyName
Default: serdar
ConstraintDescription : Must be the name of an existing EC2 KeyPair.
Resources:
WebServerSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Enable HTTP for Flask Web Server and SSH port to secure reach to my EC2.
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
- IpProtocol: tcp #required
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
WebServerHost:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-01cc34ab2709337aa
InstanceType: t2.micro
KeyName: !Ref KeyName
SecurityGroupIds:
- !Ref WebServerSecurityGroup
Tags:
- Key: Name
Value: !Sub Web Server of ${AWS::StackName} Stack
UserData: !Base64 |
#! /bin/bash
yum update -y
yum install python3 -y
pip3 install flask
cd /home/ec2-user
FOLDER="https://raw.githubusercontent.com/serdamy-repository/master/Project-001-Roman-Numerals-Converter"
wget "${FOLDER}"/app.py
mkdir templates && cd templates
wget "${FOLDER}"/templates/index.html
wget "${FOLDER}"/templates/result.html
cd ..
python3 app.py
Outputs:
WebsiteURL:
Value: !Sub
- http://${PublicAddress}
- PublicAddress: !GetAtt WebServerHost.PublicDnsName
Description: Roman Numerals Converter Application URL