どこにでもいる30代SEの学習ブログ

主にプログラミング関連の学習内容。読んだ本の感想や株式投資についても書いてます。

【AWS】30分で簡単なウェブアプリケーション構築(Amplify+Lambda+DynamoDB)

AWS公式のハンズオン「AWS で基本的なウェブアプリケーションを構築する」を見て、簡単なウェブアプリケーションを構築しました。

aws.amazon.com

構築方法はハンズオンを見れば、ほとんど分かります。ところどころハンズオン通りに行かないところがあったので、実際にやったときの様子を補足を交えつつ紹介します。

[1] Amplifyでウェブアプリ作成

f:id:predora005:20210410220328p:plain

f:id:predora005:20210410220333p:plain

ハンズオン通りに「index.html」を作成したのち、zipで圧縮します。圧縮したzipはドラッグアンドドロップします。

f:id:predora005:20210410220340p:plain

デプロイが終わると[Domain]の下にURLが表示されます。URLをクリックすると"Hello, World"とだけ表示するページが開きます。

f:id:predora005:20210410220346p:plain

[2] Lambdaで関数作成

f:id:predora005:20210410221137p:plain

f:id:predora005:20210410221142p:plain

f:id:predora005:20210410221148p:plain

f:id:predora005:20210410221207p:plain

[3] API GatewayREST APIを作成

[3-1] REST APIの作成

f:id:predora005:20210410221705p:plain

エンドポイントタイプは、ハンズオンでは[エッジ最適化]を選択するよう促しています。ただ、同じリージョン内で試す分には[リージョン]でも問題ありません。

f:id:predora005:20210410221710p:plain

[3-2] POSTメソッドの作成

f:id:predora005:20210410222633p:plain

f:id:predora005:20210410222639p:plain

f:id:predora005:20210410222644p:plain

[3-3] CORSの有効化

f:id:predora005:20210410223307p:plain

f:id:predora005:20210410222742p:plain

[3-4] APIのデプロイ

f:id:predora005:20210410222938p:plain

f:id:predora005:20210410222942p:plain

デプロイ後に表示されるURLは後で使います。ウェブアプリがAPIにアクセスするためのURLになります。

f:id:predora005:20210410222946p:plain

[3-5] テスト

f:id:predora005:20210410223716p:plain

f:id:predora005:20210410223722p:plain

f:id:predora005:20210410223726p:plain

[4] DynamoDB テーブルを作成

[4-1] DynamoDB テーブルを作成

f:id:predora005:20210410224021p:plain

ARNはこの後、IAMポリシーを追加する際に使用します。

f:id:predora005:20210410224027p:plain

[4-2] IAMポリシーをLambda関数に追加

f:id:predora005:20210410225300p:plain

f:id:predora005:20210410225305p:plain

ハンズオンに記載された内容をコピーし、"Resource"の箇所を作成したDynamoDBのARNに置き換えます。

f:id:predora005:20210410225310p:plain

f:id:predora005:20210410225315p:plain

[4-3] Lambda関数を変更

ハンズオンに記載されたソースコードをコピーし、[Deploy][Test]を実行します。

f:id:predora005:20210410225701p:plain

DynamoDBの画面で作成したテーブルの[項目]タブを確認すると、新しい項目が追加されています。

f:id:predora005:20210410225707p:plain

[5] ウェブアプリからデータ登録

index.htmlをハンズオンに記載された内容に更新します。更新後、再度zip圧縮してAmplifyの画面にドラッグ&ドロップします。自動でデプロイされたら、Domain欄のURLをクリックします。

f:id:predora005:20210410230511p:plain

ブラウザに名前を入力する画面が表示される。名前を適当に入力したのち[Call API]をクリックします。

f:id:predora005:20210410230516p:plain

APIの実行が上手くいくと、ダイアログが表示されます。

f:id:predora005:20210410230520p:plain

DynamoDBの画面を確認すると、ウェブアプリから登録した項目が追加されています。

f:id:predora005:20210410230523p:plain

終わりに

ハンズオンが分かりやすかったこともあり、簡単にウェブアプリケーションを作成できました。ハンズオン通りにやれば上手くいくのですが、備忘録も兼ねて記事を書きました。

出典