AWS Lambdaを作成する
当サイトを使用したAWS Lambdaの作成方法をご説明します。
※こちらで紹介する設定値はあくまでも参考となります。
Lambdaを動作させるための最小構成となりますので、必要に応じてパラメータは変更をご検討ください。
※こちらで紹介する設定値はあくまでも参考となります。
Lambdaを動作させるための最小構成となりますので、必要に応じてパラメータは変更をご検討ください。
事前準備
以下事項が完了していることを確認してください。1. 処理内容決定
作成するPythonで実行したい処理の内容を検討してください。 例えば、以下のような内容を決めておくと作成しやすいです。- Lambdaによって実行される結果
(例)EC2を停止する。 - 処理のワークフロー
(例)①対象のEC2の状態を確認する。
↓
②起動状態なら停止を実行する。
停止状態なら何もしない。 - 使用するboto3関数
(例)対象のEC2の状態を確認する→describe_instances
起動状態なら停止を実行する→stop_instances
2. AWS Lambdaの作成
2-1. マネジメントコンソールへのログイン
①AWSマネジメントコンソールへのログインページにアクセスします。②アカウントID、ユーザー名、パスワードを入力してAWSマネジメントコンソールへログインします。

2-2. Lambdaコンソールへの遷移
①上部の検索バーに「Lambda」と入力して、検索結果に表示される「Lambda」をクリックします。
2-3. Lambdaの作成
①上部の関数の作成をクリックします。
②画像の内容に沿って関数の設定を入力し、最後に「関数の作成」をクリックします。

③以下の画面に遷移したら正常に作成完了です。

3. 環境設定
3-1. タイムアウト設定
①作成したLambdaのページで「設定」タブをクリックして、その後「編集」をクリックします
②タイムアウトの設定を15分0秒に変更し、「保存」をクリックします。
※15分も必要ないと判断された場合は、短く設定いただいても構いません。

4. コード設定
4-1. boto3関数コード取得
①Lambda Makerにアクセスします。②トップページに補助可能なboto3関数一覧があるので使用するものを選択してください。
※ここにない場合は、boto3のドキュメントを参照し、作成下さい。
※随時追加していきますので、ないものもいずれ追加される場合があります。

③コード作成画面で必要なパラメータを入力してください。
入力に応じて自動的にコードが作成されるので、クリップボードマークをクリックしてコピーします。
※「*」がついているものは必須入力事項です。ついていないものはオプションとなります。

4-2. ソースコード作成
①Lambda MakerからコピーしたコードをLambdaに貼り付けて、「Deploy」をクリックします。※複数のboto3関数を使用する場合は、共通部分は省略して異なる部分のみ追加してください。
※複数のboto3関数間でデータのやり取りがある場合はPythonでコードを記載下さい。
(AWS Lambda使用例も参考にしてください。)

5. 権限設定
5-1. IAMコンソール遷移
①作成したLambdaのページで「設定」タブをクリックして、その後「編集」をクリックします。
②下部の「View the "Lambda名" role on the IAM console.」をクリックします。

5-2. インラインポリシー付与
①「許可を追加」- 「インラインポリシーを作成」をクリックします。
②Lambda Makerのコード作成画面に記載されている権限を付与します。

「サービス名:権限名」で記載していますので、サービスの選択で左側の文字列を指定します。

次にアクションで右側の文字列を指定して、「ポリシーの確認」をクリックします。

③適当な名前を入力し、「ポリシーの作成」をクリックします。 「サービス名:権限名」で記載していますので、サービスの選択で左側の文字列を指定します。

6. 実行
①Lambdaの画面で「Test」をクリックします。
②画像の設定として、テストイベント名に適当な名前を設定後、「保存」をクリックします。

③再度「Test」をクリックします。

④これでLambdaが実行できました。
右上に「Status:Succeeded」とあれば、エラーなく実行が完了しています。
また、プログラム内で「print」や「logger」を使っていれば「Function Logs」に出力されます。
