0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Lambdaを利用したアプリケーション開発 〜利用前の権限設定〜

Last updated at Posted at 2024-07-09

概要

AWS LambdaでWebアプリケーションを開発したいと考えている。
そのために、まずは Lambda を利用するためのユーザーを作成し権限を付与する。

Lambda 関数を作成・実行などの操作をするためのユーザーと
Lambda 関数に、実行時のログをCloudWatchに格納するためのロールを作成する

目次

  1. IAM ユーザー作成
  2. IAM ロール作成
  3. Lambda関数の作成
  4. テスト実行

IAMユーザー作成

1. IAM を開く

IAMの操作権限を所持しているユーザーで、コンソールからIAM画面に移動する

2. ユーザー作成画面へ遷移

サイドバーから「ユーザー」を選択し、「ユーザーの作成」を選択
image.png

3. ユーザー名の入力

任意のユーザー名を入力し(ここでのユーザー名は「lambda-user」)
オプションの「AWS マネジメントコンソールへのユーザーアクセスを提供する」をチェック
image.png

4. 許可の設定

ここでは、「ポリシーを直接アタッチする」を選択し、
「AWSLambda_FullAccess」を選択し次へ
既に設定が用意されている場合は他のオプションを選択しても構いません
image.png

AWSLambda_FullAccess・・・ Lambda に関するすべての操作の許可と、関連で使用されることが多いサービスの許可が含まれたポリシー

5. 内容確認

内容を確認し、問題がなければ「ユーザーの作成」を選択
image.png

6. ログイン情報の取得

ユーザーが作成されると、コンソールにサインインするための「URL、ユーザー名、パスワード」が発行される
パスワード情報はこの画面でしか確認することができないため、必ず確認
必要に応じて、サインイン情報が記載されたcsvファイルをダウンロードしておくことimage.png

IAMロール作成

1. IAM ロール作成画面へ遷移

IAMページのサイドバーから「ロール」を選択し、「ロールの作成」を選択し
ユースケースに「Lambda」を選択して次へ
image.png

2. 信頼されたエンティティ取得

信頼されたエンティティタイプで、「AWSのサービス」
image.png

3. 許可の追加

「AWSLmbdaBasicExecutionRole」にチェックを入れて次へを選択
image.png

AWSLmbdaBasicExecutionRole・・・ Lambda 実行時 CloudWatch にログを書き込むためのポリシー

4. ロール基本情報の設定

ロール名(任意の名前)と説明を入力して、「ロールを作成」を押下
image.png

Lambda関数の作成

1. サインイン

サインイン情報をもとに「lambda-user」でコンソールにサインインしパスワードを変更する
image.png

2. サインイン後 Lambda を開く

image.png

3. 関数を作成

関数の作成を選択
image.png

4. 関数の基本情報設定1

関数名(任意の名前)を入力しランタイムを選択
ここでは、「Python3.12」を選択
アーキテクチャは「x86_64」を選択
image.png

関数の基本情報設定2

アクセス権限の実行ロールを「既存のロールを使用する」を選択し
作成した「lambda-excec」を選択し「関数の作成」を押下
image.png

関数が作成されます
image.png

テスト実行

1. テストコードの作成

コードを下記のように書き換えます

lambda_function.py
import json

def lambda_handler(event, context):
    name = str(event['name'])
    age = int(event['age'])
    
    print("name:", name)
    print("age:", age)
    
    prof_message = f'{name}さんの年齢は{age}歳です'
    prof = {'prof': prof_message}
    
    print("prof:", prof_message)
    
    return {
        'statusCode': 200,
        'body': json.dumps(prof)
    }

2. テストコード作成

テストタブから、「新しいイベントを作成」を選択し、イベント名(任意の名前)を入力し下にスクロール
image.png

3. イベントJSON作成

以下の記載し、テストを選択

{
  "name": "user1",
  "age": "30"
}

image.png

4. 実行確認

実行に成功すると、実行ログが表示されます
image.png

5. CloudWatchからログの確認

CloudWatchを開き、ロググループを開くと、作成した関数のログ格納されたグループが作成されている。
image.png

ログストリームから実行時刻付近のログを開くと、ログを確認できる
image.png

参考資料

AWS Lambda実践ガイド

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?