稼働状況のトラブルシューティングやセキュリティパッチの適用、スケーリング設定といった作業に追われてしまうと、本来注力すべきプロジェクトに使える時間が削られてしまいます。

開発者主導のWeb制作会社では、インフラ管理が余計なコストを生み、コード作成の妨げになることがあります。

そこで今回は、Kinstaを利用してWordPressサイトのスケーリングやトラフィックへの対応に伴う負担を解消する方法を解説。ビジネス目標の達成をサポートするためのツールもご紹介します。

インフラ管理の隠れたコスト

インフラ管理に追われる時間がクライアントプロジェクトの構築時間を上回るようになると、「DevOps疲労」が徐々に蓄積していきます。現れる症状はさまざまですが、本来クライアント業務に向けるべきリソースがインフラ管理に取られてしまっていることが共通の問題です。

  • サーバーのトラブルシューティングや夜中のパフォーマンス低下に手を焼く
  • データベースのクエリの実行が遅く、ログの分析や設定のチューニングに何時間も費やす
  • トラフィック急増時に予期せず発生することの多いPHPのメモリ制限に対し緊急で調整を行う

インシデントの種類を問わず、本来の業務を中断することになるため、生産性が低下します。

インフラ管理の時間浪費には、他にも以下のようなものがあります。

  • セキュリティパッチの管理:オペレーティングシステムの更新、サーバーソフトウェアのパッチ、PHPのバージョン移行などの作業には多大な時間を要する
  • マルチサイトの設定管理:クライアントごとにPHPのバージョンやメモリ制限、サーバー構成が異なれば、クライアントが増えるにつれ、設定管理は臨時の作業ではなく、専任担当が必要な業務量に膨らむ。

インフラ管理の負担を解消する開発者向けツール

KinstaのWordPress専用マネージドクラウドサーバーでは、DevOpsの専任リソースを最小限に抑えながら、必要なコントロールを確保することができます。インフラ周りの作業をKinstaに一任することで、開発業務と運用タスク間で発生するコンテキストスイッチが減り、作業の切り替えに伴う負担が軽減されます。

新規サイトの構築には、ローカル開発ツールのDevKinstaが便利です。Nginx、PHP(切り替え可能)、およびMySQLを使って完全なサーバースタックを構成し、一般的な本番環境を再現します。この一貫性により、「自分の環境では動くのに本番環境では動かない」という問題が解消され、デプロイ時のトラブルを防ぐことができます。

MyKinstaと統合することで、AdminerまたはphpMyAdminを使用して、本番サイトの完全なコピーをローカル環境に数回のクリックで取り込むことが可能です。

KinstaのphpMyAdminインターフェースには、エクスポートダイアログとデータベーステーブルの一覧が表示される
KinstaのphpMyAdminインターフェースには、エクスポートダイアログとデータベーステーブルの一覧が表示される

さらに、これらのデータベースツールは、通常であればデータベースサーバーへのSSHアクセスが必要となる作業もサポートしています。また、バックアップ用のデータベース全体をまとめて書き出したファイル(データベースダンプ)のエクスポートや、SQLファイルを使ったデータ復元、特定の値を検索するためのテーブル横断検索、さらにはレコードの直接編集なども行えます。

ステージング環境によるリスクのないテスト

ステージング環境を使用すると、本番環境に変更内容を反映する前にテストを行うことができます。Kinstaでは、本番サイトを複製し、同じインフラ上で実行するステージング環境を簡単に作成可能です。

ある環境から別の環境への反映もMyKinsta上で簡単に実行可能
ある環境から別の環境への反映もMyKinsta上で簡単に実行可能

これにより、本番環境に対してテストを行い、変更が正しく動作することを確認し、コードが期待通りに動作することを確認した上で本番環境に反映することができます。

ステージングには、標準環境とプレミアム環境の2種類があり、前者はコードの変更、プラグインの更新、テーマの修正をテストするのに十分な構成になっています。プレミアムステージング環境は、CPUコア、RAM、PHPスレッドなど、本番サイトと同じリソースを提供するため、変更をデプロイする前により正確な負荷テストとパフォーマンスの最適化を行うことが可能です。また、必要に応じて最大5つまで作成することができます。

また、選択的プッシュ機能で特定のファイルのみを反映することも可能で、ステージングから本番への移行をきめ細かく制御できます。

MyKinstanの選択的プッシュ機能
MyKinstanの選択的プッシュ機能

SSHアクセスとWP-CLIによる効率化

SSH経由でアクセスすることで、視覚的なインターフェースを必要とせずにサーバー管理を行うことができます。コマンドラインと同じ効率性で、コマンドの実行、ログの調査、問題のトラブルシューティングを実行可能です。

SSHの認証情報は、MyKinstaのサイトの「情報」画面に表示されます。接続すると、サイトのファイルシステムにアクセスし、サーバーレベルのコマンドを実行できます。

MyKinstaのメインSFTP/SSHユーザーパネル
MyKinstaのメインSFTP/SSHユーザーパネル

また、WP-CLIにも対応しています。WordPressの管理にコマンドラインを使用している場合は、以下のようなコマンドを実行できます。

  • wp plugin update --all─サイト全体のすべてのプラグインを更新
  • wp user create username [email protected] --role=administrator─管理者ユーザーを作成
  • wp cache flush─サイトのオブジェクトキャッシュをクリア

SSHアクセスとWP-CLIを併用することで、リモートのサイト管理がスケーラブルかつ効率的になります。シンプルなbashスクリプトで、一度に複数のクライアントサイトの繰り返しタスクを自動化すれば、貴重な時間を節約し、ポートフォリオ全体の一貫性、信頼性、セキュリティを確保できます。

