- 1. ソラコムの【あのボタン】で勤怠打刻してみた(その2)
- 2. マイクロサービス?(AWS Lambda)のログの運用監視する際のツール ※Node.jsの場合
- 3. サーバーレスでヤフオクの在庫自動管理
- 4. AWS Amplify フレームワークの使い方Part11〜Function 権限管理編〜
- 5. 【VueSlsApp】サーバーレスなアーキテクチャの解説
- 6. ソラコムの【あのボタン】で勤怠打刻してみた(その1)
- 7. 【書評】「Severlessを支える技術 第2版」が控えめに言って神本でした #技術書典
- 8. AWSで発生したイベントを AWS Chatbot + Lambda で Slack にお手軽に通知する - ②EventBridge篇
- 9. Cloud 9 + lambdaでbot作成 ーpart3
- 10. AWSで発生したイベントを AWS Chatbot + Lambda で Slack にお手軽に通知する - ①準備篇
- 11. 画像データのテキストを自動翻訳してみた
- 12. AWSのELBを死活監視し、アラームをslackに通知する
- 13. 高校生3人で作ったLINEBot「カップ麺タイマー」の技術的まとめと、開発の感想
- 14. APIGateway + AWS Lambda の構成でCloudWatch Logsに出力されるログ
- 15. バイナリファイルのアップロード・ダウンロードをする
- 16. EC2 SchedulerでEC2を平日だけ稼働させてコスト削減する
- 17. 【AWS】S3+CloudFrontで静的サイトをホスティング + LambdaでBASIC認証つける
- 18. AWS Lambda Layer(NodeJS)の作り方
- 19. LINEBotをみんなで作ろう〜コードを実装編〜【GWアドベントカレンダー最終日】
- 20. LINEBotをみんなで作ろう〜レイヤーとAPIgateway設定編〜【GWアドベントカレンダー7日目】
ソラコムの【あのボタン】で勤怠打刻してみた(その2)
前回はlambdaを使ってSlackに出退勤を報告する部分を作成しました。この時点でもう本体はできましたが、後はこのlambdaのトリガーになる部分を用意するだけです。というわけで今回はSORACOM LTE-M Buttonを設定してlambdaを設定するところをやっていきます。前回の記事は以下のリンクから御覧ください。lambdaの実装やSlackの設定はこちらに書いています。
[ソラコムの【あのボタン】で勤怠打刻してみた(その1)](https://qiita.com/K_M95/items/854cd0c498792574c8a6)## LTE-M ButtonをSORACOMに登録する(無料枠を超えた方向け)
LTE-M Buttonは購入すると使用開始から1年間、もしくは1500回ボタンを押すことが出来る無料枠がついてきますが、僕はすでに使い始めてから1年が経過したので、SORACOMにボタンを登録する必要があります。[こちら](https://dev.soracom.io/jp/start/aws_button_registration/)を参考にボタンを登録して
マイクロサービス?(AWS Lambda)のログの運用監視する際のツール ※Node.jsの場合
# マイクロサービス?(AWS Lambda)のログの運用監視する際のツール ※Node.jsの場合
便利なツールは以下の通り
* DAZN Lambda Powertools
関連性のあるLambda同士を紐づけるIDをログに出力してくれます。
LambdaからLambdaの呼び出しが複雑になる場合に、関連性のあるログを一括して検索した場合に活用できます。参考URL:https://dev.classmethod.jp/articles/dazn-lambda-powertools/
* AWS X-Ray
AWSのサービス(Lambdaもできる)の関連性を可視化でき、分析もできます。
※画面イメージ的には、JP1とか、Jenkinsのパイプライン的な感じ。Lambdaのジョブフローが見える感じ。
※内部的には、上記で紹介した「DAZN Lambda Powertools」と同じようなことしてます。参考URL:https://docs.aws.amazon.com/xray/index.html
DAZN Lambda Powertools&AWS X-Rayどち
サーバーレスでヤフオクの在庫自動管理
#はじめに
ヤフオクでの出品物の在庫管理を任されたのでサーバーレスで自動化しました。
流れとしては、出品→在庫へ登録→csvに出力というものです。
最終的に印刷して保存するためにエクセルで開けるようにcsvに出力します。
AWS Lambdaで自動でこの流れを実行できるようにします。#TL;DR
1. pythonでスクレイピング。DynamoDBに登録
1. DynamoDBのデータを元にcsv生成、AWS S3にアップロード
1. URLにアクセスすると最新版のデータが取得できるこの流れで実行されます。
今回のリポジトリ
[ramo798/Inventory_control](https://github.com/ramo798/Inventory_control)![Untitled Diagram.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285408/0461f360-624d-d64e-b5d1-4c4bae866688.png)
#ポイント
##boto3でのupd
AWS Amplify フレームワークの使い方Part11〜Function 権限管理編〜
# はじめに
以前書いた記事では、functionのリポジトリで管理できて素晴らしい、という内容を書きましたが、使えば使うほど、このfunctionの機能は素晴らしいことを感じている今日このごろです。今回は、権限管理について書いていきます。
そもそもAmplifyフレームワークのfunction機能では何ができるの?という方は、まずこの記事を読んでみてください。
[AWS Amplify フレームワークの使い方Part9〜Function編〜](https://qiita.com/too/items/d2732b3ec625011f4567)# 権限管理機能
AWSの素晴らしい機能の1つといえば、そう、IAMでの権限管理ですね。細かく権限管理ができる一方で、よくわからないからとりあえずadmin権限を与えている、なんてことはよくある話かと思います。ただ、本番環境をリリースするにあたっては、IAM設定は必須でしょう。だだ、なかなかそれを1つずつ自分で設定するのって大変なんですよね、、、。
そんなお困りの方に、Amplify!!
そんな心配を見事に簡単に解決してくれます。
【VueSlsApp】サーバーレスなアーキテクチャの解説
注:本記事はnote記事の転載です。内容の更新があった場合noteのほうを更新します。qiita記事が古くなってきている場合、noteもご確認ください。
https://note.com/thiroyoshi/n/n2560c21cd6b9
—
こんにちは。thiroyoshiです。
今回はVueSlsAppのアーキテクチャについて解説したいと思います。
コードは書けるけどアーキテクチャ図は書けないとか、マネージドサービス同士が実際どうつながっているのかよくわかっていない、という人に特に知ってもらいたい内容です。アプリの紹介記事は以下。
https://note.com/thiroyoshi/n/na16112b4ec1bデプロイしてあるものは、以下から実際に触ってみてもらえます。
https://vueslsapp.thiroyoshi.com/ソースは以下で公開しています。
https://github.com/thiroyoshi/vueslsapp## サーバーレスなアーキテクチャがどう繋がっているか理解する
サーバーレスアーキテクチャのアプリケー
ソラコムの【あのボタン】で勤怠打刻してみた(その1)
みなさん、在宅勤務やってますか?そして在宅勤務の打刻忘れてませんか?僕は忘れっぽいんですが、在宅勤務の打刻だけは忘れてません。が、打刻をしたあとslackのスレッドにも業務を開始する旨を開始時間と一緒に投稿する必要があります。そして退勤するときも同様に打刻した後に同じスレッドに退勤時間を投稿する必要があります。**これがまあ面倒くさいんですよ。**面倒くさいことはなんとかして解決する、それがエンジニアってもんじゃないですか(偏見)
というわけで、今回はこのSlackへの投稿を自動化してみたいと思います。
※今回はプライベートのテスト環境でためしてます。## 今回使うもの
さて何をつかってこれを自動化しようか考えたときに机の上にあるものを見つけました。
![IMG_20200511_215729.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170520/2360a460-b31c-276c-1c93-acb1ac2c0ef4.jpeg)
そうです、以前Soracom UGのハンズオンで買った**あ
【書評】「Severlessを支える技術 第2版」が控えめに言って神本でした #技術書典
## 0.はじめに
こんにちは。
エンジニアしている @gkzz です。
コロナやら、外出は自粛と今年のGWは例年と過ごし方が少し変わった方もいらっしゃるのではないでしょうか。私はひたすら、AWS認定ソリューションアーキテクト-アソシエイトの模擬試験を解きまくるか、先日お譲りいただいた大量の技術書典の本を乱読していました。
めちゃ大量に技術書が届く!
積読しないように溜まってる本たちを読んでおかなければ? https://t.co/wx7pYh2efz— gakuji tamaki (@gkzvoice) May 7, 2020
AWSで発生したイベントを AWS Chatbot + Lambda で Slack にお手軽に通知する - ②EventBridge篇
# はじめに
[**前回の記事**](https://qiita.com/eijikominami/items/47aa6be68d66f9986d56)では、AWS上の **システムやアプリケーションの健全性** や **可用性** を **追求するために**、AWSアカウント上で発生したさまざまなイベントを、**AWS Chatbot** と **AWS Lambda** を使って **お手軽にSlackに通知する** システムのデプロイ方法についてご説明しました。今回は本システムのうち、受信したイベントをAmazon SNSにルーティングする役割を担う、**Amazon EventBridgeの設定** についてご説明します。
## Slack が受信した通知の例
![](https://raw.githubusercontent.com/eijikominami/aws-cloudformation-templates/master/images/slack_chatbot_cloudwatch.png)## デプロイ
以下を実行することで、 **AWSで発生したイベ
Cloud 9 + lambdaでbot作成 ーpart3
#はじめに
本投稿は下記のパート3として、Lambda Functionから
S3オブジェクトへの読み書きを扱います。
・part1 : https://qiita.com/htanaka/items/a13fe6da23c3fcdc172a
・part2 : https://qiita.com/htanaka/items/2e6bdc3f54bdfdf542a9前提
・Cloud9環境は用意済み(part2)
・Cloud9からLambda Functionを実行する(part2)#boto3のインストール
LambdaではPython3を使用してコードを書いているため、
S3オブジェクトへの読み書きはAWS SDK(boto3)をして行う。・boto3のインストール
```
cd bottest
python -m pip install --target=./ boto3
```#S3の準備
今回はS3に置いたファイル(CSV)への書き込みを想定している。
そこで、S3作成のほか下記を用意する。```
bucket_name = 'bottest-20042
AWSで発生したイベントを AWS Chatbot + Lambda で Slack にお手軽に通知する - ①準備篇
# はじめに
AWSアカウントを作成したその日から、 **AWSアカウント上では様々なイベントが絶え間なく発生** します。これらのイベントを **適切にモニタリング** することで、AWS上の **システムやアプリケーションの健全性** や **可用性** を **追求することが可能**となります。
そこで、2020年4月22日に晴れてGAとなった ``AWS Chatbot`` と、**AWS Chatbot** 登場までは主流な実装方法であった``AWS Lambda`` とを組み合わせて、**AWSで発生したイベントをSlackに通知** してみたいと思います。
もちろん、チャットサービスを介して、**AWSで発生したイベントをリアルタイムにモニタリングすることが、全てのケースで正しいとは限りません**。また、そもそも下記でご紹介するイベントが、イベントの特性上、リアルタイムに通知されるべきではない可能性や、ケースによってはSlackというサービス自体が不適な場合もあるかもしれません。あくまで、AWSをモニタリングするための手法の1つとご理解ください。
# アーキテクチ
画像データのテキストを自動翻訳してみた
最近、仕事に忙殺され、趣味コーディングができていなかったので、手前味噌がてら久しぶりに投稿。
画像データに含まれるテキストデータを検出し、好きな言語に自動翻訳できるアプリを実装してみた。
外国人旅行者が増える中、分らない言語の看板や商品説明ページ、食品の成分表...などなど、写真で取れば後は自動で好きな言語に翻訳してくれれば少し幸せなことだと思う。今回は、AWSの画像認識API(Amazon Rekognition)/翻訳サービス(Amazon Translate)を使用し、以下のような構成で実装してみた。
####1. Lambda側実装
① Lambdaハンドラー実装```java:LambdaFunctionHandler.java
package com.amazonaw
AWSのELBを死活監視し、アラームをslackに通知する
# 目的
EC2へのパケット転送を行うELBの死活監視を行い、SNS(slack)に通知させて障害対応を早めるため、AWSのサービスで実装しました。# 概要
全体の構成は以下の通りです。ターゲットグループとしてEC2を1台指定したELB(アプリケーションELB)に対して、CloudWatchで死活監視を行い、ダウンを検知したらlambdaを起動させ、SNS経由でslackに通知させるという内容です。lambdaで指定するslackのURLをKMSで暗号/復号化しています。
![fess2_qiita (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252317/73a5ea11-011f-1420-f5c5-e9f34d225d13.png)# 手順
概要図のサービスの矢印の順に作成していくイメージです。
1. CloudWatchでの死活監視の実装
2. slackの設定
3. lambda用のKMS作成
4. KMS用のIAMポリシーを作成
5. lambdaからSNSへの通知設定の
高校生3人で作ったLINEBot「カップ麺タイマー」の技術的まとめと、開発の感想
こんにちは。最近高校生のDeveloper友達が増えてきて楽しくなってきているようかんです。
機能リリースした「[カップ麺タイマー](https://cupmenbot.nztm.io/)」を開発するに当たって、LINEBotのバックエンドを担当させてもらったので、開発の中で使った技術・検討したサービスなどなど、裏側を全部公開します!
プロダクトが始まった頃は**GitHubを使ったことが無い**、**非同期同期処理を知らない**、**自分で1からコードを書いたことが無い**という超絶初心者でした。ですが、[SGG](https://qiita.com/organizations/sgg?page=1)のみんなに質問しまくり、いっぱい学び、
APIGateway + AWS Lambda の構成でCloudWatch Logsに出力されるログ
## 知りたかったこと
Amazon API GatewayとAWS Lambda とでサーバレスなAPIを構築し、デバッグに有用なログを得られるのかを知りたいんです。Lambda関数は変更せずに、マネージメントコンソールの設定変更で出力されるログは何ですか。
## 3行で
1. AIMポリシー `AmazonAPIGatewayPushToCloudWatchLogs` を付与したIAMロールをAPIGatewayに設定
2. APIGatewayのステージエディタの「ログ/トレース」タブで 「CloudWatch ログを有効化」にチェックをつけて、追加表示される「リクエスト/レスポンスをすべてログ」にもチェックをつける
3. CloudWatch Logsロググループ「API-Gateway-Execution-Logs_{rest-api-id}/{stage-name}」を見る## 構成
シンプルに API Gateway の Lambda プロキシ統合 を使って Lambda関数を呼び出します。
![構成図.png](https://qiita-image-st
バイナリファイルのアップロード・ダウンロードをする
HTMLからバイナリファイルをアップロードしたり、サーバからバイナリデータをダウンロードしてみます。
クライアント側として、HTMLのSubmitボタンを利用する方法と、Javascriptから送信する方法でやってみます。
サーバ側としては、Node.jsのSwagger-node(中身はExpress)のサーバの場合と、AWSのAPI Gateway+Lambdaの場合を取り上げます。毎度の通り、ソースコードは以下に上げておきました。
poruruba/fetch_laboratory
https://github.com/poruruba/fetch_laboratory#バイナリファイルの送信
それでは、送信するクライアント側のWebページから見ていきます。
まずは従来からの、HTMLのSubmitボタンで送信する場合です。
HTMLは以下のような感じになります。```html:index.html
【AWS】S3+CloudFrontで静的サイトをホスティング + LambdaでBASIC認証つける
何番煎じかわかりませんが備忘録兼ねて…
[前回の記事](https://qiita.com/duplicate1984/items/3a4d93a2e9bb5fcf54d1)でAmazon ConnectのCCPをカスタマイズしてWebページを作成しました。
Amazon Connect Streamsの仕様により、httpsでホスティングしなければいけないので、
パブリックアクセスを制限したS3にWebページを配置、CloudFrontを経由することでHTTPSによるアクセスを必須とします。
また、ついでにLambdaでBASIC認証を設定します。#まずS3とかCloudFrontってなに?
AWS初心者なのでまずここからでした。###S3
Amazon Simple Storage Service
一言でいうとクラウドストレージサービス。安価で容量無制限、高い堅牢性を謳う。
静的Webサイトを配置して公開したり、ログファイルや諸々のデータをバックアップするなどユースケースは幅広い。
Webサイトを配信する際はCloudFrontを経由することが推奨されており、
クラウド
AWS Lambda Layer(NodeJS)の作り方
# NodeJSを動かすのにライブラリが不足する事態発生
- 説明端折りますが、どうやらLayerというものを入れれば良いと検索して分かる。
- 作り方が色々書いてあって、最初間違っているサイト(バージョンが古い?)を閲覧してしまったハマったので自分の方法を記載します。# バージョン
- Node 12.16.03 ※13を使っていたのですが、Lambdaが執筆時は13をサポートしていなかったので、12にダウングレードしました。
- ダウングレード方法は、ここを見て下さい。
https://qiita.com/realtakahashi/items/a398e83a961c8dcfa109# 闇雲に作ってはいけない。決まりがあった
- 決まった方法やディレクトリ名で作る
- ディレクトリ名は「nodejs」※それ以外は多分NG```
mkdir nodejs
cd nodejs
```
- ディレクトリ内でnpm initをします。 ※全てデフォルト、エンターでOKです。
- そして、必要なライブラリをインストールします。※例では3つ(require、puppeteer-c
LINEBotをみんなで作ろう〜コードを実装編〜【GWアドベントカレンダー最終日】
この記事は下記の [#GWアドベントカレンダー](https://gw-advent.9wick.com/calendars/2020/72) の 8日目の記事になります。
1週間でサーバレスLINEBotを生み出す( @inoue2002 ) | GWアドベントカレンダー
# はじめに
こちらの内容は超初心者向けです。
[公式ドキュメント](https://developers.line.biz/ja/docs/messaging-api/overview/#messaging-api%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF)を読める方はこちらをお読みいただく方が正確です。[昨日の記事](https://qiita.com/inoue2002/items/ab226d9836a891b01bc9)をご覧になってない方はぜひ。
こちらの記事はGWアドベントカレンダーを通してLINEBotをサーバレスで作れるようになろう!ということを目標に書いている記事です。LINEBotは作れるけどAWSでサーバーレスを作ってみたい!方向けの記事です
昨
LINEBotをみんなで作ろう〜レイヤーとAPIgateway設定編〜【GWアドベントカレンダー7日目】
この記事は下記の [#GWアドベントカレンダー](https://gw-advent.9wick.com/calendars/2020/72) の 7日目の記事になります。
1週間でサーバレスLINEBotを生み出す( @inoue2002 ) | GWアドベントカレンダー
# はじめに
こちらの内容は超初心者向けです。
[公式ドキュメント](https://developers.line.biz/ja/docs/messaging-api/overview/#messaging-api%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF)を読める方はこちらをお読みいただく方が正確です。[昨日の記事](https://qiita.com/drafts/ad945981150c859911fc)をご覧になってない方はぜひ。
こちらの記事はGWアドベントカレンダーを通してLINEBotをサーバレスで作れるようになろう!ということを目標に書いている記事です。LINEBotは作れるけどAWSでサーバーレスを作ってみたい!方向けの記事です
昨日の記事でAWSア