はじめに
前回の記事ではAPI Gateway+Lambda(NodeJS)を組み合わせてWEBページを表示するというアウトプットでした。今回はDynamoDBのテーブルと項目作成、Lambda関数で使うロールやインラインポリシーの設定を載せていきます。サーバレスに関しては個人的に興味があるとのと、次の案件で用いるからその予習になります。自身も初めてということもあり、表現がわかりにくいところもあるかもしれません。その場合は容赦無く、コメントで指摘していただければ幸いです。
※サーバレスに関してよくわからない方は、前回の記事をご覧いただければと思います。
DynamoDBってなぁに?
簡単に言ってしまうと、AWSがマネージドサービスとして提供しているNoSQL(非リレーショナル)データベースになります。「値」とそれを取得するための「キー」だけを格納するというシンプルな機能を持った「Key-Valueストア」です。
一般的なユースケース
・ミリ秒単位のアクセスレイテンシーが求められる
・データの拡張性が求められる
参考記事
・NoSQLとは
・DynamoDBをわかりやすく説明
DynamoDBテーブルの作成
DynamoDBダッシュボード>テーブルの作成>テーブル名とプライマリキーだけ入力>作成ボタン
項目タブを選択>項目の作成>以下のように項目と値を追加
###### あとで使うので、DynamoDBテーブルのリソース名をコピー(黒枠部分)しておきますIAMでロールの作成
IAMダッシュボードのロールを選択>ロール作成ボタン
Lambdaを選択>次のステップへ
AWSLambdaBasicExecutionRoleにチェック>次のステップへ
タグの追加 (オプション)そのまま>次のステップへ
###### ロール名の入力>作成ボタン作成したロールでインラインポリシーの作成
ロール一覧から作成したロールを選択>概要画面でインラインポリシーの作成を選択
サービスをDynamoDBを選択>2つアクションを追加
⚠️ 下記ではGetItemとPutItemしか追加されませんが、DeleteItemとUpdateItemとScanも追加します。
リソースのARNを指定>追加
###### ポリシーの確認>ポリシー名>ポリシーの作成最後に
次回はAPI Gateway(REST API)+Lambda(NodeJS)+DynamoDBの組み合わせで、DynamoDBのテーブルが更新されるようにしていきます。