前提
私は生粋のインフラエンジニアでして開発側の知識が皆無です。(フロント、バックエンドが全く分かりません)
じゃあなんでそんなこと調べてるの?
AWSのSAPの勉強してると出てくるんですよね。
例文:大手オンライン教育プラットフォームが、受講者向けのコース登録フォームを含む公開の静的ウェブサイト(www.test.edu)を運営しています。このウェブサイトは Amazon S3 でホスティングされ、Amazon CloudFront をコンテンツ配信ネットワークとして使用し、AWS WAF で保護されています。
コース登録フォームって動的だよね?静的ウェブサイト?どゆこと?
開発側の知識がある前提でたくさんの問題が出てくるので、せめてバックエンド側の基礎知識は欲しいなとよく思うわけです。
知っていた方がよりよいインフラ構成を提示出来ますしね。
理解が難しかったところ
まず、静的ウェブサイトと呼ばれるものは、ペラサイトのようなただ開いて見るだけのウェブサイトという認識です。
つまり、ボタン押せば表示が変わるとか入力できる場所とかそういうのがないものだと思ってます。
そういうサイトに適しているのがS3の静的ホスティングだと。
でも問題文には登録フォームと書いてあるので明らかに動的なんですよね。
じゃあどうやって動的にしてるの?っていうのが全然イメージが付かないわけです。
整理した
まず調べて分かったのは、動的な処理をするにはAPI GatewayやLambdaを使用するということ。
確かに動的なことをするわけだからLambdaを使うのは分かる。
でも自分の頭の中のイメージは現時点だとこうです。
これじゃあS3に入ってるファイル動的じゃん!訳分からん!
ChatGPTさんに聞きました。
こういうことですと。
は~ん。あくまでS3内のファイルは表示させるデータをブラウザに渡しているだけで、LambdaがS3に何か返しているわけではないと。
分かったような分かってないような感じです。
S3内ファイルが表示させてるわけだから、動的に変わる命令もLambdaからS3が受け取ってS3内のファイルがなんやかんやしないといけないんじゃないの?と思いますが、それは違うと。
この図からするに、S3から受け取ったものをブラウザが表示して、Lambdaから来る動的処理もブラウザが受け取ってS3から来るファイルといい感じに混ぜて動かしてくれてるってことなのか?
完全に腑には落ちてませんが、S3の静的ホスティングを使っても動的なサイトが作れるといこと自体にはなんとなく納得することが出来ました。
きちんと理解するにはやっぱり1から作ってみないとという所なんでしょうね。
プログラム内の事は全然わかってないままでの理解の仕方のため、誤りも多々あるかもしれません。
知見のある方間違っていればどうぞコメントでご指摘下さい。
以上!!