こんにちは。
最近はAWSとAzureの両方を扱っていて、まるでFFⅢにでてくる赤魔道士みたいじゃないかと思っている松永(@zt_megane)です。
赤魔道士って赤い帽子とマントがかっこよくて、結構好きなキャラなんですよね。
そこ、赤魔道士って中途半端だからすぐ変えるキャラだよねとか言わない。
そこ、え?3DSのですか?とか、おじさんの胸をピンポインで突き刺す発言をしない。
ラ、ライフが尽きそう。。。
さて、そんな私ですが、クラウドだけではなく、実はSitecoreもいろいろと勉強をしております。
せっかくなので、今回はAWS上にSitecoreのCMSを構築したい場合、どのようなクラウド構成にするかを考えてみましょう。
Sitecoreについて
その前に、この記事を始めてみる方は、Sitecoreってなぁに?という方もいるかと思います。
Sitecore(http://www.sitecore.net/ja-jp)はデンマークに本社を置く、Web CMS ソリューションを提供している企業です。
CMS(コンテンツマネジメントシステム)と、DMS(デジタルマーケティングシステム)を主軸とした、コンテンツ管理フレームワークを提供しています。
世界中の企業で導入実績があり、多言語対応もしていますので、日本でも広まりつつあります。
Sitecore CMSでは、IT知識に詳しくない人でも、簡単にサイト運営ができるような設計になっており、DMSではサイトのPV数やページ訪問の推移等の情報を収集し、サイトの分析をしてくれる仕組みがあります。
ですから、一から全て作り上げることなく、短時間で顧客のニーズに合ったサイト運営が可能となるソフトです。
Sitecoreの構成
Sitecoreをクラウド上に構築するには、まずはSitecoreの構成を知る必要があります。
その点については、こちらの記事で紹介しています。
SitecoreのWebサイトとDBの関係について
これを踏まえた上で、ベースとなるクラウド構成を考えてみましょう。
(尚、お断りしておくのですが、これから紹介する構成はあくまで一例です。構築するサイトや要件によって適切なクラウド構成は異なります。ですから、あくまで参考として読んで頂けるようお願いします。)
本番環境向けの構成案
Sitecore CMSの場合、CD(コンテンツデリバリー)サーバーをフロントに、
CM(コンテンツマネジメント)サーバー、DBサーバーをバックのサブネットに配置するのがオーソドックスなやり方ではないでしょうか。
CD側のサーバーはIaaSのEC2を使用し、OSはWindows Serverを選択します。(SitecoreCMSはWindowsサーバー上で動作します。)
DBサーバー側はRDSを使用するか、EC2の中にSQL Serverを載せるか迷うところですが、個々の部分は要件により異なるかと思います。(今回はRDSを使う構成です。)
尚、本番環境では災害時などを考慮し、冗長化構成も検討をしたほうが良いでしょう。
上記図では、CDサーバー、DBサーバーについてELBで負荷分散を行い、AZを別にしてインスタンスを配置しました。
AWSのAZやリージョンについては以下を参照してください。
開発環境向けの構成案
Sitecoreを導入する際には、本番環境だけではなく、開発環境やステージング(プレ本番)環境を用意したほうがよいでしょう。
ステージング環境については、理想を言えば本番環境と同等のほうが環境差異が出にくく、保守がやり易いとは思いますが、やはり金額面がネックとなってきてしまいます。
ですから、開発環境の費用はなるべく抑えた構成にする事もよくあります。
上記の案では、CDサーバーとCMサーバーを1台のEC2の中で同居させ、DBサーバーと2台構成となるようにしています。
最後に
いかがでしたでしょうか。
最近ではクラウド上にSitecoreを構築することが増えてきています。
こちらが適切な構築の一助になれば幸いです。