バージョン管理のためのGit統合

Kinstaでは、GitGitHubGitLab、またはBitbucket経由)を使用して、SSH経由でコードを直接管理およびデプロイできます。サイトに接続後、サイトのpublicディレクトリ内(本番環境のWordPress本体が配置される場所)でGitコマンドを実行します。

たとえば、リポジトリから最新の変更を取得する場合は以下のようになります。

cd /www/sitename/public
git fetch origin main
git reset --hard origin/main

GitHubリポジトリの最新バージョンに合わせてサイトのファイルを更新します。

認証はSSH鍵か個人用アクセストークンで行います。リポジトリが二要素認証(2FA)を使用している場合は、リポジトリ設定で読み取り専用のデプロイキーを設定し、Kinstaが安全にコードをプルできるようにします。

GitHub、GitLab、Bitbucketは、すべて同様のSSHベースのワークフローに従っています。そのため、一度接続すれば、スクリプトやGitHub ActionsのようなCI/CDツールでデプロイを自動化し、最新の変更のプル、キャッシュのクリア、サイトの自動更新を行うことができます。

Kinstaでは、自動デプロイメントのため、メインブランチに新たなコミットをプッシュするたびに同じコマンドを実行するCI/CDワークフローをサポートしています。

ビジネス成長に対応するKinstaのインフラ

Kinstaのサーバー環境は、サイトの成長に応じて柔軟にスケールし、キャパシティプランニングや手動設定にかかる開発者の負担を軽減します。各WordPressサイトは、CPU、メモリ、Nginx、PHP、MySQLサービスなどの専用リソースを持つ隔離されたLXCコンテナ内で実行されます。

サイトがより多くの処理能力やメモリを必要とする場合は、アドオンを使ってリソースを適宜追加することが可能です。追加リソースは、必要に応じて迅速にプロビジョニングすることができます。

また、プランのリソース上限を超過した際に、クライアントサイトが停止することは懸念事項になります。Kinstaではこれを考慮し、リソースの使用量が一時的にプランのしきい値を超えても、サイトが停止することはありません。開発者はトラフィックの急増時に緊急介入することなく、時間の取れるタイミングで対応することができます。

大量の同時ユーザーを処理するサイト、複雑なデータベースクエリを実行するサイト、集中的なPHP操作を実行するサイトでは、このアプローチが最も効果的です。例えば、クエリの多いサイトでは、CPUやメモリを多く割り当てると、データベースの応答時間が速くなることがよくあります。

各PHPスレッドは一度に1件のリクエストしか処理できないため、PHPスレッドを追加することで、サイトが処理できる同時リクエスト数を増やすことができます。Kinstaでは、サイトのパフォーマンス要件に合わせて複数のインスタンスサイズを提供しており、組み込みのPHPパフォーマンスツールが必要に応じて追加のスレッドとメモリを割り当て、高負荷時の応答性を維持します。

WordPress開発者による24時間365日の技術サポート

Web制作会社に欠かせないのは、技術的要件を理解してくれるサポートです。一般的なレンタルサーバーのサポートでは、複雑なWordPressの問題をトラブルシューティングしたり、最適化に関するガイダンスを提供したりする深さに欠けることがよくあります。

Kinstaでは、WordPressに精通したエンジニアのみでカスタマーサポートを構成しています。

非営利団体向けにサービスを提供するデジタルエージェンシーCornershop Creativeは、Kinstaのサポートによって、チームの業務が劇的に効率化されたといいます。同社は220を超えるサイトを保守管理し、月間およそ300万件の訪問を処理していますが、以前利用していたサーバーと比較してサイトのダウンが大幅に減少しています。

「Kinstaのチャットサポートは便利で使いやすく、サポート担当者は知識豊富で親切です。Kinstaへの切り替えは大正解でした」と共同設立者のBen Byrne氏。

また、自己解決型のサポートツールも全てのプランで標準提供しています。

  • 全サイトの稼働状況を監視し、対応可能な問題については自動的に復旧を行います。インフラには、プロセスが停止した際に自動で再起動する自己修復型PHPが組み込まれています。
  • マルウェアスキャンが全てのサイトで実行されます。マルウェアが検出された場合、追加費用なしでクリーンアップを行います。
  • Cloudflare統合により、DDoS攻撃対策がインフラレベルで実装されています。悪意のあるトラフィックはサイトに到達する前にフィルタリングされます。
  • 毎日の自動バックアップは最大30日間保持され、ワンクリックで復元可能です。

スケーラビリティ、迅速かつ的確なサポート、社内でのリソース監視など、どのような要件であってもKinstaがサポートします。

まとめ

インフラ管理には、本来であればクライアントサイトの構築に充てるべき、開発者主体のWeb制作会社の貴重な時間が奪われることがあります。

Kinstaは、開発者向けツール、柔軟にスケーリング可能なコンテナ型アーキテクチャ、そしてWordPressエンジニアによるサポートを提供することで、あらゆるボトルネックを最小限に抑えます。負担の大きいメンテナンスを肩代わりし、常時監視を必要としない真に成長を支える基盤を実現します。

インフラの強化をお考えでしたら、KinstaのWeb制作会社向けWordPressプランがおすすめです。サーバー関連の問題から解放され、コード作成に集中できる開発者思いの環境をご用意しています。

Joel Olawanle Kinsta

Kinstaでテクニカルエディターとして働くフロントエンド開発者。オープンソースをこよなく愛する講師でもあり、JavaScriptとそのフレームワークを中心に200件以上の技術記事を執筆している。