導入事例:株式会社ディレクターズ様

「政府広報オンライン」を陰で支える PowerCMS X

政府広報オンラインと政府インターネットテレビが統合しリニューアル、コンテンツ管理に PowerCMS X を採用

上記リリースの通り、ウェブサイト「政府広報オンライン 別ウィンドウで開きます」に PowerCMS X が採用されました。

複数社が関わるこの大規模なプロジェクトの中で、PowerCMS X でのウェブサイト構築や CMS の実装・カスタマイズは弊社が、そしてサーバーインフラ周りについては株式会社ディレクターズ様が担当しました。

今回は、株式会社ディレクターズ 松井様と PowerCMS X 開発者で現在はアルファサード 技術担当取締役の野田を中心に、「政府広報オンライン」の構築時を振り返りながら、PowerCMS X の案件におけるインフラ構築についてお話を伺いました。

株式会社ディレクターズ×PowerCMS X

株式会社ディレクターズ
https://directorz.co.jp/ 別ウィンドウで開きます

インタビュー日
2024年4月19日

ご担当者様

株式会社ディレクターズ(以下Dz)
サーバホスティング事業部 松井様
サーバホスティング事業部 飯田様
アルファサード株式会社(以下AF)
取締役 技術開発担当 野田
経営サービス&セールスチーム リーダー 佐藤ち
Web開発事業部 獅々原

※以下、敬称略

PowerCMS X なら標準で AWS 向けのプラグインが充実

Dz 松井:株式会社ディレクターズは創業から17年、サーバーインフラ周りの構築や WAF(Web Application Firewall)、脆弱性診断や負荷試験等、物理サーバーからクラウドまでサーバーのことなら幅広く対応できるマルチベンダーです。自社でデータセンターを持っていまして、そこで物理サーバーのホスティングもやっています。

AF 野田:最近はやはりクラウドの比率が高いですか?

Dz 松井:はい、最近はクラウド前提でのご相談が多いです。ただクラウドだと為替の影響が大きいことと、ハイスペックなサーバを求めると高価になってしまいます。オンプレであれば費用感としてはクラウドの半分ぐらいでご提供できるので、お客様のご要望に応じてオンプレでご提案することもあります。

AF 野田:クラウドは AWS 別ウィンドウで開きます(Amazon Web Services) が多い?

Dz 松井:AWS が7割で、GCP 別ウィンドウで開きます(Google Cloud Platform)などその他が3割ぐらい。あと Microsoft Azure 別ウィンドウで開きます も Linux であればやっています。

AF 野田:PowerCMS X の案件も複数受けられていますよね?

Dz 松井:複数あります。AWS だけでなく、お客様環境のサーバーでもお手伝いしています。

AF 野田:PowerCMS X の印象はどうですか?

Dz 松井:他の CMS と比べてすごくいいなと思っているところは、デフォルトで Amazon S3 別ウィンドウで開きます(以下、S3) への同期機能や Amazon CloudFront 別ウィンドウで開きます(以下、CloudFront) のキャッシュ削除の機能がかなり充実している点です。他の静的出力系の CMS だとそのあたりは有償のプラグインになっていたり、プラグインを追加しても期待していた動作をしなかったり、PowerCMS X ほど柔軟じゃないという印象です。
結局弊社の方で作成したスクリプトで対応することもあるので、そういったリッチな機能がデフォルトで付属しているのは、インフラ側としてはすごくありがたいと感じています。
CMS 自体を冗長化するためのドキュメントが用意されている点もとてもいいと思いました。

AF 野田:そのあたりのプラグインについては、今回の案件よりも前にこういうのがあるといいかなと思って作りました。S3 で CloudFront で静的ページ配信というパターンは多いですか?

Dz 松井:最近、特に多いですね。モダンなフロントエンド技術を使い、基本的に S3 とCloudFront だけで、Amazon EC2 別ウィンドウで開きます(以下、EC2) など仮想サーバを用いないサーバーレス構成っていうのが増えています。

ガバメントクラウド(AWS)上に構築

AF 野田:「政府広報オンライン」ではデジタル庁からガイドラインが示されました。参考:デジタル社会推進標準ガイドライン 別ウィンドウで開きます
各々の公的機関がバラバラに作るのではなく統合を目指していきたいという流れがあり、モダンアプリケーションで原則サーバーレス、セキュリティ向上とコスト削減などが求められました。
でも、PowerCMS X は LAMP(Linux-Apache-MySQL-PHP) アプリケーションですからね。

Dz 松井:はい、PowerCMS X が LAMP 構成で仮想サーバーで動く前提のアプリケーションなので、CMS 側は EC2 を使うことを申請して許可していただきました。

AF 野田:今回は静的配信と動的生成の部分がありました。動的生成はサイト内検索と投票機能とフォームだったかな。普段なら EC2 でまかなう部分かと思いますが、今回は懸念を示された?

