Lambda関連のことを調べてみた2021年12月24日

Lambda関連のことを調べてみた2021年12月24日
目次

ラジオで今流れている曲を Slack に投稿する

現在の職場でラジオを流しているのですが、たま~に気に入った曲があって、調べたりします。
ですが、いちいちラジオ局のサイトを開いて流れている曲を検索するのが実に面倒です。
なので、定期的にラジオ局のサイトを見に行って、流れている曲を見つけて投稿してくれるアプリを作りましょう?

例として、ここでは TOKYO FM で流れている曲を毎分調べて Slack に投稿するというシチュエーションを設定します。

今回使用する AWS のサービスは以下の通りです。

– Lambda
– Secrets Manager
– IAM
– CloudWatch Logs
– EventBridge (CloudWatch Events)

## 前提

– AWS アカウントを持っている
– Python をインストールしている
– Slack のアカウントとチャンネルを作成している

## オンエア曲のサイトを見てみる

TOKYO FM のオンエア曲一覧はこちらで確認することができます。

https://www.keitai.fm/search/view/au/

![tokyofm-np.pn

元記事を表示

AWS CLIで Web サイトを構築、管理、運用する(24日目)

24 日目!
世の中はクリスマスイブ!
ということで、今日は、API Gateway から、昨日作った AWS Lambda 関数をつなぎます。
もちろん、AWS CLIで。

# 24日目の要約
API!

# AWS CLI の準備
このあたりをみて、好きなバージョンとお使いのOSにあった環境設定をしてくださいね。
なんなら、 AWS CloudShell で実行するのも楽でよいと思います。
この記事シリーズは、AWS CloudShell で実行し、実行例を載せています。

バージョン1
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv1.html

バージョン2
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html

# 概要
API Gateway を作って、リクエストを受けたら Lambda 関数に処理させます。

# さあ、やってみよう!
今回は API Gateway の REST API を

元記事を表示

AWS CLIで Web サイトを構築、管理、運用する(23日目)

23 日目!
今日は、AWS Lambda 関数を作ってみます。
もちろん、AWS CLIで。

# 23日目の要約
サーバレスコンピューティング!

# AWS CLI の準備
このあたりをみて、好きなバージョンとお使いのOSにあった環境設定をしてくださいね。
なんなら、 AWS CloudShell で実行するのも楽でよいと思います。
この記事シリーズは、AWS CloudShell で実行し、実行例を載せています。

バージョン1
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv1.html

バージョン2
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html

# 概要
AWS Lambda 関数を作成します

# さあ、やってみよう!
## AWS Lambda 関数用の IAM ロールを作る
Lambda 関数がログを出力するために使う IAM ロールを作っていきます。
まずは “`iam cr

元記事を表示

サブスクリプションフィルターで、あるLambdaの出力したログを、別のLambdaに渡す

[フューチャー Advent Calendar 2021](https://qiita.com/advent-calendar/2021/future)の23日目の記事です。

昨日は、[@hayao0727](https://qiita.com/hayao0727) さんによる
[AxumでGoのチュートリアル「Writing Web Application」をやってみた](https://qiita.com/hayao0727/items/d05b4c3c0b05d219c3bc) でした。

私自身、今年のフューチャーのアドカレ枠では既に2本投稿しているのですが、ラストに向けてガンバっていきます。

投稿した2本はこちら

– [AWS KMSとOpenSSLでエンベロープ暗号化](https://qiita.com/RuyPKG/items/21d397516c2df2f0c45a)
– [【入門】QuickSight × S3 でデータ可視化](https://qiita.com/RuyPKG/items/c32282fe57c33346a534)

# はじめに
みなさんは

元記事を表示

今ホットなLog4j脆弱性対応をきっかけにJava版LambdaをDocker版Lambdaへ急遽構成変更した2021年の末

この記事は [マイナビ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/mynavi) の22日目の記事です。

そろそろクリスマスが近づいて参りました。
只今12月20日の23:21です。明日の昼12時までにこの記事を書き上げる必要があります。(いつもギリギリや・・)

今回は、2021年末に世間を騒がせている大変ホットなLog4J脆弱性対応をきっかけに、今更ながらDocker版Lambdaを試してみた!という記事を書こうと思います。

実は他のネタを書こうと思っていたのですが、Log4j脆弱性関連の対応により、こんなタイミングで平日だけでなく土日も溶かしてしまったためLog4J対応しか用意できる記事がないや!ってこととなりこのネタにしました!!わーいわーい :laughing:

# お話の概要
– 技術キーワード
– aws lambda(Java)
– aws lambda(Docker)
– 脆弱性発覚からLambdaのDocker化までの流れ
– Log4j脆弱性により、本L

元記事を表示

Perlアプリケーション + AWS Lambda + API GatewayでWebhookを受ける

こちらは[Perl Advent Calendar 2021](https://qiita.com/advent-calendar/2021/perl)の21日目の記事になります。
昨日は nanto_viさんによる

https://nanto.asablo.jp/blog/2021/12/20/9449537

でした。

さて、今年も軽い気持ちでPerl Advent Calendarに投稿してみようと思ったのですが、
今年は年末進行の深遠なる理由によりネタの仕込みが間に合わなかったため、
昨年の[PerlでGitHub webhookを受けるbotを作ってみた話](https://qiita.com/teckl/items/c3bff1419e06f2972949)をAWS Lambda + API Gatewayで動作するように手直ししてみましたので、今更のネタですが、軽い紹介とさせてください。。:bow:

# なぜ今頃これを試したのか?
某所で例のGitHub Webhookを受けるbotを運用しているのですが、
これまではわざわざ専用のホストを用意するまでもな

元記事を表示

AWS ChaliceのBlueprint機能を使ってコードをいい感じに整理する

# はじめに
みなさんサーバレス開発楽しんでますか?
AWSでサーバレス開発する場合、一から手でポチポチするのもしんどいので専用のフレームワークを使うことが多いと思います。代表的なところでいくとSAM、Amplify、Serverless Framework、Chaliceなどなど。
この中でも圧倒的な生産性の高さから、私は特にChaliceを好んで使っています。Pythonを使ってサーバレスアプリを組むならChalice一択とさえ思っているのですが、今回はそのChaliceを使ったときに発生しがちな悩みどころの解消方法を書いておきたいと思います。
そもそもChaliceってなんやねん、という方は以下の記事を見てみてください。

https://qiita.com/hiro-tech1192/items/6cff6aa94c52770c89f5

https://aws.amazon.com/jp/builders-flash/202003/chalice-api/?awsf.filter-name=

# 3行でまとめると

* Chaliceを使うとapp.pyが肥大化しがち
*

元記事を表示

LocalStackで、ローカル環境にS3とLambdaデプロイしてみた

#目次
[1.LocalStackとは](#1-LocalStackとは)
[2.今回作成するもの](#2-今回作成するもの)
[3.準備するもの](#3-準備するもの)
[4.LocalStackの起動](#4-LocalStackの起動)
[5.S3バケットの作成](#5-S3バケットの作成)
[6.Lambda関数の作成](#6-Lambda関数の作成)
[7.まとめ](#7-まとめ)

#1-LocalStackとは
・疑似的なAWS環境をローカルに構築することができる
・実際に料金はかからず、動作確認をすることが可能
 ⇒有料版もありますが、主要なサービスは無料版で使用することが出来ます
・導入が比較的楽

実際にAWS環境を使用しなくても動作確認ができることや、課金されないのはありがたいですね、、、。
筆者は色々起動しっぱなしにして月3000円×4か月くらい請求された経験があるため、非常にうれしいポイントです。

#2-今回作成するもの
今回は簡単にS3とLambdaをそれぞれ作成していこうと思います

#3-準備するもの
##1.Docker環境
まずDockerとdoc

元記事を表示

形態素解析をするLambdaをsamでdeployしたい

本記事は[AWS LambdaとServerless Advent Calendar 2021](https://qiita.com/advent-calendar/2021/lambda)、21日目の記事です。

ちょっと前に業務でとあるアイテムのサジェスト系のAPIのプロトタイプを作る時にMecabを使おうと思ったのですが、ちょちょいとはできずに一旦含めないことにした事があります。
でも結局の所、必要になりそうなのでやっておこう。
似たようなネタはけっこうあって、何番煎じなん?ってトコはあるのですが、samかつコンテナでやる例は見つからなかったのでセーフとします。

# 何をやるのか

実際にはもうちょっと複雑なのですが、 `今回は名称のDBがあって、それに対して名詞の単語のみでクエリを実行する` というシンプルなシナリオとします。
例えば、 **「伝説の勇者が使ったとされるひのきのぼう」**で検索されたとします。

“`
伝説 名詞,一般,*,*,*,*,伝説,デンセツ,デンセツ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
勇者 名詞,一般,*,*,*,*,勇者,ユウシャ,ユ

元記事を表示

【AWS】はじめてのサーバーレスAPI構築

この記事は[マイナビ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/mynavi)の21日目の記事となります。

#目的
AWS Lambda、API Gateway、Amazon RDSを利用して簡易的なサーバーレスAPI(以下、簡易API)を構築します。簡易APIにリクエストを送ると、RDSから値を取得しレスポンスを返すという仕様になります。

###構成図
![Untitled Diagram (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/304307/c980561e-5ab7-01c4-14ad-eb1cce3b854d.png)

#前提・注意事項

– 本ソースコードを試す場合は、APIとして外部公開される危険性を考慮し、DBに機密なデータが無いことを確認の上お試しください。
– 事前にRDSを構築しておく必要があります。今回の記事では詳細は省略しております。
– 認証に関しては、今回説明しておりませんが、

元記事を表示

AWS LambdaでVPCを紐付けした時の外部APIを使用する方法

よくLambdaからSlackへ投稿する方法など外部のAPIを使用したり、ウェブスクレイピングして定期的に情報を取得するなどの方法が、ネットで調べると出てきたりします。
通常ただLambdaで構築するだけだったら、何も気にせずに行えるのですが、Lambdaで、VPCの紐付けをしていると外部との接続ができなくなります。
当たり前の事かもしれませんが、Lambdaの勉強中にここでハマってしまいました。
どうやら、Lambdaに紐付けするVPC(正確にはサブネット)にNAT Gatewayを使用して外部接続が出来る様にしないと駄目との事でした。
なので、今後の為にメモ代わりに記事にして残しておきたいと思います。
これまでの記事同様、CloudFormation を利用してテンプレート化しています。

## NAT GatewayとElastic IPを利用する上での注意点

NAT GatewayとElastic IPが必要な為料金が発生する可能性が存在します。
私は、学習の為の必要経費だと思い気にしませんが注意が必要だと思います。

## テンプレートの作成

今回VPCの作成から行ってい

元記事を表示

【TypeScript】AWS CDKv2でサクッとLambda関数を作る

先日AWS CDK v2がstableになり、一層便利に使えるようになったので、TypeScriptでLambda関数をサクッと作ってみました。
リポジトリは公開していますので、よかったらご参考ください :bow:

https://github.com/tokku5552/cdk-lambda-typescript

### 環境

– macOS Monterey バージョン12.0.1 (Intel)
– node -v
– v16.13.0
– npm -v
– 8.1.4

“`json:package.json(一部)
“devDependencies”: {
“@types/jest”: “^26.0.10”,
“@types/node”: “10.17.27”,
“jest”: “^26.4.2”,
“ts-jest”: “^26.2.0”,
“aws-cdk”: “2.2.0”,
“ts-node”: “^9.0.0”,
“typescript”: “~3.9.7”
},
“dep

元記事を表示

AWS Gatewayでカスタムドメインを利用する方法

API Gatewayでカスタムドメインを利用する方法を学習したので、今後の業務などで実際に行う時などの為にメモ代わりに記事に残しておきたいと思います。

## カスタムドメインを利用する上での注意点

カスタムドメインを利用する場合**route53**と**Certificate Manager**で登録されたドメインとSSL/TLS 証明書が必要な為料金が発生する可能性が存在します。
私は、学習の為の必要経費だと思い気にしませんが注意が必要だと思います。

## テンプレートの作成

今回、**CloudFormation**を利用して行いました。
その為テンプレートを作成する処から始めたいと思います。
本当は**route53**もテンプレート化したい所ですが、今回はコンソールで登録作業を完了している状態を想定してあります。

作成するテンプレートの構成は以下になります。

1. IAM ロールの作成
1. WebSecurityGroupの作成
1. CertificateManagerでのSSL/TLS 証明書の作成
1. API GatewayでのREST APIの作成(

元記事を表示

AWS Lambda Powertools Pythonをまとめてみた。AWS Lambda Powertools Python 〜概要編〜

# AWS Lambda Powertools Pythonとは
[AWS Lambda Powertools Python](https://awslabs.github.io/aws-lambda-powertools-python/latest/) は、AWS Lambda関数用のユーティリティースイートで、トレース、構造化ロギング、カスタムメトリックスなどのベストプラクティスの導入を容易にします。 AWS Lambda Powertools (python) は、AWS Lambda関数の実行環境とサポートされているランタイム専用に最適化されています。Core Utilitiesの使い方については、こちらの[Blog](https://aws.amazon.com/jp/blogs/opensource/simplifying-serverless-best-practices-with-lambda-powertools/)にも書かれています。

## インストール方法
Powertoolsは以下の方法で利用可能です。

– Lambda Layer: arn:aws:lam

元記事を表示

SlackからCodeBuildを走らせるシンプルな方法

# はじめに
AWSビギナーによる自由研究です。SlackからAWS CodeBuildを走らせる方法を試してみました。
(最終的な活用イメージは[こちら](#活用イメージ))

# 概要
構成の全体像と、今回活用したAWSの各サービスの概要を紹介します。

## 全体構成
Slackから、ChatbotとLambdaを経由してCodeBuildを起動します。

1. Slack workflowからデプロイをkick
1. Chatbot、Lambda経由でCodeBuildをstart
1. CodeBuildの実行ステータスをChatbot経由でSlackにpost

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2322844/d9367022-ac53-7358-a698-96a7a7ea6f04.png)

## 各サービスの役割
今回は、Chatbot・Lambda・CodeBuildの3つのAWSのサービスを使用します。
### Chatbot
AWS内⇔AWS外のインタ

元記事を表示

LTE-M CO2センサー RS-LTECO2 スターターキットをセットアップして各種アラートを飛ばしてみる

この記事は、[SORACOM Advent Calendar 2021](https://qiita.com/advent-calendar/2021/soracom) の18日目の記事です。

今回はだいぶ前に買ったんですが、色々とやっているうち、セットアップしたものの、放置しっぱなしになっていた(汗)、
LTE-M CO2センサー RS-LTECO2 スターターキットを使って、室内監視をしてみた話になります。

## LTE-M CO2センサー RS-LTECO2 スターターキットとは。
ラトックシステム株式会社が製造しているCO2センサーです。
愛用しているGPSマルチユニットとは違い、リファンレスデバイスではなく、
ラトックシステム株式会社の委託販売商品となっているようです。

[LTE-M CO2センサー RS-LTECO2 スターターキット](https://soracom.jp/store/12112/)

LTE-M版はSORACOMのIoTストアなどでしか買えない製品ですが、
Wifi版があり、そちらは、Amazon.comなどでも購入可能です。
それがこ

元記事を表示

貴様の幸せ度合いを数えろ ~ハピネススカウターを実際に作ってみた~

# 幸せ戦闘力を計測するAWS×LINE Bot で作ってみた

## はじめに

### 開発に至るまでの経緯

実際に作ろうか否かの話は今年、2021年4月にありました。
ことの発端は[こちらの記事](https://qiita.com/keeey999/items/7ce7c4bc342ca2ec7319)です。
作ろうと思いましたが当時はLINE Bot の知見がなく作るにもどこから作れば良いか分かりませんでした。

ですが、今年はCloudTech と LINE Developers とのコラボイベントを2回開催して
その中でLINE Botの作り方をおおむね理解できたのでそれじゃあ挑戦してみようという風になったわけです。

ちなみに今回のLINE Botは実際に友達の結婚式があるということもあり
タイミングも良かったので作ってみたということもあります。(むしろ、これが主な要因?)

### 何を作ったか – 2行で説明

Amazon Rekognition(AWSのサービス)で表情を分析して
表情から幸せ度合いを測定するLINE Botを作りました。

### 完成品の

元記事を表示

AWS初心者がつまづいたlambdaとS3の連携

## はじめに
どうも、こんにちは。今回はlambdaとS3の連携について、AWS初心者が初心者なりに頑張って説明していきたいと思います。初心者が分からないことは、案外初心者にしか分からないものです。ある程度できるようになってくると、自分ができなかった頃の記憶が抜け落ちていきますからね~。ということで、簡単な実例を用いて、できる限りかみ砕いて説明していきたいと思います。
また、今回はWindowsユーザー寄りの記事になります(私がWindowsユーザーなので…)。途中で使用するコマンドが違ったりするかもしれませんが、あしからず。
AWS初心者である私の躓きポイントの1つが、Windowsユーザー向けの記事の少なさなんですよね。Macを使われている方の記事を参考にする際は、コマンドの違いなどから高確率で遠回りをすることになります。肩身が狭いですよね…
Macユーザーの方でも問題なく実行できるように、頑張って書きますので、最後までお付き合いいただけると幸いです。

## 私がつまづいたポイント
[1. lambdaで外部ライブラリが使えない](#必要なライブラリの追加)
[2. l

元記事を表示

AWS初心者によるAWSでの定期実行処理

## はじめに
どうも、こんにちは。今回は、AWSで定期実行処理を行う方法を紹介したいと思います。今回の記事には、超絶初歩的なことしか書いてないです。AWS玄人の方からすれば鼻で笑われても仕方ないような内容になりますが、最後までお付き合いいただけると幸いです。
AWSのアカウントをまだ作っていないよ~、って人は公式のドキュメントを参考に作ってみてください。

https://aws.amazon.com/jp/register-flow/

## lambdaの設定
具体的にどのような処理を実装するのかというと、AWSのlambdaとCloudWatchを使って、一分毎に「hello world」と出力するプログラムを作ってみようと思います。
まずは、lambdaで「hello world」と出力する処理を作ります。AWSのマネジメントコンソールに移動したらlambdaを選択してください。トップページにlambdaが表示されていない方は、検索バーでlambdaと検索すると出てくると思います。
![image.png](https://qiita-image-store.s3.ap-no

元記事を表示

AWS費用監視ツール(後編:Lambda活用)

# 1. はじめに
前回の記事では、AWS マネジメントコンソールと、AWS CLIによる費用確認方法を紹介しました。今回は、プログラミングによるREST API操作と、Lambdaへのデプロイについて解説します。

– AWS費用監視ツール(前編:AWS マネジメントコンソール&AWS CLI)
– AWS費用監視ツール(後編:Lambda活用) **← 本記事**

本編は、次の2つの章立てになっています:

– 2章「プログラム(Python)による確認」
– AWS CLIに代わってプログラムからREST APIを操作します。ここではプログラミング言語としてPythonを使いましたが、(SDKがサポートされている)好きなプログラミング言語を使用できます(下記参照)。

https://aws.amazon.com/jp/getting-started/tools-sdks/

– 3章「Lambdaへのデプロイ (AWS SAMフレームワーク)」
– 2章で作成したPythonのロジックをベースにLambdaに移植します。この章では、サーバレスフレームワークの

元記事を表示

OTHERカテゴリの最新記事