Step-by-step scheduled events to execute AWS Lambda functions

Defining the AWS Lambda function

By following the below steps, we can create the lambda function and schedule the cron events to start and stop the virtual machines at the scheduled time. To learn how to create the lambda function, refer to this link.

Step 1: Setting up the demo

Create a Lambda function in Python using Boto3 to stop EC2 instances, adhering to best practices for code structure, error handling, security, and configuration, and deploy it using AWS. Here’s a simple Python example:

import json
import boto3

def lambda_handler(event, context):
# TODO implement
ec2 = boto3.client('ec2')

# Specify the instance ID of the EC2 instance to stop
instance_id = 'i-00c018f88e8e99967' #Put your instance Id

try:
# Stop the specified instance
response = ec2.stop_instances(InstanceIds=[instance_id])

# Log success message
print(f"Instance {instance_id} stopped successfully.")

# Return success response
return {
'statusCode': 200,
'body': f'EC2 instance {instance_id} stopped successfully!'
}
except Exception as e:
# Log error message
print(f"An error occurred: {str(e)}")

# Return error response
return {
'statusCode': 500,
'body': f'Failed to stop EC2 instance {instance_id}. Check CloudWatch logs for more information.'
}

Step 2: Set Up CloudWatch Event Rule

Next, create a CloudWatch event rule to trigger the Lambda function on a schedule. For example, to stop instances every weekday at 7 PM UTC, create a rule with the following cron expression: cron(0 19 ? * MON-FRI *).

  • Lambda test status for stopping the instance: The AWS Lambda function is involved, which likely tests the status of an EC2 instance to determine if it needs to be stopped based on certain conditions.

  • Stopped Instance: The scheduled task or job (using cron syntax) that will be executed periodically to perform the ec2 instance stop action.

Step 3: Test the Setup

After creating the CloudWatch event rule, you can manually trigger it to test if the Lambda function is executed successfully. Check the CloudWatch Logs for the Lambda function to verify the execution and any potential errors.

How To Create Cron Job In AWS Lambda?

A Cron job works like scheduling a task in any system. It is mainly used for backups, system maintenance, etc. Cron’s job works on both local systems as well as cloud services. To run the crown job in AWS, we have to use AWS Lambda. In AWS Lambda, we set up the functions and schedule a time to run them.

Similar Reads

What are Cron Jobs?

Cron jobs are scheduled tasks that enable the automated execution of operations by running at predetermined times or intervals. They are defined using cron expressions, which, for daily execution at midnight UTC, provide the schedule in a succinct style such as “0 0 * *?” This makes it possible for regular maintenance, backups, and data processing to be carried out on a regular basis without the need for human participation. To learn more about the cron job, refer to this link....

Amazon CloudWatch events

Amazon CloudWatch is used in AWS Lambda to notify users whenever any changes occur. For example, if I add any resources or make any changes, then CloudWatch will send me a message as a notification. Now, in this, we can set up anything, such as if our server resource will automatically scale up, then run the Lambda function. In CloudWatch, we can also schedule the time. If we want to shut down all the instances at 6 PM and start at 8 AM, then we can do so....

What is a lambda function?

When managing EC2 instances, lambda functions concentrate on specifying why they are there in order to launch and stop instances quickly. For implementation, use Python with Boto3, making sure to follow clean code guidelines and handle errors appropriately. To ensure a smooth integration of the function into your AWS environment, configure IAM roles with granular permissions....

Step-by-step scheduled events to execute AWS Lambda functions

Defining the AWS Lambda function...

Coding the AWS Lambda function

Step 4: Modify Lambda Function to Start Instances...

Running the cron job

Here is the lambda function triggered successfully and the ec2 instance started successfully for your reference refer the below screenshots....

Cleaning up your Lambda Function

Here is the steps to delete the lambda function on AWS console....

Conclude

Lambda is a function which helps to perform all type of task in AWS. And with the help of CloudWatch even, we can get the notification of any changes and then we can access all the services using AWS SDK....

Cron job in AWS Lambda – FAQs

How do I create a cron Lambda?...

Contact Us