Skip to main content

メンテナンスモードの有効化とスケジューリング

お使いの GitHub Enterprise Server インスタンスのアップグレードやバックアップの復元など、一部の標準的なメンテナンス手順では、通常の使用のためにインスタンスをオフラインにする必要があります。

メンテナンスモードについて

一部の種類の操作では、 お使いの GitHub Enterprise Server インスタンス をオフラインにしてメンテナンス モードにする必要があります。

  • の新しいバージョンへのアップグレード GitHub Enterprise Server
  • 仮想マシンに割り当てられている CPU、メモリ、またはストレージリソースを拡大する
  • ある仮想マシンから別の仮想マシンへデータを移行する
  • GitHub Enterprise Server Backup Utilities スナップショットからのデータの復元
  • 特定の種類の重要なアプリケーション問題のトラブルシューティング

メンテナンスウィンドウのスケジュールは、ユーザに準備時間を与えるために少なくとも30分は先にすることをおすすめします。 メンテナンスウィンドウがスケジューリングされると、すべてのユーザにはサイトにアクセスしたときにバナーが表示されます。

インスタンスがメンテナンスモードに入ると、通常のHTTP及びGitアクセスはすべて拒否されます。 これには、アプライアンスが状態コード 503 (サービス利用不可) で応答する Web 要求と API 要求が含まれます。 Git fetch、clone、pushの操作も、サイトが一時的に利用できなくなっていることを示すエラーメッセージと共に拒否されます。 GitHub Actionsジョブは実行されません。 サイトにブラウザーでアクセスすると、メンテナンスページが表示されます。

メンテナンス操作の初期検証を実行するには、IP 例外リストを構成して、指定された IP アドレスと範囲からのみ お使いの GitHub Enterprise Server インスタンス にアクセスできるようにします。 IP 例外リストで指定されていない IP アドレスから お使いの GitHub Enterprise Server インスタンス にアクセスしようとすると、インスタンスがメンテナンス モードのときに送信された応答と一致する応答を受け取ります。

メンテナンスモードの即時有効化あるいは後のためのメンテナンスウィンドウのスケジューリング

  1. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅にある をクリックします。

  2. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

  3. [ Site admin] サイドバーで、[[Management Console]] をクリックします。

  4. 上部のナビゲーション バーで [メンテナンス] をクリックします。

    [Management Console] のヘッダーのスクリーンショット。 [メンテナンス] というラベルが付いたタブが、オレンジ色の枠線で強調表示されています。

  5. [有効化とスケジュール] で [メンテナンス モードを有効にする] を選び、メンテナンス モードをすぐに有効にするか、将来のメンテナンス期間をスケジュールするかを決めます。

    • メンテナンス モードを直ちに有効にするには、ドロップダウン メニューを選んで [今すぐ] をクリックします。
    • 今後のメンテナンス期間をスケジュール設定するには、ドロップダウン メニューを選んで開始時間をクリックします。
  6. (オプション) メンテナンス期間中にユーザーに表示するカスタム メッセージを設定するには、[Set a maintenance mode message] (メンテナンス モード メッセージの設定) フィールドにメッセージを入力します。

  7. ウィンドウのタイミングとオプションのメッセージに問題がなければ、[保存] をクリックします。 [今すぐ] を選択した場合、インスタンスはすぐにメンテナンス モードになります。

IP 例外リストを使い、メンテナンス モードで変更を検証する

IP 例外リストは、 お使いの GitHub Enterprise Server インスタンスへの制御された制限付きアクセスを提供します。これは、メンテナンス操作後のサーバーの正常性の初期検証に最適です。 有効にすると、 お使いの GitHub Enterprise Server インスタンス はメンテナンス モードから除外され、構成された IP アドレスでのみ使用できるようになります。 メンテナンス モードのチェック ボックスは、状態の変化を反映するように更新されます。

メンテナンス モードを再度有効にすると、IP 例外リストが無効になり、 お使いの GitHub Enterprise Server インスタンス メンテナンス モードに戻ります。 IP 例外リストを無効にした場合、 お使いの GitHub Enterprise Server インスタンス は通常の操作に戻ります。

コマンド ライン ユーティリティを使って IP 例外リストを構成することもできます。 詳細については、「コマンド ライン ユーティリティ」および「管理シェル (SSH) にアクセスする」を参照してください。

  1. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅にある をクリックします。

  2. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

  3. [ Site admin] サイドバーで、[[Management Console]] をクリックします。

  4. 上部のナビゲーション バーで [メンテナンス] をクリックし、メンテナンス モードが既に有効になっていることを確認します。

    [Management Console] のヘッダーのスクリーンショット。 [メンテナンス] というラベルが付いたタブが、オレンジ色の枠線で強調表示されています。

  5. [IP 例外リストの有効化と構成] で [IP 例外リストの有効化] を選びます。

  6. リストを有効にするチェックボックスの右側に、 お使いの GitHub Enterprise Server インスタンスへのアクセスを許可する必要がある、スペース区切りの IP アドレスまたは CIDR ブロックの有効なリストを入力します。

  7. (オプション) メンテナンス期間中にユーザーに表示するカスタム メッセージを設定するには、[Set a maintenance mode message] (メンテナンス モード メッセージの設定) フィールドにメッセージを入力します。

  8. [保存] をクリックします。

REST API を使用したメンテナンス モードの管理

REST API を使用して、 お使いの GitHub Enterprise Server インスタンス のメンテナンス モードを管理できます。 詳しくは、「GitHub Enterprise Server を管理するための REST API エンドポイント」をご覧ください。

GitHub CLI を使用したメンテナンス モードの管理

お使いの GitHub Enterprise Server インスタンス GitHub CLI拡張機能を使用して、gh esのメンテナンス モードを管理できます。 詳細については、GH ES CLI の使用に関するドキュメントで gh es maintenance setgh es maintenance get を参照してください。

詳しくは、「GitHub CLI を使用したインスタンスの管理」をご覧ください。

SSH を使用したメンテナンス モードの管理

SSH アクセス権がある場合は、 ghe-maintenance コマンド ライン ユーティリティを使用して、1 つのノードを持つ GitHub Enterprise Server インスタンスまたは高可用性構成の複数のノードのメンテナンス モードを設定または設定解除できます。 詳細については、「管理シェル (SSH) にアクセスする」および「コマンド ライン ユーティリティ」を参照してください。

SSH を使用したクラスターのメンテナンス モードの管理

GitHub Enterprise Server インスタンスへの SSH アクセス権がある場合は、ghe-cluster-maintenance コマンド ライン ユーティリティを使用して、クラスター内のすべてのノードのメンテナンス モードを設定または設定解除できます。 詳細については、「管理シェル (SSH) にアクセスする」および「コマンド ライン ユーティリティ」を参照してください。

$ ghe-cluster-maintenance -h
# Shows options
$ ghe-cluster-maintenance -q
# Queries the current mode
$ ghe-cluster-maintenance -s
# Sets maintenance mode
$ ghe-cluster-maintenance -s "MESSAGE"
# Sets maintenance mode with a custom message
$ ghe-cluster-maintenance -m "MESSAGE"
# Updates the custom message
$ ghe-cluster-maintenance -u
# Unsets maintenance mode