ちょっとデータを残したい時 SSM,S3,dynamoDB,SQSどれがいいのか?検証

· ☕ 2

lambdaで変数やステータスを保持しておきたい時、各サービス間のやり取りでパラメータを共有したい時。

別に何でもいいんだけど、何が一番いいのか?考えてみます。

なんでこんなこと言いだしたのかというと、先月たいして使ってないはずのSSMが0.02USDもかかったからですww

はじめに

今どうしているかというと、すごいふんわりだけど

  • 一つだけの変数っぽいのはSSM

  • すごい長くなる時はS3

  • キーごとに必要な時はdynamoDB

  • 一回きりで使い捨ての時はSQS

って使っている。

でも、よく考えたら、極論、全部どれかでも行けそうな気もするww

なので、料金、安定性、制限、速さの4つの観点で比較したいんだけど…、とりあえずその料金編!

ちょうど今、こいつのステータス管理をどうしようか悩んでいて…

これは料金さえ安ければ、他は犠牲にしてもいいのだwww

検証

料金比較

※2020/03/07時点 東京リージョン

SSM

公式の料金ページ

SSM料金

⇒get:0.05USD/1万 put:0.05USD/1万

S3

公式の料金ページ

s3料金

⇒get:0.0037USD/1万 put:0.047USD/1万

dynamoDB(オンデマンド)

公式の料金ページ

dynamo料金

⇒get:0.00285USD/1万 put:0.014269USD/1万

SQS

公式の料金ページ

SQS料金

⇒get:0.0040USD/1万 put:0.0040USD/1万

SQSだけよく分からないんだよな…。これであってるのか?

料金まとめ

こうやって単純に比較すると、

dynamoDB<s3<SQS<SSM

ってとこですね。

SSM高くね?

という事で、この抽選botでは、試しにdynamoDBをSSM風に使って行ってみたいと思います。

おまけ

dynamoDB(プロビジョニング)
公式の料金ページ

これなら25ユニットまでに抑えれば、どんなに使っても無料ですからね。

プロビジョニングのdynamoDB最強説かもしれないww

でも私は、プロビジョニングは25ユニット使い切ってしまっているので、使えません…。


るな
るな
エンジニア