AWS CloudFrontで特定ディレクトリを別のS3ストレージを割り当てる

AWS CloudFrontを利用すれば特定ディレクトリを別のS3ストレージを割り当てることができます。

以下のような感じでexample.comにアクセスした場合はメインS3にアクセスしますがsub-dirディレクトリ以下にアクセスした場合はサブS3のS3ストレージのファイルを表示します。

https://example.com/* [メインS3]
https://example.com/sub-dir/* [サブS3]


S3にファイルを配置

まずはサブS3にファイルを配置しておきます。配置する際にはルートパスから指定する必要があります。
つまり、sub-dir/を作成してその内側にhttps://example.com/sub-dir/*以下のファイルの指定を行います。

CloudFrontの設定変更

CloudFrontではメインS3にアクセスを設定しているディストリビューションを選択します。

オリジン

オリジンタブに遷移してから「オリジンを作成」を押下します。

オリジンドメインにサブS3のを選択
S3 バケットアクセスにはサブS3にアクセスできるOAIを指定

ビヘイビア

ビヘイビアタブに遷移してから「ビヘイビアを作成」を押下します。

パスパターン sub-dir/*
オリジンとオリジングループ S3のオリジン

こちらを設定して「ビヘイビアを作成」を押下します。

そうするとhttps://example.com/sub-dir/* にアクセスした際にサブS3で設定したファイルの内容が表示されるようになります。

スポンサードリンク

«Nuxt.js / Next.jsで作成したサイトをGitHub ActionsでAWS S3にデプロイする | メイン | Next.js のStorybookでSassを利用する(webpack5対応)»