Xserverのマニュアルを見ていたら、かなり実用的な機能がありました。
XServer APIです。
これは、ドメイン、メールアカウント、WordPress、データベースなどの設定を、外部プログラムやAIエージェントから操作できるAPIです。つまり、これまでサーバーパネルで手作業していた作業の一部を、REST API経由で扱えるようになります。
XServer APIは、レンタルサーバーの管理画面操作を外部プログラムから扱えるようにするAPIです。これはXserverのかなり大きな有意性だと思います。
XServer APIでできること
公式のAPIリファレンスを見ると、XServer APIはエックスサーバーおよびXServerビジネスのサーバーパネルで提供している主要機能をREST APIで利用するためのインターフェースとして説明されています。
ベースURLは次の通りです。
https://api.xserver.ne.jp
サーバー単位のAPIは、基本的に次のようなパスで呼び出します。
/v1/server/{servername}
{servername} には、サーバー契約時に付与される初期ドメインを指定します。エックスサーバーなら サーバーID.xsrv.jp、XServerビジネスなら サーバーID.xbiz.jp という形式です。
主な対象は次のあたりです。
- サーバー情報、利用状況の取得
- Cron設定の取得、追加、変更、削除
- WordPress簡単インストールの一覧取得、新規インストール、設定変更、削除
- メールアカウントの作成、変更、削除
- メール転送、メール振り分け設定
- FTPアカウント管理
- MySQLデータベース、MySQLユーザー、権限管理
- PHPバージョン設定
- ドメイン、サブドメイン設定
- 無料SSLのインストール、アンインストール
- DNSレコードの追加、更新、削除
- アクセスログ、エラーログの取得
ポイントは、WordPressだけではなく、サーバーパネル側の実務操作までAPI化されていることです。
APIキーはXServerアカウントから発行する
XServer APIを使うには、まずAPIキーを発行します。
手順はシンプルです。
- XServerアカウントにログインする
- サービスメニューから「APIキー管理」を開く
- 「APIキー追加」から必要事項を入力する
- 発行された xs_ で始まるAPIキーを保存する
APIキーは発行時だけ全文が表示されます。あとから再表示できる前提で運用すると危ないので、発行直後に安全な場所へ保存しておく必要があります。
認証は Authorization ヘッダーにBearerトークンとしてAPIキーを付ける形です。
curl \
"https://api.xserver.ne.jp/v1/me" \
-H "Authorization: Bearer YOUR_API_KEY"
APIキーはサーバーやドメインを操作できる鍵です。ブラウザに配信するJavaScriptや公開リポジトリには絶対に置かないでください。
権限を絞れるのが実務向き
APIキーには権限を設定できます。
- すべての操作
- 読み取り専用
- カスタム
最初に試すなら、読み取り専用かカスタム権限から始めるのが安全です。たとえば「サーバー利用状況を取得する」「ドメイン一覧を棚卸しする」「PHPバージョンを確認する」だけなら、いきなり書き込み権限を渡す必要はありません。
AIエージェントに使わせる場合も同じです。
「何でもできるAPIキー」を渡すより、対象サーバー、権限、有効期限を絞ったAPIキーを発行する方が現実的です。
レート制限も明示されている
XServer APIには、サーバーアカウント単位のレート制限があります。
レスポンスヘッダーには、レート制限に関する情報も返ります。
X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-Reset
X-RateLimit-Concurrent-Limit
X-RateLimit-Concurrent-Remaining
制限を超えた場合は 429 Too Many Requests が返り、待機すべき秒数は Retry-After ヘッダーで確認できます。
日常的な管理自動化なら十分な枠です。ただし、複数サイトを一括処理するバッチでは、429を前提に待機・再試行を入れるべきです。
APIキーの作成上限
APIキーの作成数にも上限があります。
個人運用ならスタンダードでも十分ですが、クライアント別、用途別、エージェント別にキーを分けたい場合は、上限も設計に入れておいた方がよさそうです。
何が便利なのか
個人的に大きいと思ったのは、レンタルサーバーの管理が「画面操作だけ」から少し離れられる点です。
たとえば、次のような作業は自動化の対象になります。
- 新規案件のドメイン追加、SSL設定、DNS確認を手順化する
- WordPressの新規インストールを作業テンプレート化する
- メールアカウント作成を申請フォームと連動する
- PHPバージョンの一覧を取得して、古い環境を棚卸しする
- Cron設定やMySQL設定を定期的に監査する
- アクセスログやエラーログを取得して、別の監視フローに渡す
これまでは、サーバーパネルにログインして、画面を見ながら手で確認していた領域です。そこにAPIがあると、単発の自動化だけでなく、チェックリスト化、監査、定期レポート化までやりやすくなります。
AIエージェントとの相性がいい
XServer APIの説明には、外部プログラムだけでなくAIエージェントから操作できるAPIという文脈が出ています。
これはかなり今っぽいです。
AIエージェントに自然文で、
このサーバーのドメイン一覧とPHPバージョンを確認して、古そうなものをまとめて
と頼み、裏側ではAPIでサーバー情報を取得する。こういう運用が現実的になります。
もちろん、書き込み操作をAIに任せる場合は慎重にするべきです。いきなり削除や更新まで許すのではなく、最初は読み取り専用で棚卸し、次に変更案の作成、最後に人間承認付きで実行、という段階を踏むのがよいと思います。
AIエージェントに使わせるなら、まずは読み取り専用APIキーで「確認だけ」から始めるのが安全です。
ドメイン操作では所有権確認に注意
一部のAPIでは、操作対象ドメインの所有権確認として _xserver-verify.{domain} のTXTレコード検証が行われます。
流れとしては、サーバー情報取得APIで domain_validation_token を取得し、DNSに次のようなTXTレコードを追加します。
ホスト名: _xserver-verify.{domain}
値: xserver-verify={取得したトークン}
DNS反映後に、対象APIを実行する形です。
ドメイン追加やメールアカウント作成のように、外部ドメインが関係する操作では、この所有権確認を含めて手順化する必要があります。
これはXserverの強みになりそう
レンタルサーバーは、どうしても「管理画面で人間が操作するもの」という印象が強いです。
でも、XServer APIがあると、エックスサーバーを単なる共有サーバーではなく、ある程度プログラムから操作できるホスティング基盤として扱えます。
これは制作会社、複数サイト運用者、AIエージェントを使ったサイト管理を考えている人にとってかなり便利です。
特に強いのは、WordPressのREST APIだけでは届かない領域を扱えることです。
WordPress REST APIは、記事、メディア、ユーザー、プラグイン周辺には強いです。一方で、サーバー側のドメイン、SSL、DNS、PHP、MySQL、メール、CronはWordPressの外側にあります。
XServer APIは、その外側を扱えます。
XServer APIの価値は「WordPressをAPIで操作できる」ことではなく、「WordPressの外側にあるサーバー運用までAPIで扱える」ことです。
まず試すならこの順番
いきなり書き込み系APIを触るより、まずは読み取り系から試すのがよいです。
- APIキーを読み取り専用で発行する
- GET /v1/me で認証確認する
- GET /v1/server/{servername}/server-info でサーバー情報を取得する
- GET /v1/server/{servername}/domain でドメイン一覧を取得する
- GET /v1/server/{servername}/php-version でPHPバージョン設定を確認する
- 問題なければ、用途を絞ったカスタム権限のAPIキーを発行する
読み取りで十分に挙動を確認してから、SSL、DNS、メールアカウント作成、WordPressインストールなどの書き込み系に進むのが安全です。
まとめ
XServer APIは、エックスサーバーのサーバーパネル操作をREST APIから扱えるようにする機能です。
できることはかなり広く、サーバー情報、Cron、WordPress、メール、FTP、MySQL、PHP、ドメイン、サブドメイン、SSL、DNS、ログ取得まで対象に入っています。
複数サイト運用やAIエージェント運用を考えるなら、XServer APIはかなり便利です。Xserverを選ぶ理由の一つになり得る機能だと思います。
参考: