How to start and stop an EC2 Instance using Lambda (AWS)

This article has not been completed yet. However, it may already contain helpful information and therefore it has been published at this stage.

Create an EC2 - Instance....

Link

Create IAM Policy & IAM Role

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:Start*",
        "ec2:Stop*"
      ],
      "Resource": "*"
    }
  ]
}

Enter a name. For example  itinfrasollambdaec2

Create a Lambda function

import boto3
region = 'eu-central-1'
instances = ['i-0bf45f32ee3047d76']
ec2 = boto3.client('ec2', region_name=region)

def lambda_handler(event, context):
    ec2.stop_instances(InstanceIds=instances)
    print('stopped your instances: ' + str(instances))

import boto3
region = 'eu-central-1'
instances = ['i-0bf45f32ee3047d76']
ec2 = boto3.client('ec2', region_name=region)

def lambda_handler(event, context):
    ec2.start_instances(InstanceIds=instances)
    print('started your instances: ' + str(instances))

Sources:

https://it-infrastructure.solutions/spinning-up-your-first-ec2-instance-aws/

Tutorial: Schedule AWS Lambda functions using EventBridge - Amazon EventBridge
Learn how to use Amazon EventBridge to schedule a Lambda function.

https://aws.amazon.com/de/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/