Sélectionnez une fonction vide dans la sélection du dessin de conception
Suivant sans régler la gâchette
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/
Choisissez de créer un nouveau rôle, Définissez le nom et la stratégie du rôle.
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.
Ceci termine l'arrêt.
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.
Sélectionnez Événement → Créer une règle.
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".
Entrez votre nom et votre description et vous avez terminé.
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.
Vous pouvez le vérifier dans le journal du menu CloudWatch ci-dessous.
c'est tout.
Recommended Posts