Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

AWS+NodeJSでサーバレスな環境構築②

$
0
0

はじめに

前回の記事ではAPI Gateway+Lambda(NodeJS)を組み合わせてWEBページを表示するというアウトプットでした。今回はDynamoDBのテーブルと項目作成、Lambda関数で使うロールやインラインポリシーの設定を載せていきます。サーバレスに関しては個人的に興味があるとのと、次の案件で用いるからその予習になります。自身も初めてということもあり、表現がわかりにくいところもあるかもしれません。その場合は容赦無く、コメントで指摘していただければ幸いです。
※サーバレスに関してよくわからない方は、前回の記事をご覧いただければと思います。

DynamoDBってなぁに?

簡単に言ってしまうと、AWSがマネージドサービスとして提供しているNoSQL(非リレーショナル)データベースになります。「値」とそれを取得するための「キー」だけを格納するというシンプルな機能を持った「Key-Valueストア」です。

一般的なユースケース
・ミリ秒単位のアクセスレイテンシーが求められる
・データの拡張性が求められる

参考記事
NoSQLとは
DynamoDBをわかりやすく説明

DynamoDBテーブルの作成

DynamoDBダッシュボード>テーブルの作成>テーブル名とプライマリキーだけ入力>作成ボタン

スクリーンショット 2020-01-03 13.32.13.png

項目タブを選択>項目の作成>以下のように項目と値を追加

スクリーンショット 2020-01-03 15.19.31.png
スクリーンショット 2020-01-03 15.20.39.png

あとで使うので、DynamoDBテーブルのリソース名をコピー(黒枠部分)しておきます

スクリーンショット 2020-01-03 15.23.02.png

IAMでロールの作成

IAMダッシュボードのロールを選択>ロール作成ボタン

スクリーンショット 2020-01-03 15.40.49.png

Lambdaを選択>次のステップへ

スクリーンショット 2020-01-03 15.41.56.png

AWSLambdaBasicExecutionRoleにチェック>次のステップへ

スクリーンショット 2020-01-03 15.59.25.png

タグの追加 (オプション)そのまま>次のステップへ

スクリーンショット 2020-01-03 16.02.25.png

ロール名の入力>作成ボタン

スクリーンショット 2020-01-03 16.04.15.png

作成したロールでインラインポリシーの作成

ロール一覧から作成したロールを選択>概要画面でインラインポリシーの作成を選択

スクリーンショット 2020-01-03 16.09.06.png
スクリーンショット 2020-01-03 16.09.59.png

サービスをDynamoDBを選択>2つアクションを追加(GetItemとPutItem)

スクリーンショット 2020-01-03 16.22.29.png

リソースのARNを指定>追加

スクリーンショット 2020-01-03 16.27.35.png

ポリシーの確認>ポリシー名>ポリシーの作成

スクリーンショット 2020-01-03 16.30.59.png
スクリーンショット 2020-01-03 16.35.04.png
スクリーンショット 2020-01-03 16.35.59.png

最後に

次回はAPI Gateway(REST API)+Lambda(NodeJS)+DynamoDBの組み合わせで、DynamoDBのテーブルが更新されるようにしていきます。


Viewing all articles
Browse latest Browse all 8691

Trending Articles