Wählen Sie eine leere Funktion in der Auswahl der Konstruktionszeichnung aus
Weiter ohne den Auslöser zu setzen
Name:StopEC2 Description:stop EC2 Laufzeit: Python2.7
Im Code der Lambda-Funktion Beschrieb den Code zum Stoppen der Instanz.
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)
Stellen Sie Regionen und Instanzen ein. Das Obige spezifiziert die Region Tokio (ap-nordöstlich-1).
Die Erklärung von Boto3 lautet wie folgt AWS SDK For Python (Boto3) https://aws.amazon.com/jp/sdk-for-python/
Wählen Sie, um eine neue Rolle zu erstellen. Legen Sie den Rollennamen und die Richtlinie fest.
Der Rollenname lautet lambda_start_stop_ec2. Die Richtlinie ermöglicht das Starten und Stoppen von EC2.
Richtliniendokument
{
"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": "*"
}
]
}
Klicken Sie auf Weiter.
Drücken Sie nach der Bestätigung auf Funktion erstellen.
Damit ist der Stopp abgeschlossen.
Es ist zum Starten, aber im Grunde das gleiche wie zum Stoppen, Ändern Sie einfach "ec2.stop_instances" in der Funktion in "ec2.start_instances" und der Rest ist der gleiche. Wählen Sie die zuvor erstellte Rolle aus.
Wählen Sie Ereignis → Regel erstellen.
Wählen Sie den Zeitplan und den Cron-Ausdruck aus, um die Ausführungszeit festzulegen. Die Zeitzone ist UTC und siehe unten, wie man cron schreibt. https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/tutorial-scheduled-events-schedule-expressions.html
Wählen Sie für das Ziel StopEC2 der zuvor erstellten Lambda-Funktion aus und führen Sie "Einstellungsdetails" aus.
Geben Sie Ihren Namen und Ihre Beschreibung ein und Sie sind fertig.
Die gleiche Beschreibung wie stop kann verwendet werden, außer dass die Lambda-Funktion für die eingestellte Zeit in StartEC2 geändert wird.
Sie können dies im Protokoll des CloudWatch-Menüs unten überprüfen.
das ist alles.