ウェブ上で掲載されているように、 Lambda で Basic 認証だけ担当してあげる必要がある。 難しいねぇ。
Lambda@edge でファンクションを作成してデプロイする
一番説明が簡単(ステップ数が少ない)だったのが以下の説明でした、基本こちらを参照させていただければ問題ないでしょう。
上記の記事に書いていないけど必要なこと
おそらくこの CloudFront に Basic 認証する系の出本だと思われる記事ですが、 Update にあるとおり origin
に Restrict Access Bucket
の設定が必要です。
日本語の解説記事だと以下のあたりでしょうか。
設定忘れていて、以下のような XML エラーが出続けて :thinking_face: って顔してましたね。
### snip ### <Error> <Code>InvalidArgument</Code> <Message>Unsupported Authorization Type</Message> <ArgumentName>Authorization</ArgumentName> ### snip ###
NodeJS のバージョンについて
大体 6 か 8 と書いてあり、10/28 現在でも 8 系が利用可能なので、僕は 8 を利用しましたがおそらく 10 でも問題なく動くはずです。 ためしてはおりませぬ……。