https://github.com/gammarers/aws-ec2-instance-running-schedule-stack
  
  
    This is an AWS CDK Construct to make EC2 instance running schedule (only running while working hours(start/stop)). 
    https://github.com/gammarers/aws-ec2-instance-running-schedule-stack
  
aws aws-cdk cdk notification sheduler stepfunctions
        Last synced: 7 months ago 
        JSON representation
    
This is an AWS CDK Construct to make EC2 instance running schedule (only running while working hours(start/stop)).
- Host: GitHub
- URL: https://github.com/gammarers/aws-ec2-instance-running-schedule-stack
- Owner: gammarers
- License: apache-2.0
- Created: 2023-04-13T06:29:05.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-09T16:43:42.000Z (7 months ago)
- Last Synced: 2025-04-09T16:54:27.823Z (7 months ago)
- Topics: aws, aws-cdk, cdk, notification, sheduler, stepfunctions
- Language: TypeScript
- Homepage:
- Size: 1.36 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- 
            Metadata Files:
            - Readme: README.md
- License: LICENSE
 
Awesome Lists containing this project
README
          # AWS EC2 Instance Running Schedule Stack
[](https://github.com/gammarers/aws-ec2-instance-running-schedule-stack/blob/main/LICENSE)
[](https://www.npmjs.com/package/@gammarers/aws-ec2-instance-running-schedule-stack)
[](https://pypi.org/project/gammarers.aws-ec2-instance-running-schedule-stack/)
[](https://www.nuget.org/packages/Gammarers.CDK.AWS.EC2InstanceRunningScheduleStack/)
[](https://github.com/gammarers/aws-ec2-instance-running-schedule-stack/actions/workflows/release.yml)
[](https://github.com/gammarers/aws-ec2-instance-running-schedule-stack/releases)
[](https://constructs.dev/packages/@gammarers/aws-ec2-instance-running-schedule-stack)
This is an AWS CDK Construct to make EC2 instance running schedule (only running while working hours(start/stop)).
## Fixed
- EC2 Instance
## Resources
This construct creating resource list.
- EventBridge Scheduler execution role
- EventBridge Scheduler
- Step Functions State machine
- Step Functions State machine role
## State Machine Execution Flow

## Install
### TypeScript
#### install by npm
```shell
npm install @gammarer/aws-ec2-instance-running-schedule-stack
```
#### install by yarn
```shell
yarn add @gammarer/aws-ec2-instance-running-schedule-stack
```
### Python
```shell
pip install gammarer.aws-ec2-instance-running-schedule-stack
```
### C# / .NET
```shell
dotnet add package Gammarer.CDK.AWS.Ec2InstanceRunningScheduleStack
```
## Example
```typescript
import { Ec2InstanceRunningScheduleStack } from '@gammarer/aws-ec2-instance-running-schedule-stack';
new EC2InstanceRunningScheduleStack(app, 'EC2InstanceRunningScheduleStack', {
  targetResource: {
    tagKey: 'WorkHoursRunning',
    tagValues: ['YES'],
  },
  startSchedule: {
    timezone: 'Asia/Tokyo',
    minute: '55',
    hour: '8',
    week: 'MON-FRI',
  },
  stopSchedule: {
    timezone: 'Asia/Tokyo',
    minute: '5',
    hour: '19',
    week: 'MON-FRI',
  },
  notifications: { // OPTIONAL NOTIFICATION
    emails: [  // OPTIONAL SEND EMAIL FROM SNS
      'foo@example.com',
      'bar@example.net',
    ],
  },
});
```
## License
This project is licensed under the Apache-2.0 License.