S3の配信は早くないのとAWSの転送料金の問題から、CloudFlareを利用すると良い場合があります。CloudFlareは意外とダウンすることがあるので、障害が起こってもコストメリットと高速性を優先することが許される条件の場合は有効な選択肢です。
またCDNあるあるとしてプラグインが動かなくなったりすることもあるのでそこも考慮する必要があります。
もくじ
設定方法
S3
- バケット名「img.example.net」で作成
- 【Static website hosting】設定しGETアクセスを許可させるポリシーを設定する。※下記はバケット配下のフォルダをすべて再帰的に公開する設定
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPublicRead", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::img.example.net/*" } ] }
- 表示確認した後でエンドポイント名を控える
CloudFlare
- 「img.example.net」のCNAMEにCloudFlareを設定
- hostnameに「S3バケットのエンドポイント」を設定
CloudFlare使いどころ
- 静的コンテンツ配信
img.example.netなどの静的コンテンツ配信ドメインを用意して利用する - ページキャッシュ
参照の多いサイトで会員機能などがない場合、具体的にはWordPressサイトに向いている。CloudFlareとの連携用のWordPressプラグインもあるので実装は簡単。
良いところ
- 安い
無料プランでも100万PVぐらいはOK - HTTPSも無料
- DNS設定で利用できる
注意点
- CloudFlareは普通に落ちる場合がある
その場合に制御できないのでクライアントに事前相談が必要
コストメリットと高速性 or コントロールかのトレードオフになる。 - 無料プランではキャッシュがクリアされるまでが長い
すぐ反映されないと嫌だという場合は向かない。 - 仕事でちゃんと使うなら有料プランを利用しよう
それでも安いので用途によっては有効、サポートの返信が速い。
落としたくない&転送料が多少かかって良いならS3 + CloudFront, Fastlyを採用。