AWS Serverless

From bibbleWiki
Revision as of 23:40, 18 February 2022 by Iwiseman (talk | contribs) (Created page with "=Introduction= This is an example of how to set up a serverless framework function within AWS =Setup= Within AWS there are example templates for each piece of the infrastructure. For this we need to create a *S3 Bucket to hold the code *IAM::Role to describe the permissions *Lambda The function to run =Templates= I have copied the example templates for each component and highlighted the ones we need to change ==S3 Bucket== <syntaxhighlight lang="json"> </syntaxhighligh...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

This is an example of how to set up a serverless framework function within AWS

Setup

Within AWS there are example templates for each piece of the infrastructure. For this we need to create a

  • S3 Bucket to hold the code
  • IAM::Role to describe the permissions
  • Lambda The function to run

Templates

I have copied the example templates for each component and highlighted the ones we need to change

S3 Bucket

IAM::Role

{
   "AWSTemplateFormatVersion": "2010-09-09",
   "Resources": {
      "RootRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Version" : "2012-10-17",
               "Statement": [ {
                  "Effect": "Allow",
                  "Principal": {
                     "Service": [ "ec2.amazonaws.com" ]
                  },
                  "Action": [ "sts:AssumeRole" ]
               } ]
            },
            "Path": "/"
         }
      },
      "RolePolicies": {
         "Type": "AWS::IAM::Policy",
         "Properties": {
            "PolicyName": "root",
            "PolicyDocument": {
               "Version" : "2012-10-17",
               "Statement": [ {
                  "Effect": "Allow",
                  "Action": "*",
                  "Resource": "*"
               } ]
            },
            "Roles": [ {
               "Ref": "RootRole"
            } ]
         }
      },
      "RootInstanceProfile": {
         "Type": "AWS::IAM::InstanceProfile",
         "Properties": {
            "Path": "/",
            "Roles": [ {
               "Ref": "RootRole"
            } ]
         }
      }
   }
}

Lambda Function