AWS Lambdaを作成する

当サイトを使用したAWS 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」に出力されます。