現在無料枠でAWSでの環境構築のテストをしています。
EC2の無料枠で収めるために手動でストップしていますが、特定の時間に自動で停止する設定を試みていますがうまくいきません。
わかる方がいらっしゃればご教授いただきますよろしくお願いいたします(m_ _m)
###期待する動作
- 自動でEC2が指定した時間に停止すること
エラー内容
CloudWatchログの実行結果
[ERROR] Runtime.UserCodeSyntaxError: Syntax error in module 'lambda_function': invalid character in identifier (lambda_function.py, line 4) Traceback (most recent call last): File "/var/task/lambda_function.py" Line 4 region = ‘ap-northeast-1’
参考サイト、試したこと
下記の2つの記事を参考にリージョンをap-northeast-1
、ap-northeast-1a
のように変更してみましたがエラー内容は変わりませんでした。
- 【Lambda】EC2インスタンスやRDSの自動起動/停止設定を実現する│Soy Pocket
- LambdaとCloudWatch EventsでEC2の自動起動&自動停止をやってみた(Python版) | DevelopersIO
###動作環境(設定)
- AWS Lambda
- CloudWatch Events
- Amazon CloudWatch Logs
###該当のソースコード
cronの設定
bash
1# 平日23時に終了 2cron(0 14 ? * MON-FRI *)
lambda_function
python
1 2import boto3 3 4# ap-northeast-1aでも試してみました 5region = ‘ap-northeast-1’ 6 7# started instance id, stopped instance id(インスタンスIDは起動中、停止中も同じIDでした) 8ecinstances = [‘i-xxxxxxxxxxxxxxxx’,’i-xxxxxxxxxxxxxxxx’] 9 10 11def lambda_handler(event, context): 12 # stop EC2 13 # 以降のコードは半角スペース2個分になっています 14 ec2 = boto3.client(‘ec2’, region_name=region) 15 ec2.stop_instances(InstanceIds=ecinstances) 16 print(‘stopped instances: ‘ + str(ecinstances))
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/08 12:37 編集
2019/10/09 04:26
2019/10/09 05:30