Dz 松井:そうですね、ウェブサイトのフロント側の動的部分については EC2 を減らせないかという相談があり、そこで PowerCMS X をまるごと コンテナ化し、 Amazon Elastic Container Service 別ウィンドウで開きます(以下、ECS) で運用することにしました。
OS を手動で管理することによるセキュリティ的なリスクや運用コストが不要になるので、今回はこの方針で了承いただけました。

参考画像:アクセスを振り分けるイメージ
※画像はサンプルです。実際の構成とは異なります。

AF 野田:ECS は普段は何台で動いてるんですか。

Dz 松井:今は通常2台です。オートスケールも設定してあり、CPU 負荷に応じて台数が増えるようになっています。

AF 野田:EC2 は元々は2台でしたが、バッチ処理を分離するためにこちらからのリクエストで1台増やしてもらいました。あと、S3 から CloudFront で配信する部分と、URL のパターンで ECS に振るっていう設定をしている部分ですね。

2万点以上の動画を含む数万ページを、ひとつの CMS で管理

AF 野田:あと S3 も3台ありますよね。通常のコンテンツ用・AWS Elemental MediaConvert 別ウィンドウで開きます(以下、メディアコンバート)と連携する変換前の動画用・変換後の動画、つまり動画配信用。

Dz 松井:動画の変換は以前一度やったことがありますが、その時は今回ほどの規模ではなかったです。今回は動画全部を合わせると 4TB ほどあると思うんですけど、この規模でやるのは初めてでした。

AF 野田:メディアコンバートを使ったのは初めてでした。過去動画については PowerCMS X の機能により HLS形式に変換しましたが、本番運用時にはメディアコンバートを利用して HLS形式に変換して配信しています。
動画2万点でしょう?さらに毎日、数GB単位の動画がアップされていて、ウェブページも数万ページあります。もちろん全再構築するという機会はなかなかないものの、僕自身も過去20年間で最大のボリュームです。

参考画像:メディアコンバートのイメージ
※画像はサンプルです。実際の構成とは異なります。

Dz 松井:CMS 上で動画管理までできる製品は他にはないと思いますね。YouTube 等にアップするケースも多いでしょうし。

AF 野田:「ストリーミング変換できて、字幕が作れて、チャプターが管理画面から作れる CMS は絶対にない!」と思って作った機能ですね。動画専用の製品はきっとあるんでしょうけど。
今回の案件の1番のポイントをひとことで言うと、やっぱり「動画の管理がちゃんとできる」ところだと思います。PowerCMS X じゃないと実現できませんでしたね。

制約の中での挑戦が、成長へつながる

Dz 松井:PowerCMS X とは直接関わりがない部分ですが、ガバメントクラウド側のポリシーとして基本的に、インフラの構成は IaC (Infrastructure as Code) で管理しなさいという指定がありました。IaC というのは、インフラの構成をコードで管理して、変更履歴などを追えるような仕組みのことです。IaC 自体は弊社でも使ったことがあったのですが、今回、IaC の変更内容を GitHub に push すると自動で AWS リソースが変更されるしくみ(CI/CDパイプライン)を作りました。そこは初めての経験だったので苦労しましたが、結果的にはうまくできたと思っています。

参考画像:IaCのイメージ
※画像はサンプルです。実際の構成とは異なります。

AF 野田:他に初めて使ったサービスや技術は何かありましたか?

Dz 松井:初めて使った技術は Amazon Inspector 別ウィンドウで開きます です。サーバーの脆弱性をリアルタイムで常にスキャンし続ける AWS のサービスのひとつで、出てきた脆弱性を毎月レポートでご報告、緊急性の高いものは対応していくという方針で毎月実施しています。
ガバメントクラウドのセキュリティ要件はかなり高くて、利用するサービスの指定もあったので、そこの指定のおかげで使ったサービスではあります。

AF 野田:大きな案件は制約も多いですが、やっぱり製品も技術も人も育てられるっていう部分はありますよね。いい経験になりました。

互いにスピーディーな対応でスムーズに連携

AF 野田:アルファサードと一緒に仕事してみていかがでしたか?

Dz 松井:すごくやりやすかったです。特に、開発の中盤から後半のドタバタしてしまう時期に、「こういう問題がある」と相談をすると本当にその日のうちに解決をしてくれる。スピード感があって、そこはすごく助かりました。

AF 野田:うちのメンバーも助けてもらいました。色々と。

AF 佐藤ち:案件の進行中、返信がとても早くいただけて。既読マークがつくだけではなく、「読みました。確認します。」というひとことがあるだけで、「あ、今対応してくれてるんだな」っていうのが分かって、すごく安心しました。
構築中に負荷上昇のアラートがあがってきたときも、聞いてみるとすでにディレクターズ様側でも確認してくれていて、状況をすぐ共有していただけるのがとてもやりやすかったです。

