
流行りのサーバーレスのサービスを使ってみたい!
LambdaStoreってなに?
本記事はこういった悩みに対しての記事です!
この記事を書いている僕(@Shoot58153748)は、
2020年4月現在メガベンチャーの社内スタートアップの部署で
エンジニア(2年目突入)をしており、
プログラミング未経験からメガベンチャーへの転職を成功させた経験・ノウハウ
Webエンジニアになってから学んだこと
をブログにまとめています。
今回はLambda Store
というサービスの使い方を解説いたします!
Lambda Storeとは?
Redis
を、AWS上のマネージドデータベースとして提供する新サービスです。Redis
は、キーバリューストアのデータ構造を持つインメモリデータベースです。
すべてのデータをコンピュータのメインメモリ上に展開しながら動作するので、高速です。
似たようなサービスだと、
AWSが提供する「Amazon ElastiCache」や、RedisLabsが提供する「Redis Enterprise」などがありますね。Lambda Store
はRedisをサーバレスモデルで提供するため、
使った分だけ料金が発生する従量課金になっており、
格安で導入し、アクセスが増えてきたらスケールできるという特徴があります。
期限なく無料で使える「Free」プランがあるので、
試しで簡単に素早くサーバーレスRedisを導入できます。
ちなみに「Free」プランでは、データベース容量が256MB、最大20同時接続、1日あたり最大5000リクエストまでとなっています。
お試しで使うには十分ですね。
Lambda Storeの使い方
登録
サイトにアクセスし、Start For free
をクリック

Githubログインした後の画面で、Create Database
をクリック

Display TypeはFree
を選択し、DB名を適当に入力し、リージョンも選択(アメリカしか選択肢がない模様)し、Create
をクリック

表示されるDB情報を使って接続していきます。

クライアント(redis-cli)で接続する場合
// RedisClientをインストールしていない場合
brew install redis
// LambdaStoreでDB作成後に表示された画面からPASSWORD, ENDPOINT, PORTをコピー
redis-cli -a PASSWORD -h ENDPOINT -p PORT
GoでRedisに接続する場合
ライブラリインストール
mkdir lambda-store-redigo && cd lambda-store-redigo
// ライブラリ(Redigo)インストール
go get github.com/gomodule/redigo/redis
// goファイル作成
vi main.go
ソースコード
package main
import (
"github.com/gomodule/redigo/redis"
"fmt"
)
const ENDPOINT string = "XXXXXXXXXXXXXXXXX"
const PORT string = "YYYYYYYYYY"
const PASSWORD string = "ZZZZZZZZZZZZZ"
func main(){
c, err := redis.Dial("tcp", ENDPOINT + ":" + PORT)
if err != nil {
panic(err)
}
_, err = c.Do("AUTH", PASSWORD)
if err != nil {
panic(err)
}
_, err = c.Do("SET", "lambda:store:hoge", "hoge")
if err != nil {
panic(err)
}
value, err := redis.String(c.Do("GET", "lambda:store:hoge"))
if err != nil {
panic(err)
}
fmt.Println(value)
}
最後に実行すると、、
go run main.go
hoge
と標準出力されます。
これで終了です!
まとめ
以上、Lambda Store
の使い方を紹介しました!
クラウドサービスの発展が著しい昨今、
サーバーレスな従量課金制のサービスは今後さらに主流になっていくと
考えられます。
本日紹介したLambdaStore
は無料かつ非常に簡単に導入できるので、
是非試してみてくださいね!
本ブログでは他にも
Laravel×Vueのツイッター風SNSアプリチュートリアルや
ポートフォリオサイトの作成〜公開までのプロセス(全8回)
を全て記事にしているので是非ご覧になってみてください!
コメント