Comments前回は、Unityに関する、意外と知らない機能についてご紹介しました。今回は、簡単ではありますが、CloudFlareについてご紹介いたします。■CloudFlareとは?CloudFlareには色々な機能がありますが、大まかに以下の2つの機能が「無料で」利用できます。・CDNサーバーとして機能します・SSL機能を利用できます無料で利用できるということで、既に世界中で利用されています。Network)というのは、簡単に言うと「キャッシュサーバー」です。静止画や動画のような、静的なコンテンツをキャッシュし、オリジナルのWebサーバーに変わって応答してくれるものです。静止画や動画等は、一度Webサイトに公開した後は、基本的に変わることがありません。関わらず、これらのコンテンツはサイズが大きく、Webサーバー側の負担が大きいです。このため、これらの静的コンテンツを、CloudFlareにキャッシュしてもらうと、Webサーバーの負担が減ります。他にもCDNサーバーはいろいろとありますが、CloudFlareは「無料」です。Security)というのは、簡単に言うと「暗号化技術」です。インターネットを利用するとき、「https://~」から始まるURLの場合、SSLが利用されています。通常、SSL/TLSを利用しようと考えた場合には、ざっくり以下のような手順を踏みます。1)自分でSSL/TLS証明書を作り2)認証局へ証明書発行の申請を行い3)自分のWebサーバーに、その証明書を設定するそして、2)の部分で料金がかかります。SSLには「有効期限」があるので、有効期限が切れたら、更新のために、また料金がかかります。認証局を通さずに、SSLを適用することもできますが、そのようなサイトにブラウザから接続すると、「このサイトは安全ではない可能性があります」という画面が表示されますし、自作したスマホアプリからアクセスすることも、基本的には出来ません。これが、CloudFlareを利用すると、SSL機能も「無料」です。Service)を利用しつつ、CDNサーバだけCloudFlareを利用するかどうかAWSは、個人的には非常に良いサービスだと感じます。Webサーバ/DBサーバ/キャッシュサーバ/コンテンツサーバ等を、自由に組み合わせることができ、スペックも自由に変更できます。AWSにもCDNサーバー(CloudFrontという名称です)がありますので、もしCDN機能を利用したいなら、これを使うのが良いと思うのですが、この機能は従量課金制です。料金だけで考えると、頻繁に更新がかかるようなサイトではないなら、CDNサーバーについてはCloudFlareを利用する方が有利です。判断に利用する際の情報をまとめます。物理的に、どこにサーバーがあるのかが重要になります。CDNサーバーの応答が早いのは、世界中に多くのキャッシュサーバーを置いておいて、アクセスされた場所に最も近いところにあるキャッシュサーバーから必要なコンテンツを返却するからです。AWSは、日本国内だけで3拠点あります。CloudFlareは1拠点だけです。このため、CloudFlareはアクセスする場所によっては、応答時間が長くなります。物理的な障害(たとえば、大規模な地震)が起きた場合、3拠点あるAWSの方が、より安全です。2)セキュリティ設定をはじめとする、各種設定をすべてで共用できるかどうかCloudFront以外の部分を、AWSで構築しているのでしたら、CloudFront部分も含めて一元で管理できる方が良いです。3)Amazonのサービスは手厚いAWSを利用していて感じるのは、Amazonのサービスの手厚さです。日本語のドキュメントも多いですし、どうしても不明な点があっても電話等で対応してくれます。AWSコンソールも利用しやすいなと感じます。CloudFlareも、問い合わせサービス自体は手厚いと感じますが、日本語のドキュメントはありません。何かやりたいことがあった時に、実際にはCloudFlareで簡単に設定できるものであっても、なかなか探し出すことが出来ません。単純に安くCDNサーバーを利用しようと考えた場合は、無料であるCloudFlare一択です。コンテンツサーバーに、AWSのS3を利用する場合には、CloudFlareとS3間での通信には、AWS側の料金が発生します。実際に導入する場合には、AWS側の料金表を参照してください。■AWSを利用しつつ、CloudFlareを利用する方法CloudFlareでアカウントを作成後、サイトを登録します。AWSで設定済みの、EC2やS3に対して、ルーティング設定をします。この時、DNS名で登録する場合は「CNAME」、IPアドレスで登録するなら「A」です。Statusがオレンジ色の雲なら、CDNが有効になります。灰色の雲なら、DNSサーバーとしてのみ機能します。ここでは無料にしています。ここまで進むと、ネームサーバーを以下の通り切り替えてください、と言われます。CloudFlare側は、このまま「Continue」ボタンで先に進むので問題ないですが、AWSのRoute56や、他のサービスでドメインを取得しているものと思いますので、そちら側でも、このネームサーバーの設定に自分で切り替える必要があります!最後に、AWSのS3に対してルーティングを行う設定を行います。■SSLの設定も行うこれまでの説明では、EC2側はDNSサーバーとしてのみ機能するようにしていましたが、SSLを設定する場合には、ここからさらに設定を行います。画像では、SSLの設定値を、「Flexible」にしています。他に、「Full」「Full(Strict)」の設定値もありますが、違いは以下の通りです。導入対象のWebサーバにあわせて、適時変更してください。・Frexible:ブラウザ⇒CloudFlareまでがHTTPS、その先がHTTPつまり、AWSのEC2側には、SSL設定が必要ありません。画期的な設定ですが、WordPressを利用していたり、各種広告をサイト上に表示している場合には、そのままでは正常に動かないケースがあります。その場合には、個別に対応を行う必要があります。・Full:ブラウザ⇒CloudFlare⇒その先までがHTTPSAWSのEC2側で設定しているSSL証明書が、認証局を通したものでなくても動作します。・Full(Strict):ブラウザ⇒CloudFlare⇒その先までがHTTPSAWSのEC2側で設定しているSSL証明書が、認証局を通したものでなければ動きません。SSLを適用する場合には、DNS設定で、オレンジ色の雲マークに変更します。雲マークをクリックすることで、切り替わります。CloudFlareの無料プランの場合は、反映に時間を要しますのでご注意ください。■まとめCDNもSSLも無料で利用できる、CloudFlareは、とても良いサービスです。ご覧いただいた通り、特に難しい設定もなく、比較的簡単に設定できます。Webサーバーの負荷が高く、CDNサーバーの導入を検討されているようでしたら、CloudFlareのご利用も検討してみてはいかがでしょうか?弊社では全国各地の請負い(ご自宅)で作業協力頂ける、フリーランスエンジニアの方を常時探しております。ご興味ある方は、お気軽にお問い合わせ下さい。コメントをキャンセルメールアドレスが公開されることはありません。BlogFeathersFeathersHTMLJavaScript。