サイトの現在の計画は、Amazon の Cloudfront サービスを、CSS、JavaScript、画像などのアセット ファイル、およびその他の静的ファイルの CDN として使用することです。
現在、これらすべての静的ファイルを含む 1 つのバケットが S3 にあります。ファイルは、その内容に応じて異なるフォルダーに分けられます。「スクリプト」は JS ファイル、「画像」は画像などです。
そのため、最初から気付いていなかったのは、バケットを S3 から Cloudfront ディストリビューションにデプロイすると、バケットに対するその後のすべての更新が同じディストリビューションに再度デプロイされないということでした。そのため、静的ファイルを更新するたびに、バケットを別の Cloudfront インスタンスに再デプロイする必要があるように見えます。
画像に変更があった場合は、新しい画像を作成するだけでよいことを簡単に確認できるため、画像の場合はこれで問題ありません。しかし、それを CSS や JS で行うのは困難です。
それでは、ベスト プラクティスの質問に進みます。
- 本番環境のデプロイごとに別の Cloudfront ディストリビューションを作成するのがベスト プラクティスですか? ここでの問題は、CNAME レコードで問題が発生することです。
- これらのファイルの性質と簡単に変更する必要があるため、Cloudfront に CSS と JS を格納しないのがベスト プラクティスですか? それがCDNの目的であるため、これに対する答えはNOのようです。
- 私が知らないCloudfrontの他の方法はありますか?