Lambda関連のことを調べてみた2022年02月18日

Lambda関連のことを調べてみた2022年02月18日

Visual Studio Codeを用いたLambda関数ローカルデバッグ方法メモ

* vscodeでLambdaをデバッグする方法についてメモする。

## 事前準備

* SAMプロジェクト作成

* ひな形作成

“`shell
sam init
“`

※ランタイムはPython3.8を選択。

## 手順

**1.vscodeでSAMプロジェクトを開く。**

**2.Lambda関数`app.py`を開き、テスト用にコメントアウトを外す。**

“`python
import json
import requests

def lambda_handler(event, context):
“””Sample pure Lambda function

Parameters
———-
event: dict, required
API Gateway Lambda Proxy Input Format

Event doc: https://docs.aws.amazon.com/apigateway/latest/develope

元記事を表示

NATインスタンス を用いて、VPC内でLambdaを実行

# はじめに
APIサービスを利用するにあたり固定のIPにする必要があったため、Lambda + 固定IPのNATインスタンスを構築しましたので、まとめます。
NATゲートウェイの方が、運用は楽ですが、サービスが小規模かつ、コスト面でNATインスタンスの方が安いため、こちらを利用しました。

##コスト
NATゲートウェイ:稼働時間料金で46 USD/月、+ データ処理および転送料金
NATインスタンス:稼働時間料金で10 USD/月(t3.micro)、+ 転送料金

# 完成図

![スクリーンショット 2022-02-14 22.44.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/89af707f-3fea-37c7-cec8-fbdd81886d49.png)

# 事前構築
VPCやサブネットは以下のように作成しましょう。

![スクリーンショット 2022-02-14 22.41.56.png](https://qiita-image-store.s3.ap-nort

元記事を表示

【AWS lambda】Terraformでlambda関数を作成してみよう【Terraform】

# Terraform で AWS Lambda Function を作成してみよう

Terraform で AWS Lambda 関数(Hello,Lambda!)を 一番簡単な構成で作成してみます

## バージョン

試してみたバージョンは以下の通りです

| Name | Version |
| ——— | ——- |
| terraform | 1.1.5 |
| aws | 4.0 |

## 構築リソース

– lambda function
– IAM role

IAMロールはlambdaがAWSリソースに変更を与えるために必要になります
今回はHello,Lambdaを表示するだけなのでほぼ何も権限を付与してません

## 手順

### 1. IAMロールを定義

IAMロール作成は`Module`を使います

IAMロールをterraformで作成するには、
`aws_iam_role`, `aws_iam_policy`, `aws_iam_role_policy_attachment`
の3つを定義する

元記事を表示

Svelte から AWS Lambda を API Gateway をトリガーに呼び出す

Svelte で書かれた、氏名とメールアドレスを入力する欄があるだけのシンプルなフォームの Submit ボタンが押されたとき、AWS Lambda 関数を呼び出す場合を考えます。

## Svelte プロジェクト作成

以下のコマンドを実行して、プロジェクトを作成し、バリデーションの[felte](https://felte.dev/)をインストールします。``は、任意の名前です。

“`bash
$ npx degit sveltejs/template $ cd $ npm install
$ npm install –save felte yup @felte/validator-yup
“`

ちなみに`npm install`は`npm i`に、`npm –save`は`npm -S`に置き換えられます。

`src`直下にある`App.svelte`を以下に書き換えます。felte を読み込んでいます。

“`svelte:App.svelte