HTTPエラーコードの基礎知識
SharePointを使用していると、「503 Service Unavailable」や「500 Internal Server Error」というエラーに遭遇することがあります。
これらは、HTTPステータスコードと呼ばれるものです。
HTTPステータスコードとは
Webサーバーが、リクエストの処理結果をブラウザに伝えるための3桁の数字です。
5xx番台のエラーは、すべて「サーバー側のエラー」を意味します。
ユーザーができること
5xx番台のエラーは、サーバー側の問題です。
基本的にユーザー側では解決できません。
サーバー管理者やIT部門に連絡する必要があります。
503エラー(Service Unavailable)とは
503エラーの意味
「503 Service Unavailable」は、「サービスが利用できません」という意味です。
表示されるメッセージ
- HTTP Error 503. The service is unavailable
- 503 SERVICE UNAVAILABLE
- Service Unavailable
- The server is busy now. Try again later.
サーバーが一時的にリクエストを処理できない状態です。
SharePointで503エラーが発生する主な原因
SharePointでは、オンプレミス版とSharePoint Onlineで原因が異なります。
SharePoint Server(オンプレミス)の場合
1. アプリケーションプールの停止
最も一般的な原因です。
IIS(インターネットインフォメーションサービス)のアプリケーションプールが停止しています。
なぜ停止するのか
- アプリケーションプール用アカウントのパスワード変更
- パスワードの有効期限切れ
- サーバーの再起動後に自動起動しなかった
- リソース不足でプールがクラッシュ
2. SharePointサービスの停止
重要なSharePointサービスが停止しています。
主な対象サービス
- SharePoint Timer Service
- World Wide Web Publishing Service
- IIS Admin Service
これらのサービスが停止すると、SharePointは動作しません。
3. アカウント権限の問題
アプリケーションプールのアカウントに必要な権限がありません。
必要な権限
- Log on as batch job
- Impersonate a client after authentication
- IIS_IUSRSグループのメンバーシップ
権限が不足していると、アプリケーションプールが起動できません。
4. 証明書の期限切れ
SSL/TLS証明書が期限切れになっている場合、503エラーが発生することがあります。
影響範囲
SharePoint Web Servicesで使用している証明書の確認が必要です。
5. ソリューションのデプロイ中
SharePointソリューションをデプロイしている最中は、一時的に503エラーが表示されます。
正常な動作
デプロイ完了後、自動的に解消します。
SharePoint Online の場合
1. スロットリング(制限)
SharePoint Onlineでは、過剰なリクエストを防ぐためにスロットリングが実施されます。
スロットリングとは
短時間に大量のリクエストを送信すると、サーバーへの負荷を軽減するため、リクエストが制限されます。
HTTPステータスコード
- 429 Too Many Requests:リクエスト数の上限超過
- 503 Service Unavailable:サーバーの一時的過負荷
どちらもスロットリングによるものです。
スロットリングが発生する状況
- 大量のファイルを一度にアップロード
- 短時間に何千ものAPIリクエスト
- バックアップソフトウェアの同時実行
- Power Automateで頻繁なリクエスト
- Power BIのデータ更新
- 5,000件以上のアイテムを含むリストの操作
スロットリングの仕組み
SharePoint Onlineは、ユーザーアカウントとアプリケーションごとに使用量を監視します。
リソースユニット(Resource Unit)という概念で制限が管理されます。
制限の基準
- テナントのライセンス数
- ユーザーアカウントごとの制限
- アプリケーションごとの制限
- APIの種類ごとのコスト
2. サービスの一時的障害
Microsoftのサービスインフラに問題が発生している場合です。
原因
- データセンターの負荷増大
- ネットワーク問題
- サービスメンテナンス
- 障害発生
確認方法
Microsoft 365管理センターのサービス正常性ダッシュボードで確認できます。
3. ピーク時間帯の負荷
業務時間中は、多くのユーザーが同時にアクセスするため、サーバーの負荷が高くなります。
発生しやすい時間
- 午前9時〜10時:業務開始時
- 午後1時〜2時:昼休み明け
- 地域のタイムゾーンに依存
500エラー(Internal Server Error)とは
500エラーの意味
「500 Internal Server Error」は、「サーバー内部エラー」という意味です。
表示されるメッセージ
- 500 INTERNAL SERVER ERROR
- HTTP 500 Internal Server Error
- Internal Server Error
サーバーがリクエストを処理中に予期しないエラーが発生しました。
SharePointで500エラーが発生する主な原因
1. Web.configファイルのエラー
SharePointのWeb.config設定ファイルに問題があります。
よくある問題
- XMLの構文エラー
- 閉じタグの欠落
- プロパティ値の引用符の欠落
- 不正確な設定値
例
<!-- 間違い:引用符が欠落 -->
<property value=test />
<!-- 正しい -->
<property value="test" />
2. アプリケーションプールの停止
503エラーと同様に、アプリケーションプールが停止している場合、500エラーが表示されることもあります。
確認ポイント
- SharePoint – 80(または該当ポート番号)
- SharePoint Central Administration v4
- Security Token Service Application Pool
すべて開始状態である必要があります。
3. Security Token Serviceの問題
Security Token Service(STS)のアプリケーションプールが停止しています。
STSとは
SharePointの認証を管理する重要なサービスです。
これが停止すると、ログインができなくなります。
4. アカウント権限の不足
アプリケーションプールアカウントに「Impersonate a client after authentication」権限がありません。
権限確認方法
ローカルセキュリティポリシーで確認できます。
5. データベース接続の問題
SharePointがSQL Serverデータベースに接続できません。
原因
- SQL Serverが停止している
- ネットワーク接続の問題
- データベースの破損
- 接続文字列の誤り
- ファイアウォールのブロック
6. カスタムコードやスクリプトのエラー
カスタムソリューション、Webパーツ、またはスクリプトにバグがあります。
よくあるケース
- カスタムWebパーツの例外
- イベントレシーバーのエラー
- JavaScriptのエラー
- ワークフローの問題
7. 代替アクセスマッピング(AAM)の未設定
SharePointの代替アクセスマッピングが正しく設定されていません。
症状
URLがhttp://127.0.0.1でアクセスされていて、AAMに登録されていない。
8. リスト閾値の超過
SharePoint Onlineで5,000件以上のアイテムを含むリストを操作しようとしています。
リスト閾値とは
1回の操作で処理できるリストアイテムの上限です。
デフォルトでは5,000件です。
発生する状況
- ビューにフィルターがない
- デフォルトビューに集計が含まれる
- Power BIでリスト全体を読み込もうとする
503エラーの対処法
SharePoint Server(オンプレミス)の場合
1. アプリケーションプールの確認と起動
手順
- IISマネージャーを開く
スタート→管理ツール→インターネットインフォメーションサービス(IIS)マネージャー - 左側のツリーでサーバー名を展開
- 「アプリケーションプール」をクリック
- SharePoint関連のプールを確認
- SharePoint – 80(または該当するポート)
- SharePoint Central Administration v4
- SecurityTokenServiceApplicationPool
- 停止しているプールを右クリック→「開始」
プールが開始しない場合
アカウントのパスワードを更新します。
- 該当するアプリケーションプールを右クリック
- 「詳細設定」を選択
- 「プロセスモデル」セクションの「ID」をクリック
- 「…」ボタンをクリック
- 「カスタムアカウント」を選択
- 「設定」をクリック
- ユーザー名とパスワードを入力
- OK をクリック
- プールを再起動
2. SharePointサービスの確認
手順
- services.mscを開く
スタート→ファイル名を指定して実行→「services.msc」 - 以下のサービスを確認
- SharePoint Timer Service
- SharePoint Administration
- World Wide Web Publishing Service
- 停止しているサービスを右クリック→「開始」
SharePoint Timer Serviceが起動しない場合
ログオン失敗が原因です。
- サービスを右クリック→「プロパティ」
- 「ログオン」タブをクリック
- 「このアカウント」を選択
- 正しいアカウントとパスワードを入力
- OK をクリック
- サービスを開始
3. アカウント権限の確認
Log on as batch jobの確認
- ローカルセキュリティポリシーを開く
- ローカルポリシー→ユーザー権利の割り当て
- 「バッチジョブとしてログオン」をダブルクリック
- アプリケーションプールアカウントが含まれているか確認
- なければ追加
IIS_IUSRSグループの確認
- コンピューターの管理を開く
- ローカルユーザーとグループ→グループ
- 「IIS_IUSRS」をダブルクリック
- アプリケーションプールアカウントが含まれているか確認
4. SharePoint構成ウィザードの実行
設定に問題がある場合、構成ウィザードを再実行します。
手順
- SharePoint製品構成ウィザードを起動
- 「既存のサーバーファームに接続」を選択
- ウィザードを完了
注意
この操作は慎重に行ってください。
バックアップを取ることを推奨します。
5. ULSログの確認
詳細なエラー情報は、ULS(Unified Logging System)ログで確認できます。
ログの場所
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\LOGS
確認方法
- 最新のログファイルを開く
- エラーや警告を検索
- タイムスタンプでエラー発生時刻を確認
SharePoint Onlineの場合
1. スロットリングの場合の対処
すぐにできること
待機してください。
スロットリングは通常、20分〜数時間で自動的に解除されます。
Retry-Afterヘッダーの確認
エラーレスポンスに含まれるRetry-Afterヘッダーを確認してください。
何秒待てばよいかが示されています。
長期的な対策
1. リクエストを分散させる
- ピーク時間を避ける
- 夜間や週末に大量処理を実行
- 一度に処理する量を減らす
2. 処理を最適化する
- 必要最小限のデータのみ取得
- フィルターを活用
- バッチ処理の間隔を空ける
3. バックアップソフトウェアの調整
- 同時実行ジョブ数を減らす
- スケジュールを調整
- ベンダーに相談
4. Power Automateフローの最適化
- トリガーの頻度を下げる
- 一度に処理するアイテム数を制限
- 不要なフローを無効化
2. サービス障害の確認
Microsoft 365サービス正常性の確認
- Microsoft 365管理センターにアクセス
- 「正常性」→「サービス正常性」
- SharePoint Onlineを確認
- 障害や勧告がないかチェック
障害が報告されている場合
ユーザー側では何もできません。
Microsoftの復旧を待ちます。
影響範囲の確認
- 自分のサイトだけか
- テナント全体か
- 全ユーザーか
3. ネットワークとファイアウォールの確認
必要なURLがブロックされていないか確認
SharePoint Onlineが必要とするURLがファイアウォールでブロックされている可能性があります。
IT管理者に確認を依頼
- Microsoft 365エンドポイントが許可されているか
- プロキシ設定が正しいか
- VPN経由の接続は正常か
500エラーの対処法
SharePoint Server(オンプレミス)の場合
1. アプリケーションプールの確認
503エラーと同じ手順で確認してください。
アプリケーションプールを再起動します。
2. Web.configファイルの確認
手順
- Web.configファイルの場所を特定
通常は以下のパスです。
C:\inetpub\wwwroot\wss\VirtualDirectories\<port>\web.config
- ファイルをバックアップ
- テキストエディタ(メモ帳など)で開く
- XMLの構文エラーを確認
- 開きタグと閉じタグが対応しているか
- 引用符が正しく使われているか
- 特殊文字がエスケープされているか
- 最近の変更を元に戻す
注意
Web.configの編集は慎重に行ってください。
誤った編集は、さらなるエラーを引き起こします。
3. Security Token Serviceの確認
手順
- IISマネージャーを開く
- アプリケーションプールを確認
- 「SecurityTokenServiceApplicationPool」が開始しているか確認
- 停止している場合は開始
4. アカウント権限の付与
Impersonate a client after authenticationの付与
- ローカルセキュリティポリシーを開く
- ローカルポリシー→ユーザー権利の割り当て
- 「認証後にクライアントを偽装」をダブルクリック
- アプリケーションプールアカウントを追加
5. SQL Serverの確認
確認項目
- SQL Serverサービスが実行中か
- SQL Server (MSSQLSERVER)
- SQL Server Agent
- SharePointサーバーからSQL Serverに接続できるか
- pingコマンドでネットワーク確認
- SQL Server Management Studioで接続テスト
- ファイアウォールでポート1433が開いているか
- SharePointデータベースにアクセスできるか
6. IISの再起動
設定変更後は、IISを再起動します。
方法1:コマンドプロンプト
iisreset
方法2:IISマネージャー
- サーバーを右クリック
- 「再起動」を選択
7. SharePointサーバーの再起動
他の方法で解決しない場合、サーバー全体を再起動します。
手順
- すべてのユーザーに通知
- サーバーを再起動
- 起動後、サービスとアプリケーションプールを確認
8. 代替アクセスマッピングの設定
手順
- SharePoint全体管理にアクセス
- システム設定→代替アクセスマッピングの構成
- 使用しているURLがすべて登録されているか確認
- 不足しているURLを追加
SharePoint Onlineの場合
1. リスト閾値の問題への対処
Power BIでの対処
5,000件以上のリストをPower BIに接続している場合です。
対処法
- デフォルトビューから集計を削除
- リスト設定→ビュー
- デフォルトビューを編集
- 「合計」セクションの集計をすべて削除
- 保存
- Power BIのレポートを更新
リスト自体の対処
- インデックスを作成
- よく使う列にインデックスを設定
- 最大20列までインデックス可能
- ビューにフィルターを設定
- 常に5,000件以下になるフィルター
- 日付範囲で絞り込み
- リストを分割
- アーカイブ用リストを作成
- 古いデータを移動
2. ブラウザのキャッシュとCookieのクリア
一時的な問題の可能性があります。
手順(Chrome)
- ブラウザの設定を開く
- プライバシーとセキュリティ→閲覧履歴データの削除
- 「キャッシュされた画像とファイル」「Cookie」を選択
- 「データを削除」をクリック
プライベートブラウジングでのテスト
- Chromeの場合:Ctrl + Shift + N
- Edgeの場合:Ctrl + Shift + P
- SharePointにアクセス
- エラーが解消するか確認
3. 別のブラウザでのテスト
ブラウザ固有の問題を除外します。
テスト対象
- Microsoft Edge
- Google Chrome
- Mozilla Firefox
4. Microsoft サポートへの問い合わせ
上記の方法で解決しない場合は、Microsoftサポートに連絡してください。
必要な情報
- エラーが発生した日時
- 影響を受けているユーザー数
- エラーメッセージのスクリーンショット
- 試した対処法
- テナントID
予防策と推奨事項
SharePoint Server(オンプレミス)
1. パスワード管理
定期的なパスワード更新
- アプリケーションプールアカウントのパスワードを定期的に更新
- IISの設定も同時に更新
- SharePointサービスのアカウントも確認
パスワードポリシーの確認
- パスワードの有効期限を把握
- 期限切れ前に更新
- 自動更新の仕組みを検討
2. 監視とアラート
パフォーマンス監視
- CPU使用率
- メモリ使用量
- ディスク容量
- ネットワーク帯域
サービス監視
- 重要なサービスの稼働状況
- アプリケーションプールの状態
- 異常時の自動アラート
3. 定期的なメンテナンス
毎週
- ULSログの確認
- イベントログのチェック
- ディスク容量の確認
毎月
- サーバーの再起動(計画的に)
- Windowsアップデートの適用
- SharePoint更新プログラムの確認
4. バックアップ
定期的なバックアップ
- SharePointファーム全体
- コンテンツデータベース
- 構成設定
バックアップの検証
- 復元テストの実施
- バックアップの整合性確認
5. 証明書管理
証明書の有効期限管理
- 証明書の有効期限を記録
- 期限切れ前に更新
- 自動通知の設定
SharePoint Online
1. スロットリング対策
設計段階
- リスト閾値を考慮した設計
- 大量データ処理の計画
- APIコストを意識したアーキテクチャ
運用段階
- ピーク時間を避けた処理
- バッチ処理の間隔調整
- 不要なリクエストの削減
2. リスト設計
5,000件ルール
- リストアイテムは5,000件以内に抑える
- 超える場合はアーカイブを検討
- インデックスの活用
ビューの最適化
- フィルターの設定
- 表示列の制限
- 集計の最小化
3. サービス正常性の監視
Microsoft 365管理センターの確認
- 定期的にサービス正常性を確認
- メッセージセンターの通知を確認
- 計画メンテナンスを把握
4. ユーザー教育
適切な使用方法の周知
- 一度に大量のファイルをアップロードしない
- 同期の適切な設定
- リスト閾値の理解
トラブルシューティングの流れ
503エラーの場合
SharePoint Server
- アプリケーションプールを確認
- 停止していれば起動
- 起動しない場合、パスワードを更新
- SharePointサービスを確認
- ULSログでエラー詳細を確認
- 必要に応じてIISを再起動
SharePoint Online
- 数分待つ
- サービス正常性を確認
- 障害がなければスロットリングの可能性
- 20分〜数時間待つ
- 繰り返す場合は処理を最適化
500エラーの場合
SharePoint Server
- アプリケーションプールを確認
- Security Token Serviceを確認
- SQL Server接続を確認
- Web.configをチェック
- ULSログで詳細確認
- 最近の変更を元に戻す
- IISを再起動
SharePoint Online
- ブラウザキャッシュをクリア
- 別のブラウザでテスト
- リスト閾値を確認
- サービス正常性を確認
- Microsoftサポートに連絡
まとめ
SharePointの503エラーと500エラーは、原因が多岐にわたります。
503エラーの主な原因
- オンプレミス:アプリケーションプールの停止、サービスの停止
- Online:スロットリング、サービス障害
500エラーの主な原因
- オンプレミス:Web.configのエラー、アカウント権限、データベース接続
- Online:リスト閾値の超過、カスタムコード
基本的な対処法
- オンプレミス:アプリケーションプール・サービスの確認と起動
- Online:待機、サービス正常性の確認
予防策
- オンプレミス:パスワード管理、監視、定期メンテナンス
- Online:スロットリング対策、リスト設計の最適化
重要なポイント
- エラーログ(ULS、イベントビューアー)で詳細を確認
- 最近の変更を記録し、問題時に元に戻せるようにする
- バックアップを定期的に取得
- わからない場合は専門家やMicrosoftサポートに相談
503エラーと500エラーは、適切な知識と対処法があれば、多くの場合解決できます。
慌てずに、一つずつ原因を切り分けて対処しましょう。

コメント