2017/06/21 13:08:17
kenzy_n
AWSとDBと
2017/06/21 13:18:40
shogo_okamoto
Lambdaではこのコネクションプールを実現することが難しい
2017/06/21 14:47:45
kazeula
これやったけど実際つらかった。RDSはVPC前提でLambdaはNotVPC前提で提供されている感がある。
2017/06/21 15:11:38
toyama0919
これ 、相性悪いって言ってるけど、Lambdaのshutdownのフックが 用意されればだいぶ違うと思うんだよね。
2017/06/21 15:20:48
biibiebi
タイトル見て「AWS Summit 2017で西谷さんが話していたなぁ」と思って訪問したらご本人の記事だった
2017/06/21 16:41:46
t-wada
"コネクションプールを実現することが難しいのです。Lambdaファンクションのコンテナ間では何も共有しませんし、外部のデータストアへと永続化しない限りはできないからです" 西谷さんに最初に相談したのこの件だったな
2017/06/21 16:46:27
joker1007
なので、Redis使ってるんだけど、DynamoDBってVPC使わずにプライベートアクセスできるんだっけ。だとするとネットワーク認識待ちが削れるので良いかもしれない。
2017/06/21 16:52:37
hagane
なるほど。つまり、pg-pool IIみたいなのをかませればいいわけね(解決策にならない解決策
2017/06/21 17:07:57
garage-kid
56
2017/06/21 17:08:17
stealthinu
VPCでのレイテンシ問題の他にコネクションプール使えない問題があるから大規模になってくると厳しいとのこと。うむむ。
2017/06/21 18:26:45
kotaro-komukai
以前検証したときそうだろうな〜とは思ったけど、やっぱりそうなのね
2017/06/21 18:45:29
y___u
ですよね…(検討したことあるけど無理ゲーだった)
2017/06/21 18:59:21
akulog
"Lambdaファンクションのコンテナ間では何も共有しませんし、外部のデータストアへと永続化しない限りはできないからです。つまり、コンテナをまたいで利用するようなコネクションプールの実装は難しいと言えます。"
2017/06/21 19:00:47
kitadon
同時接続はしっていたが、コールドスタートのレイテンシは知らんかった。
2017/06/21 19:27:34
terurou
主にコネクションプーリングがつらい話
2017/06/21 19:41:24
isano
メモメモ
2017/06/21 19:48:56
murishinai
RDBMSと組むと、スケールするのが前提になってる様々なサービスのボトルネックになる気がする
2017/06/21 19:49:21
mmmpa
なるほど感のある「というわけで」だった。 "というわけでLambdaと組み合わせて利用するデータストアとしてはDynamoDBを推奨しているわけです。"
2017/06/21 19:57:58
shoh8
やっぱそうだよなあ。長所がうまく噛み合わない / “DBアクセスを伴う処理がたまにとは言え10秒を超えてくることを許容できるかどうかです”
2017/06/21 20:25:24
fire_0218
[] なぜAWS LambdaとRDBMSの相性が悪いかを簡単に説明する - Sweet Escape
2017/06/21 21:07:23
yass
"Lambdaではこのコネクションプールを実現することが難しいのです。Lambdaファンクションのコンテナ間では何も共有しませんし、外部のデータストアへと永続化しない限りはできないからです。"
2017/06/21 21:17:45
ttanimichi
Queue とか使って同時実行数を制限するのも手間ってことなのかな
2017/06/21 21:19:32
razokulover
これはほんとしんどいので
2017/06/21 21:22:07
y_yuki
2の問題についてはRDSのIAM認証を使えば問題なさそうかな?(http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html
2017/06/21 21:27:09
rap45s
わかるが、Dynamoのクエリが貧弱すぎてつらい問題にも触れてほしい
2017/06/21 21:30:31
ngsw
「という話をセミナーとかでしても、『ではこれを踏まえてこの組合せで使う場合のベストプラクティスはどういったものがあるのでしょうか?』という質問がくる」という話をAWSに関わる人に聞いてうけたの思い出した。
2017/06/21 21:47:00
taiji_inoue
わかるけど、DynamoDBはクセがすごい
2017/06/21 22:21:36
shozzy
サーバレスはまるっきり発想を切り替えないと理解できないよね。
2017/06/21 22:29:34
ebo-c
C10K問題 2017か。HollywoodじゃなくAmazonでリメイク
2017/06/21 22:50:28
suthio
LamdbaでRDB使うと基本的にioネックになるのでCPUリソースを使いきれないからもったいないってのもあると思う。
2017/06/21 23:03:17
jiminko
Auroraの同時接続数っていくつぐらいなんだろ
2017/06/21 23:23:41
y_maeyama
“LambdaファンクションがVPC内のリソースにアクセスしようとしたとき、かつコールドスタートが発生したときはその仕組み上10秒〜30秒ほどのレイテンシが上乗せされます”
2017/06/21 23:37:10
monochromekk
"Lambdaファンクションのコンテナ間では何も共有しませんし、外部のデータストアへと永続化しない限りはできないからです。つまり、コンテナをまたいで利用するようなコネクションプールの実装は難しい"
2017/06/22 00:01:00
daikikohara
VPCのコールドスタート遅い問題はAWS側で何とかならないもんなのかなぁ。。。API Gateway経由でクライアントから直接アクセスある場合は正確な同時リクエスト数なんて予想できないし中々辛いよね。。。
2017/06/22 00:32:07
tolkine9999h
間にSQS挟むとか?ってそれ、Lambdaで受ける意味無いか・・・
2017/06/22 06:21:28
naga_sawa
Lambda はコネクションプーリングが難しいからRDBと相性悪い と
2017/06/22 06:36:24
GARAPON
わかる。ラムダ便利だけど使いにくい
2017/06/22 08:58:18
taguch1
コールドスタートの10秒を許容するの、社内システムくらいにしか用途を見出せない。そしてDynamoのプロジェクトには絶対に参加しない強い決意を持つくらいはたくさんの屍と脱出プロジェクトを見てきた。
2017/06/22 09:00:52
jiro68
DB側のコネクションをプーリングするプロキシは、コネクション毎にサーバープロセスを生成しなければならないDB(Oracle/PostgreSQLとか)であるけど、それではダメなのかな?VPCアクセスの問題は面倒だな。
2017/06/22 09:12:25
rgfx
あー。それで間にジョブキューなどを挟む必要が。
2017/06/22 10:13:25
nekoruri
逆に言うとDynamoDBのデータモデルで許される範囲しかAWS Lambdaで実現できない、理解はするが納得はできない系のあれ。
2017/06/22 11:00:01
Horiuchi_H
辛い話だ。まだまだサーバレスは地雷が多いな。
2017/06/22 11:22:42
moccos_info
Kafka(Kinesis)挟んだらいかんのかこれ。トランザクション成功確認しないといけないケースだとどのみちどうにもならんとして
2017/06/22 12:14:12
yoshikidz
めっちゃでっかいサービス作ってるのかなー。MaxScaleを間においてもきついやつかな
2017/06/22 13:57:29
uskey
Dynamoで良いのではと思ってたけどDynamoはDynamoでつらいというコメを見て、あぁ…ってなっている
2017/06/22 15:57:43
y_r
AWS Summit で見たわー知ってるわーと思ったら本人だったw
2017/06/22 16:35:48
NOV1975
外部トリガーでオンライン的にやるには難しいよね。かと言ってLambdaでRDBMSを使うようなバッチを実行するには時間の制約が。
2017/06/22 17:32:15
wordi
"リクエストの度にコネクション張るのは重いが、かと言ってコネクションプール用意しようにもコンテナ間で共有出来ないので辛い"
2017/06/22 22:33:56
jsteins
コールドスタートは痛いけどMySQL系でプールできないのはそんなに痛くない。あとDynamoDBそんなにツラくないよ。クエリ貧弱で困るのは設計が悪いか慣れの問題だと思う。慣れるまでが大変なのは確か。
2017/06/25 23:33:42
tmatsuu
LambdaのVPCリソースへのアクセスのレイテンシ遅延問題に関しては、IAMポリシーでRDSにアクセスできるようになったことから実は解消したんじゃないかと思ってるがどうなんだろう。未テスト
2017/06/26 12:59:01
tgk
「DynamoDBの場合は分散型データベースであり同時接続数の増加そのものは気にする必要がなくなります」