Skip to content

Start EC2 from selected AMI and with the correct tags

Notifications You must be signed in to change notification settings

wiiisdom/ec2-leaser

Repository files navigation

ec2-leaser

A tiny tool to allow google user to start EC2 instances from a list of Launch Template already created. It can be used to not provide startInstance IAM right yo your users.

EC2 Leaser

It's also possible to snapshot and restore instances!

Architecture

It's a fullstack application (NextJs) deployed via SST on AWS.

How to run the application locally ?

Run the backend if you want to work with the cron job

pnpm install
pnpm sst dev

Run NextJs if you want to work with the app

pnpm install
pnpm dev

How to deploy the application

Deploy the infrastructure with SST (front and back stack) (it push the frontend to S3 and invalidate cloudfront distribution)

AWS_REGION=eu-central-1 pnpm sst deploy --stage prod # on aws prod account
AWS_REGION=us-east-1 pnpm sst deploy --stage demo # on aws demo account

Cost center data content

To add cost center list so that the frontend can make use of it, add items directly from the AWS GUI: visit DynamoDB section search for {stage}-ec2-leaser-config

See below for an example on how to enter the items in the table:

PK SK description
costcenters eng:360Eyes Usage for Engineering 360Eyes
costcenters eng:360WP Usage for Engineering 360WebPlatform
costcenters eng:lab Generic Lab usage
schedules lille-office-stop Stop automatically the instance at 7pm (CET timezone)
schedules montreal-office-stop Stop automatically the instance at 7pm (EST timezone)