初めてのAzureネタになりそうです、こんにちは!
ことの発端は、某きたあずの方から、これ使ったらいいんじゃないのー!?
Microsoft AzureのストレージからWordPressの画像を簡単配信
ということで、その方のブログ記事を紹介してもらいました。これのメリットは、PaaSなWebアプリにはストレージの制約があるようで、大量の画像とか動画(載せないとは思うけど)、サイズの大きなものがあると、そこで上限に達してしまう可能性があります。そうしたとき、一部のリソースをほぼ無制限に置けるStorageServiceに格納しておくことで、Webアプリが使うストレージの負担を減らせるってこと、単純なネットワーク負荷、CPU負荷メモリ負荷を減らせることですね。
もうちょっと踏み込んでサービスを組み合わせてみます。上記リンクの手順を行ったうえで、さらにAzure Content Delivery Network (CDN)という配信サービスを利用してみることにしました。
このサービスの特徴は、
- キャッシュしてくれる
- 複数の配信する場所があり、同じURLを参照しても、接続元の地域によって自動的に近い上記の場所を参照するようになっていること
- 瞬間的な大量アクセスに対応させることができる
- 反映されるまでにタイムラグがある。
といっても、このBlogにそこまで必要ないだろうというのと、Webアプリそのものにはかけていないので、画像、動画などメディアリソースにアクセスが集中するときに価値が出てくるかなぁというところです。
以下は、管理ポータルから作っている様子です。CDNというサービスを作成した後、その中にエンドポイントというものを作っています。
- 「名前」となっている項目にURLになるので、それっぽいものに
- 「配信元の種類」は、ストレージ、クラウドサービス、Webアプリ、カスタムの配信元がありますが、ストレージとします
- 自動的に、ストレージアカウントのホスト名がリストに出てきますので対象を選びました。
- あとはそのまま、追加!
そして、Wordpress側です。こっちにはCNAMEという項目がありますので、ここにCDNのエンドポイントURLを入力します。(スラッシュなしっぽい)
これで設定は完了のはずです。この投稿の画像は、さっそく利用しています。
CDN作成から配信されるまでのタイムラグですが、1時間くらいかかりました。それまでメディアファイルだけアップロードして待っていたのは秘密です。このタイムラグに困るときは、先ほどのWordpress側の設定からCNAMEを一度削除すればよいだけです。
それでは!