Dz 松井:弊社としても特に負荷の上昇など障害系のご連絡は、普段からかなりスピーディーに連絡するようにはしています。そこは意識しているところではありますね。

AF 獅々原:スピーディーにご連絡いただけるだけでなく、原因についても推測し、あらかじめ対策まで提示いただけるのが本当にありがたかったです。

Dz 松井:インフラ部分しか力になれないので、できるだけそのインフラ面から何が分かるかっていうところは詳細にお伝えしようと心がけています。

Dz 飯田:私はここまでの規模の構成は初めての経験だったのですが、やることが多岐にわたっている上に並行して動いてたので、タスク管理が大変でした。その中で御社にご質問をすると、やはりとても素早く対応いただいたので、繰り返しになりますが大変助かりました。

AF 佐藤ち:飯田さんにもいつも見積りなど無理を言ってお願いしているのですが、すぐにお返事をいただけてこちらこそ本当に助かってます。ありがとうございます。

高い連携力で大規模サイトを支えるプロフェッショナル

AF 野田:ディレクターズさんの専門性と合わせて、僕たちは CMS のメーカーとしてできること・できないことのジャッジができる立場でした。この2社の連携がうまくいったのでとてもやりやすかったと感じています。
政府広報オンライン以外の、別の案件の方はどうですか?

Dz 松井:最初は大変なこともありましたが、複数関わってるうちに我々もかなり PowerCMS X の環境の構築の仕方とか、こういう時にこういうところ見ればいいっていうノウハウが蓄積されてきて、直近の案件はかなりスムーズに進みました。

AF 野田:複数の案件に関わってきた中で、PowerCMS X のインフラを組むときのツボみたいなものってありますか?

Dz 松井:中規模以上のウェブサイトで PowerCMS X でかつ CMS 側を冗長化する時は Amazon ElastiCache for Redis 別ウィンドウで開きます (以下、Redis)は絶対に入れたほうがいいと思います。どうしても PTCache テーブルが重くなってしまうので。
冗長化しなければ、ファイルで管理するのが一番シンプルでいいのかなと思います。

※サポートチームより
冗長化構成の場合のキャッシュの選択としては「File」「Memcached」「Redis」「MySQL」の4つがあります。
「File」は共有ディスクになるのでどうしてもディスクアクセスが遅い影響を受けます。
「MySQL」が手軽ではありますが、RDS のレイテンシーが発生することや、初期化時のクエリが増えるデメリットがあります。
そこで、「Memcached」「Redis」を選択することが最良の選択となります。

参考 :

AF 野田:弊社としてはサポートに力を入れていて、ライセンス Multi 以上で Backlog プロジェクトを用意しているのですが、ディレクターズさんもメンバーに入っている案件がありますよね?

Dz 松井:はい、ベンダーとして入っています。問い合わせの受付はフォームからみたいなところが多いと思いますが、Backlog プロジェクトが用意されていて、きちんとサポートが受けられる体制を見せてくれるのは、使う側からしたらありがたいですし質問もしやすいです。

PowerCMS X も含めて、新しい価値を提案していきたい

AF 野田:構築前の案件の相談が来ることもあるんですか?

Dz 松井:うちに話がくるときは、すでに CMS の選定は終わっているケースがほとんどなのですが、「中規模以上で静的出力の CMS でいこうと思ってる」ぐらいの段階であれば、PowerCMS X を推すこともあります。

AF 野田:ありがとうございます。僕たちとしては PowerCMS X のホスティングとかマネージドサービスとか、メニュー化して出してほしいぐらいなのですが、今後の展望などありますか?

Dz 松井:今後も引き続き、PowerCMS X を含めた CMS を使ったサーバーインフラの構築もやらせていただきますが、弊社としては最初に申し上げたオンプレに力を入れていて、5月に2つめのデータセンターを開設する予定になっています。
もちろんクラウドの案件もやりつつ、物理サーバーでホスティングをするっていうのももっと広げていきたいですね。

AF 野田:御社のサーバーから S3 と CloudFront で配信したっていいですよね?

Dz 松井:そうですね。それもできます!サーバー費用も抑えられると思うので、そういう形もぜひ検討いただきたいです。

AF 野田:オンプレの環境に PowerCMS X をインストール済みで、パフォーマンスのチューニング等もちゃんとできているようなプランを出したり、そういう面での協業も進めていけたら素敵だなと思ってます。

Dz 松井:それはぜひ、一緒にやらせていただければと思います。

  • Linux は、米国およびその他の国におけるLinus Torvalds 氏の登録商標です。
  • Amazon Web Services およびその他のAWS 商標は、米国およびその他の諸国におけるAmazon.com,Inc.またはその関連会社の商標です。
  • Microsoft Azure は、Microsoft Corporation の商標または登録商標です。
  • Google Cloud Platform は、Google LLC の商標または登録商標です。
  • その他記載の会社名・製品名などは、それぞれの会社の商標もしくは登録商標です。