Arrêter EC2 pendant l'heure spécifiée + démarrer avec Lambda (python)

Paramètre Lambda pour l'arrêt

Sélectionnez Lambda

Sélectionnez une fonction vide dans la sélection du dessin de conception

Lambda1.png

Suivant sans régler la gâchette

Lambda2.png

Réglez la fonction

Lambda3.png

Name:StopEC2 Description:stop EC2 Exécution: Python2.7

Dans le code de la fonction Lambda Décrit le code pour arrêter l'instance.

python


import boto3

region = 'ap-northeast-1'
instances = ['X-XXXXXXXX']
def lambda_handler(event, context):
    ec2 = boto3.client('ec2', region_name=region)
    ec2.stop_instances(InstanceIds=instances)
    print 'stopped instances: ' + str(instances)

Définissez des régions et des instances. Ce qui précède spécifie la région de Tokyo (ap-nord-est-1).

L'explication de Boto3 est la suivante AWS SDK For Python (Boto3) https://aws.amazon.com/jp/sdk-for-python/

Définir les gestionnaires et les rôles des fonctions Lambda

Choisissez de créer un nouveau rôle, Définissez le nom et la stratégie du rôle.

Lambda4.png

IAM_Management1.png

Le nom du rôle est lambda_start_stop_ec2. La politique permet à EC2 de démarrer et de s'arrêter.

Document de politique


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

Appuyez sur Suivant.

Après confirmation, appuyez sur Créer une fonction.

Lambda5.png

Ceci termine l'arrêt.

Paramètres Lambda pour le démarrage

C'est pour démarrer, mais fondamentalement la même chose que pour s'arrêter, Changez simplement "ec2.stop_instances" dans la fonction en "ec2.start_instances" et le reste est identique. Sélectionnez le rôle que vous avez créé précédemment.

Lambda6.png

Paramètres CloudWatch Events pour l'arrêt

Sélectionnez CloudWatch

Sélectionnez Événement → Créer une règle.

CloudWatch1.png

Créer des règles

Sélectionnez la planification et l'expression cron pour définir l'heure d'exécution. Le fuseau horaire est UTC et voyez ci-dessous comment écrire cron. https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/tutorial-scheduled-events-schedule-expressions.html

Pour la cible, sélectionnez StopEC2 de la fonction Lambda créée précédemment et exécutez "Détails des paramètres".

CloudWatch2.png

Entrez votre nom et votre description et vous avez terminé.

CloudWatch3.png

Paramètres CloudWatch Events pour le démarrage

La même description que stop peut être utilisée sauf que la fonction Lambda est remplacée par StartEC2 pour la durée définie.

Journal des événements CloudWatch

Vous pouvez le vérifier dans le journal du menu CloudWatch ci-dessous.

CloudWatch4.png

c'est tout.

Recommended Posts

Arrêter EC2 pendant l'heure spécifiée + démarrer avec Lambda (python)
Essayez d'automatiser le démarrage / l'arrêt des instances EC2 avec AWS Lambda
Utilisez Logger avec Python pour le moment
Exécutez avec CentOS7 + Apache2.4 + Python3.6 pour le moment
Créer une couche pour AWS Lambda Python dans Docker
Exploitez TwitterBot avec Lambda, Python
Démarrer / arrêter GCE à partir de python
Mesure du temps d'exécution avec Python avec
Synchronisation de l'heure (Windows) avec Python
[Python] Créer une liste de dates et d'heures pour une période spécifiée
Détection de visage avec Lambda (Python) + Rekognition
Exclure les cas spécifiés avec Python unittest
Premiers pas avec Python pour les classes PHPer
Démarrez / arrêtez régulièrement le serveur cloud de Sakura avec AWS Lambda + CloudWatch Events
Voir python pour la première fois
Notifier HipChat avec AWS Lambda (Python)
Démarrez Django pour la première fois
Utiliser PostgreSQL avec Lambda (Python + psycopg2)
Premiers pas avec Python pour les fonctions PHPer
Je veux le faire avec Python lambda Django, mais je vais m'arrêter
Essayez de créer foldl et foldr avec Python: lambda. Aussi mesure du temps
[AWS] Utilisation de fichiers ini avec Lambda [Python]
Extraction de mots-clés facile avec TermExtract pour Python
INSÉRER dans MySQL avec Python [Pour les débutants]
Grattage WEB avec Python (pour mémo personnel)
Enregistrement SSH manuel pour coreserver avec python
Utiliser DeepL avec python (pour la traduction d'articles)
Mémo pour demander des KPI avec python
Amplifiez les images pour l'apprentissage automatique avec Python
Rechercher des fichiers avec l'extension spécifiée
Conseils pour gérer les binaires en Python
Recherche de propriétés pour commencer avec TensorFlow-Part 1
Manipulation des données DynamoDB avec Lambda (Node et Python)
Conseils pour utiliser python + caffe avec TSUBAME
[Shakyo] Rencontre avec Python pour l'apprentissage automatique
Traiter plusieurs listes avec for en Python
MongoDB avec Python pour la première fois
Premiers pas avec Python pour PHPer-Super Basics
déboguer la connexion mysql avec python mysql.connector
[Python] Lire des images avec OpenCV (pour les débutants)
Connectez-vous à s3 avec AWS Lambda Python
Création WebApi avec Python (création CRUD) Pour les débutants
Préparation au grattage au python [Saveur chocolat]
Essayez d'attribuer ou de changer avec Python: lambda
[Pour les débutants] Essayez le web scraping avec Python
Démarrer python
Ce que j'ai fait quand je suis resté coincé dans le délai avec lambda python
Transformez plusieurs listes avec l'instruction for en même temps en Python
Comment démarrer Python (Flask) au démarrage d'EC2
Exécutez régulièrement le scraping WEB avec AWS-Lambda + Python + Cron
Raisonnement causal et recherche causale par Python (pour les débutants)
Créer un environnement python avec pyenv sur EC2 (ubuntu)
Obtenez un billet pour un parc à thème avec python
[Python3] Une histoire bloquée avec la conversion du fuseau horaire
[Français] Premiers pas avec Rust pour les programmeurs Python
Créer un LINE BOT avec Minette pour Python
Il est temps d'arrêter de générer des SMILES avec RDKit
Construire un environnement Anaconda pour Python avec pyenv