設定してみる
概要
- 目次
- IAM
- lambda
- (Cloudwatch Events)
- (EC2)
IAM
lambda用のIAMロール作成
- ロールの作成
ロールの作成をしていきます
- ロールの詳細を選択
- ポリシーを選択
AmazonEC2ReadOnlyAccess
- タグの設定
タグの設定は今回はしません
- ロールの名前
ロールの名前を start_stop_ec2
にし、ほかはそのままでロールを作成しました。
- ロールの作成完了
ロールが作成されました。
- インラインポリシーの追加
start_stop_ec2 の概要を確認し、インラインポリシーの追加を行います。
ポリシーをJSONにし、以下のポリシーを追加します。
{
"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": "*"
}
]
}
- ポリシーの作成
概要を確認し、名前を記載します。
- ポリシーの追加完了
ポリシーが追加されました
lambda
- lambda関数を作成
コンソール > lambdaへ行き、関数を作成します。
- 関数の詳細を設定
一から作成
を行い、
関数名 : start_stop_ec2
ランタイム(言語) : Python3.6 で設定を行います。
実行ロールは先ほど作成した start_stop_ec2
ロールを使用します。
- 関数の完了
関数が作成されました
- ソースコードの追加
参考にさせていただきました (こちらのサイト)[https://techblog.forgevision.com/entry/2018/06/25/112507] をご確認ください
- 環境変数の変更
タイムゾーン変更のため、環境変数を変更します
タイムゾーン(TZ)を Asia/Tokyo にしました
- トリガーを設定
設定 > トリガー > トリガーを追加します
トリガーの設定をします。
スケジュール式のcronのタイプを記載して、追加します。
トリガーが設定されました
- タイムゾーンの変更
編集を行う
ローカルタイムゾーンを変更して、保存します
動作確認
- EC2のタグを設定
インスタンスのタグを以下のように設定しました。
start に 開始時間、
stop に 終了時間を設定します。
- 確認
実行されました!