- 1. 【待望リリース!】もう Lambda×RDS は怖くない!LambdaでRDSプロキシを徹底的に検証してみた 〜全てがサーバレスになる〜
- 2. AWS Lambda + DynamoDB + SES で作るServerlessメール配信機能
- 3. StepFunctionsの入力方法サンプルメモ集
- 4. Provisioned Concurrency for Lambda Functions ちょっと試してみた。
- 5. re:Invent 2019 – Lambda Provisioned Concurrency やってみた
- 6. 本当にあったAWSでやらかした話と対策?
- 7. 社内chatworkにVIPチャンネルを作った話
- 8. らくらく?スタートアップ用片手間手抜き分析プラットフォーム作り(BigQuery+Tableau)
- 9. 【AWS】RustでServerlessFrameworkを使ってみる
- 10. 【サーバレス機械学習入門】AWS Lambda レイヤーの使い方
- 11. TerraformでLambda(Cron起動)を構築する
- 12. 社内slackにVIPチャンネルを作った話
- 13. Chalice x Circle CI 環境における CI/CD について
- 14. 手順メモ:AWS Lambdaでzipファイルをアップロードするまでに必要なこと
- 15. サーバーレスCrystalのための自作Custom Runtimeを改良した話
- 16. 1dayでやりきる!スタートアップ向けの少人数CSのコールセンター作り(Amazon Connect + Lambda + Slack)
- 17. PycharmでローカルのLambdaをDocker Toolboxで動かす時にデバッグ実行できない事象の回避
- 18. Site24x7 の API 認証が OAuth 2.0 に変更されたので、アクセストークンを取得してみる。
- 19. AWSサーバレス(Python)でWebSocketを使ったWEBチャットを作ってみます!
- 20. 「Cloud functions VS AWS Lambda」を「お金」と「始めやすさ」で勝手に比較してみた
【待望リリース!】もう Lambda×RDS は怖くない!LambdaでRDSプロキシを徹底的に検証してみた 〜全てがサーバレスになる〜
本日の reinvent でのリリースで衝撃のアップデートがたくさん出ましたね。EKS on Fargate や SageMaker の大幅アップデートも魅力的ですが Lambda の常識をくつがえす RDS のプロキシ機能が登場しました ?
ついに出ました!これでLambdaからRDS使うの怖くなくなります。Lambdaからも使えるコネクションプールマネージャ。これでLambdaとRDBMSの相性問題は先日のVPCの改善と合わせて解消されますー。SQL最高!! / “Using Amazon RDS Proxy with AWS Lambda | AWS Compute Blog” https://t.co/YWgIu19GoH
— Keisuke69@AWS re:Invent (@Keisuke69) AWS Lambda + DynamoDB + SES で作るServerlessメール配信機能
今までは大量にメールを配信するシステムをつくるのは簡単なことではなかた。
ですが、AWSが提供している複数のサービスを組み合わせることで大量のメールを配信する機能も簡単に作れるようになりましたね。いろいろなユーズケースによって、様々設計方法があるかと思いますが今回はAWS Lambda + SQS + DynamoDB + S3の組み合わせでつくるメール配信機能を設計してみました。# 作成したい機能
テンプレートで作成したメールマガジンデータファイルをS3にアップして、おなじく対象のユーザリストをcsv形式のファイルをアップすると、配信希望の時間になったら大量のユーザに対してメールを配信する。配信したメールの配信履歴を6月間保存してそれ以前の配信履歴を削除する。# 設計図
### パタン1:事前準備しないで送信
![plantuml(1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120301/82b15e31-0780-650e-cd4f-fa82297f3455.png)###
StepFunctionsの入力方法サンプルメモ集
# メモ
## 前提
### 検証用Lambdaファンクション
引数を出力するだけ“`ruby
require ‘json’def lambda_handler(event:, context:)
puts event
puts context
{ statusCode: 200, body: JSON.generate(‘Hello from Lambda!’) }
end“`
## InputPath
StepFunctionsの実行の入力のうちで、Lambdaファンクションにわたす引数を抽出する。
### ステートマシン定義
“`json
{
“Comment”: “test”,
“StartAt”: “Hello”,
“States”: {
“Hello”: {
“Type”: “Task”,
“Resource”: “arn:aws:lambda:ap-northeast-1:xxx:function:inputparameter-test”,
“InputPath”:
Provisioned Concurrency for Lambda Functions ちょっと試してみた。
AWSの一番好きなサービスはAWS Lambda な人です。
—
re:invnet 2019真っ最中で、量子コンピューティングサービス出てきたり、EKS for Fargateとか出ている中で、Lambdaのアップデートがいくつかありました。
その中で、過去の経緯上、個人にちょっと熱かった
[Provisioned Concurrency for Lambda Functions](https://aws.amazon.com/jp/blogs/aws/new-provisioned-concurrency-for-lambda-functions/)
についてやってみたので、所感のメモです。
※リンクは日本語でたら変えるかも例によって、クラスメソッドさんが速報を上げてくれているので、こちらも
[[速報]コールドスタート対策のLambda定期実行とサヨナラ!! LambdaにProvisioned concurrencyの設定が追加されました #reinvent | Developers.IO](https://dev.classmethod.jp/cloud/aw
re:Invent 2019 – Lambda Provisioned Concurrency やってみた
## Provisioned Concurrency とは
Lambda のコードスタート対策として、CloudWatch Events から定期的に Lambda を呼び出すという処理を、一般機能として提供されます。## 前提条件
– **$LATEST** バージョンに設定できない
– **エイリアス** か **バージョン** の設定が必要
– 無料枠に適用されない## どう設定する
Lambda の設定画面で設定できます![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160072/5b62a02c-91bc-2446-f910-3490139fdcb0.png)
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160072/44983f90-c15d-3d97-5186-e77f541c762b.png)## 料金設定 (東京リージョン)
||Price|
|—|—|
プロビジ
本当にあったAWSでやらかした話と対策?
# 概要
みなさんこんにちは?
「[フォトリ](https://photream.com/)」という家族写真の撮影サービスを運用している会社でCTOをしてるカイトズズキと申します。この記事では、先日会社のAWSで割と高額の請求が来てしまい?死にたくなる思いをしたので、そのお話についてしていきます。
AWSは便利だけど、お金使いすぎたりしないか不安になりますよね。
特に僕はそんなにAWSには詳しくない人間なので、なおさらドキドキです。この記事を通して、僕がやっちまった失敗をみなさんに知ってもらい、
同じような失敗をする人が1人でも減ることを祈ってます?# やらかした話
### やらかしレベル
まず、結果としてどれくらいやらかしたかと言うと、
普段の使用料金以外に、
– `Lambda` で **10万円** くらい
– `S3` で **30万円** くらい
の請求が来てしまいました、、、普段は数万円程度で2つのWebサービスを運用しているため、
最初に気づいたときは驚きすぎて理解に苦しみました、、、笑なお、結果的に `Lambda` の方はAWS様にご返金いただき
社内chatworkにVIPチャンネルを作った話
# がいよう
[社内slackにVIPチャンネルを作った話](https://qiita.com/peisuke/items/80984db8b47cd8243019)上記エントリが面白かったのでchatwork版を作りました。
# やりたいこと
– 匿名チャンネルと、発言するbotアカウントを用意する。
– botアカウントで[Chatwork Webhook](http://developer.chatwork.com/ja/webhook.html)を使う。
– WebhookをAWS API Gatewayで受け取り、Lambdaを発火する。
– Lambdaから[Chatwork API](http://developer.chatwork.com/ja/endpoint_rooms.html#POST-rooms-room_id-messages)を使いbotアカウントで匿名チャンネルへ発言する。やっていきましょう
# Chatworkをやる
匿名チャンネルと、発言するbotアカウントを作ります。
匿名チャンネルには一緒に遊びたいユーザーを全員追加して
らくらく?スタートアップ用片手間手抜き分析プラットフォーム作り(BigQuery+Tableau)
# TL;DR
入社当初、社員10-20名の小さいスタートアップでプロダクトのデータをもろもろまとめたい、ディレクター職や何か数値をまとめたいときに簡単に低予算、手間かけないで分析基盤を用意したことをおさらいします
# 背景
Moff AdventCalender第4号は私が入社してすぐに取り掛かったことで、低予算+抵工数の分析基盤作りについて紹介します。どういう変遷だったか詳しくは覚えていないんですが、Moffが介護事業所や医療機関に提供するサービスでは、MoffBandを装着したユーザーが、あるトレーニング・動作を実施することで、そのトレーニング結果・動作結果(可動域の角度や速さ、回数、腕振りの腕の向きデータや歩行のバランスにまつわる数字データetc)を記録しております。
また、初期ローンチを少人数でカバーするために当時Serverless(API Gateway + Lambda + DynamoDB、ところによりKinesis Data Stream)にてプロダクトをリリースしてたので、ユーザーデータ含め、運動動作にまつわるデータは全てKVS(DynamoDB)で管理され
【AWS】RustでServerlessFrameworkを使ってみる
この記事は Rustその2 Advent Calendar 2019 12/3 の記事です。
以前ブログでも書いたのですが、今回はRustを使ってServerlessFramework用のプロジェクトを作るための最小限のことだけ書いていきます。
## 環境構築
### Rust
||バージョン|
|—|—|
|rustc|1.41.0-nightly|
|rustup|1.20.2|
|cargo|1.41.0-nightly|### ServerlessFramework
||バージョン|
|—|—|
|yarn|1.19.2|
|serverless|1.58.0|
|serverless-rust|0.3.7|### Rustインストール
“`bash:console
curl –proto ‘=https’ –tlsv1.2 -sSf https://sh.rustup.rs | sh
“``.profile`にPATHが更新されるので確認して、読み込みます。
“`bash:console
$ cat ~/.profile
【サーバレス機械学習入門】AWS Lambda レイヤーの使い方
## はじめに
これは[機械学習ツールを掘り下げる by 日経 xTECH ビジネスAI③ Advent Calendar 2019](https://qiita.com/advent-calendar/2019/machine-learning-02)の1日目の記事です。
12/20に記事を書こうと思っていたのですが1日目が埋まっていなかったので突貫工事で記事を書きました。
私はAWS Lambdaが大好きなので、Lambdaで機械学習するノウハウを書いていこうと思います。
本記事では**Lambda関数でPandasなどの外部ライブラリを使う方法**をまとめておきます。[^ase]
[^ase]: 1日目がこんなんでいいのか…?
## これまでのAWS Lambda
これまでのAWS Lambdaでは、外部ライブラリを用いる場合[^built-in]
– Lambda関数のソースコード
– ライブラリのソースコードこれらをZipファイル(デプロイパッケージ)にまとめてアップロードする必要がありました。
[^built-in]: [組み込み関数](https:
TerraformでLambda(Cron起動)を構築する
# はじめに
Lambdaのバッチ実行をCloudWatch Evnetと組み合わせて使うことがよくあると思いますが、
今回はその設定をTerraformを使って構築してみたいと思います。# 事前準備
Terraform, aws-cliのインストールをお願いします。“`bash
brew install terraform
brew install awscli
“`ちなみに私の環境は下記のようになっています。
macOS Mojave 10.14.6
Terraform 0.12.6
aws-cli 1.16.21# フォルダ構成説明
“`
.
├── main.tf →Mainファイル
├── variable.tf →変数定義ファイル
├── terraform.tfvars →外部変数設定ファイル
├── lambda_src →Lambdaソース置き場
│ ├── handler.py
│ └── requirements.txt
└── modules →AWS各サービスモジュール
社内slackにVIPチャンネルを作った話
[ABEJA Advent Calendar](https://qiita.com/advent-calendar/2019/abeja)の1日目です。
# はじめに
昨年はABEJA Platformに関するAdvent Calendarでしたが、今年はプラットフォームに限らず幅広い技術を扱おう、ということで縛りを作らずに様々な技術を紹介していきます。
さて、皆さん、社内でのコミュニケーションツールは何をお使いでしょうか。色々なツールがあると思いますが、Slackを使っている所が多いのではないかと思います。Slackはとても良いツールなのですが、使いこなす会社側にその運用ルールが委ねられています。中でも、DMやプライベートチャンネルでの秘密の会話による情報格差などが発生することが問題になり、オープンチャンネルに限定している会社も多いのではないでしょうか。しかしながら、オープンに会話をすれば、皆が平等かつ平和に会話ができるか?というと、全くそんなことはありません。オープンにすると下記のような問題が発生します
### 問題1:心理的安全性が確保されない
様々な技術力、ポジション
Chalice x Circle CI 環境における CI/CD について
# 序文
https://chalice.readthedocs.io/en/latest/AWS Chalice は、AWS Lambda と API Gateway などを組み合わせて、Heroku のような手軽さで Serverless 環境を構築することができるフレームワークです。
現在のところ開発言語は Python しか対応していない(今後も対応する?かは不明)ですが、その制約を受け入れれば他の Serverless フレームワークよりも手軽で開発しやすい環境が提供されているように思います。
私の環境でも、簡易的な API の作成や、バッチ、cron 処理など、かなり広範囲の処理について Chalice を用いて開発をすることが多くなりました。当記事では Chalice でできることの説明は割愛します。
そして、テスト周りについてはすたじおさん (https://qiita.com/studio3104) が記事を書くようなので、私の方では Chalice で開発する際の CI/CD 環境をどのようにするか、自分の実例を基に記事を書きたいと思います。
なお、ここで
手順メモ:AWS Lambdaでzipファイルをアップロードするまでに必要なこと
# やりたいこと
– lambdaでapiを叩きたい。
– python3でやるためには必要なライブラリをlambdaにzipでアップロードする# 前提
– lambdaのランタイムはpython 3.7
– awsのlambdaの画面で関数の基本情報(関数名、ランタイム、アクセス権限)を作成しておく# やり方
– [ ] アップロードするzipファイルを作成する
python3なので、仮想環境を作成する“`shell:実行コマンド
$ python3 -m venv dev
$ . dev/bin/activate
$ mkdir upload
$ cd upload/
$ pip install –upgrade pip
$ pip install requests -t ./
$ ls -la
total 8
drwxr-xr-x 14 ~ 省略 ~ .
drwxr-xr-x 6 ~ 省略 ~ ..
drwxr-xr-x 3 ~ 省略 ~ bin
drwxr-xr-x 7 ~ 省略 ~ certifi
drwxr-xr-x 10 ~
サーバーレスCrystalのための自作Custom Runtimeを改良した話
みなさんCustom Runtimeしてますか?
確かLambdaの新機能としてCustom Runtimeが発表されてから大体一年くらい経ちましたね。
私は[去年のアドベントカレンダー](https://qiita.com/qazx7412/items/5054331183f8655f541c)で壮大に渾身のネタを潰されたのでよく覚えています。
今qiitaなどで[検索をかけてみる](https://qiita.com/search?utf8=✓&sort=created&q=”custom+runtime”)と直近ではphp勢が目立つ感じですかね?
まあRubyが対応してしまった今となっては人口の多くてLambdaを使いたいような言語のうち対応してないのはphpくらいでしょうしね。あれから発表当時作ったCrystal用のCustom Runtimeでいくらか開発をしてきて私のLambdaやCrystalへの理解に合わせて更新していってもはや見る影もなく変わってしまったので更新版について適当に書いていこうと思います。
あ、基本的にServerless Frameworkを使うのを
1dayでやりきる!スタートアップ向けの少人数CSのコールセンター作り(Amazon Connect + Lambda + Slack)
# TL;DR
社員20−30名の小さいスタートアップでコールセンター設備が必要になったので、それの準備やら用意したもののお話をします。
# 背景
Moff AdventCalender第2号です。Moffで初の取りくみで社内Advent Calenderを実施
しようということで、扱っている人も少ないであろう分野でAmazon Connectを扱った取り組みを紹介しようと思います。(基本的には平日に記事をあげることにしています。少人数なんで。。。w)「実際使ってみたいけど時間かかって手出すのめんどくさい」みたいな自分でも1日ちゃんと時間作ればできたので、どういう動機付けでやったところから紹介しようかなーと思います。後、基本技術系の記事みると「こういう風にやるといいー」的なHowの要素多めで記述されていることが多いんですが、会社のAdventCalenderなのでもう少しWhyの部分とHowはHowでも技術以外に必要な部分(モチベーションとか、取り組み方みたいな?)ところを少しだけ散りばめて書こうかと思います。(Howに特化して知りたいのであれば他の記事の方がよくかけていてそ
PycharmでローカルのLambdaをDocker Toolboxで動かす時にデバッグ実行できない事象の回避
PycharmでLambdaのデバッグ実行を行う際に、ローカル環境のDockerが「Docker Desktop for Windows」でなく「Docker ToolBox」の場合、デバッグが行えない現象が発生することがあります。
原因はDocker ToolBoxのフォルダのマウント設定です。
Docker ToolBoxでは初期設定で「C:\Users」フォルダ以外がマウントされません。
しかしデバッグでは “C:\Program Files\JetBrains\PyCharm Community Edition 2019.2.3\helpers\pydev\pydevconsole.py(※フォルダはバージョンによってことなります)”というマウントされてないフォルダのモジュールを使用するので、モジュールの読み込みが行えずデバッグが行えないのです。回避策としては、モジュールの格納されているフォルダをマウント設定する必要があります。
今回はCドライブの直下をまとめてマウント設定してしまいました。“`
# ▼VirtualBoxのDockerイメージを停止する、NAMEは
Site24x7 の API 認証が OAuth 2.0 に変更されたので、アクセストークンを取得してみる。
# 0.はじめに
以下の記事にある様に、サイト監視に [Site24x7](https://www.site24x7.com/) を利用しているんですが…、
* [StatusCake や Site24x7 と同じ様な海外のサイト監視サービスを色々と調べてみた \- Qiita](https://qiita.com/kusokamayarou/items/77e0cba7857a90143694)
* [Site24x7 での API キーの取得のやり方 \- Qiita](https://qiita.com/kusokamayarou/items/e2eec05d8ea2acf43594)
* [kintone アプリで管理しているサイト情報を、Site24x7 と StatusCake に連携させてみる \- Qiita](https://qiita.com/kusokamayarou/items/553f07ed0c904d02d6f1)先日、以下の様なメールが届きまして…、
* ![FireShot Capture 234 – Site24x7_ Migr
AWSサーバレス(Python)でWebSocketを使ったWEBチャットを作ってみます!
この記事は NTTテクノクロス [Advent Calendar 2019](https://qiita.com/advent-calendar/2019/ntt-tx)の2日目の記事です。
こんにちは。安田と申します。
NTTテクノクロスでAI関連の新製品開発を担当しています。早速本題からズレますけれども、マンガを描くのが最近の息抜きで、次のようなマンガを描いています。[マンガでわかるデータ連携](https://www.ntt-tx.co.jp/products/dataspidercloud/manga.html?utm_source=qiita&utm_medium=ac2019&utm_campaign=02)
[マンガでわかるAI時代のエンタープライズ・アーキテクチャ](https://www.ntt-tx.co.jp/column/yasuda_blog/20170413/?utm_source=qiita&utm_medium=ac2019&utm_campaign=02)
[マンガでわかるITストラテジー](https://www.itmedia.co.jp/e
「Cloud functions VS AWS Lambda」を「お金」と「始めやすさ」で勝手に比較してみた
この記事は「[Google Cloud Platform Advent Calendar 2019](https://qiita.com/advent-calendar/2019/gcp)」1日目の記事です。
# ▶ 対決条件
今回は最近流行りのサーバーレスの中でも「Cloud functions」と「AWS Lambda」の2つがどう違うのかを個人的な観点で勝手に比較してみることにしました!とはいえ漠然と比較するとしても比較のしようもないので、今回は「 *お金* 」と「 *始めやすさ* 」という2つの軸で調べて比較することにしてみました!
* お金
* 関数に 512 MB のメモリを割り当て、3,000,000 回実行し、毎回の実行時間が1秒間だった場合にかかるお金
* 実行回数が1,000万の月
* 実行時間が100msecの月* 始めやすさ
* ドキュメントやチュートリアルなどの充実度に限定# ▶ まずは前哨戦、各種サービスの謳い文句を比較
Cloud Functions
> イベント ドリブンなサーバーレス コンピューティン