AWS Amplify Gen2 で AWS 上にすぐデプロイできる問い合わせフォームを作ってみた

AWS Amplify Gen2 で AWS 上にすぐデプロイできる問い合わせフォームを作ってみた

2026.02.22

いわさです。

よくあるユースケースなのですが、静的ウェブサイトを CloudFront や S3 でホスティングした時でも問い合わせ用の動的なフォームが欲しくなるときがあります。
さっとデプロイできる環境が欲しかったのと、Basic 認証などを使いたかったので Amplify で作成することにしました。

ソースコードは以下のリポジトリで公開しています。
フロントエンドは Next.js で、バックエンドは Amplify スタック上で API Gateway と Lambda 関数 と SNS トピックで構成されています。

https://github.com/Tak1wa/aws-amplify-contactform

デプロイ方法

デプロイの流れですが、AWS のマネジメントコンソールで新しいアプリの作成を開始します。

23ECAC11-4D42-41E3-8513-1E067987C6C8.png

Git プロバイダーに GitHub を選択します。

2835AB35-063E-469F-B55D-F81A83F1FB5A.png

冒頭のリポジトリからフォークした環境を用意しておき、リポジトリとブランチで指定します。

40A0086B-E10A-4FF7-B9EE-80FAECCD04AB.png

あとは数分で自動デプロイが完了するので待機しましょう。

C6BBDE7F-79E1-433A-A889-4FE1C5E34317.png

このアプリケーションは問い合わせフォームの入力内容を API Gateway へ送信します。
API Gateway は HTTPS でのアクセスが強制化されているので、バックエンドへデータを送信する際の SSL/TLS 通信は必須となっています。
バックエンド API Gateway はリクエストを受信した後に Lambda 関数で処理を実行します。その Lambda 関数からは Amazon SNS トピックへメッセージを送信します。

今回作成したスタックは上記の処理までとなっています。
あとはここからメールで問い合わせメッセージを受信した環境の SNS サブスクリプションを手動で登録して好きなように使ってくださいという感じですね。
対象 SNS トピックは Amplify コンソールのデプロイされたバックエンドリソースから確認ができます。

C9DE8801-0958-4E04-A41D-8701FA923DA8_4_5005_c.jpeg

デプロイされた Amplify ブランチの環境へアクセスしてみると最低限の問い合わせフォームが表示されます。ここで内容を入力して送信ボタンを押すと SNS トピックまでメッセージが連携される感じです。

8B4607E1-894D-4482-BFB4-1AE35BD3C557_4_5005_c.jpeg

今回は試しに E メールサブスクリプションを登録しておきました。

0FBC9654-F53A-4DA4-832C-BA66B2365135.png

お問い合わせが発生するたびに次のようなメールを受信することができます。

0C829F5F-4FF4-4243-B5FA-5C52FE1560E8.png

さいごに

本日は AWS Amplify Gen2 で AWS 上にすぐデプロイできる問い合わせフォームを作ってみました。

私の場合はとある申請で問い合わせフォームを一時的にホスティングする必要があって、Amplify 用のリポジトリを用意しておくとフルスタックで即席でデプロイできるので良いかなと思い用意してみました。
フロントエンドがシンプルすぎてそのまま使えるものではないですがよかったらカスタマイズして使ってみてください。

この記事をシェアする

FacebookHatena blogX

関連記事