【AWS】Reactアプリをサーバーレスで構築してみた【サーバーレス】
こんにちは!nomurabbitです。
この記事ではReactアプリを
S3とAPI GatewayとCloud Frontを使って
構築する方法を紹介します。
EC2を使わない
サーバーレス構成のアプリですね!
API Gatewayの設定
最低限プロキシリソースでGETメソッドをつくってやればOKです。
実行ロールにはS3を読み取りできるロールを指定しましょう。
ここからが少しポイントです。
ヘッダーのマッピングでContent-Typeをマッピングしましょう。
ブラウザにファイルの種類を教えてあげると
いい感じに表示してもらえます。
今回ユーザーには必ず
Cloud Frontを経由してもらいたいので、
APIキーを指定してCloud Front以外からの通信は
API Gatewayで弾くようにします。
Cloud Frontの設定
カスタムヘッダーにx-api-keyキーを追加しておきましょう。
また、今回はアプリがReactのSPAなので
404エラーが返った時にindex.htmlに転送するようにします。
以上でCloud Frontの設定は完了です。