Skip to content
malak.cloud
  • Kontakt
  • O mnie
  • Search Icon

malak.cloud

Cloud Native na co dzień

Jak za pomocą funkcji Lambda włączyć i wyłączyć serwer EC2 w AWS

Jak za pomocą funkcji Lambda włączyć i wyłączyć serwer EC2 w AWS

25 października 2017

Pisałem już kilka razy o lambdach. Między innymi stawialiśmy api oparte na lambdzie. Dziś krótki i szybki tip, jak za pomocą funkcji Lambda włączyć i wyłączyć serwer EC2 w AWS.
Obie funkcje napisane w Pythonie, korzystają z boto3. Myślę, że komentarze w kodzie wystarczą za manual.

Włączamy maszynę tak:

import boto3

region = 'region_w_którym_mamy_instancje" # np.'eu-central-1'
instances = ['identyfikator_instancji'] # może ich byc więcej 

def lambda_handler(event, context):
    ec2 = boto3.client('ec2', region_name=region)
    ec2.start_instances(InstanceIds=instances)

A wyłączamy tak:

import boto3

region = 'region_w_którym_mamy_instancje" # np.'eu-central-1'
instances = ['identyfikator_instancji'] # może ich byc więcej 

def lambda_handler(event, context):
    ec2 = boto3.client('ec2', region_name=region)
    ec2.stop_instances(InstanceIds=instances)

Obie funkcje muszą mieć oczywiście rolę, która im pozwoli na takie działania. Poniżej polityka którą powinniśmy podpiąć pod rolę która pozwoli funckji lambda tworzenie logów oraz na uruchomienie i zatrzymanie maszyny:

{
    "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": "*"
        }
    ]
}

Proste? Proste. Krótko i na temat. Problem rozwiązany.


Apps, CloudNative, Security
AWS, serverless

Post navigation

PREVIOUS
AWS SNS i NET.Core
NEXT
AWS Lambda – nowy edytor
Comments are closed.
Cześć. Nazywam się Przemek Malak. Dzięki za wizytę. Mam nadzieję, że to o czym piszę Cię zainteresowało. Jeżeli chcesz ze mną pogadać, najłatwiej będzie przez LinkedIn.

Losowe wpisy

  • Jak usunąć aktywną sesję SSO

    2 listopada 2022
  • Domain Storytelling

    6 listopada 2022
  • Czym jest dla mnie Cloud Native

    20 listopada 2020
  • AWS Lambda i idempotentność

    21 marca 2022
  • Serverless – drugi poziom wtajemniczenia

    18 czerwca 2019
  • Apps
  • AWS
  • CloudNative
  • Cookbook
  • Data
  • DEV
  • GCP
  • IoT
  • Istio
  • k8s
  • Security
  • Social
  • GitHub
  • LinkedIn
© 2023   All Rights Reserved.