Skip to main content

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

標準的なメンテナンス手順のうち、GitHub Enterprise Serverインスタンス のアップグレードやバックアップの復元などは、通常の使用のためにインスタンスをオフラインにしなければならないものがあります。

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

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

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

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

スケジューリングされたメンテナンスに関するエンドユーザ向けバナー

インスタンスがメンテナンスモードに入ると、通常のHTTP及びGitアクセスはすべて拒否されます。 Git fetch、clone、pushの操作も、サイトが一時的に利用できなくなっていることを示すエラーメッセージと共に拒否されます。 In high availability configurations, Git replication will be paused. GitHub Actions jobs will not be executed. サイトにブラウザーでアクセスすると、メンテナンスページが表示されます。

メンテナンスモードのスプラッシュスクリーン

You can perform initial validation of your maintenance operation by configuring an IP exception list to allow access to GitHub Enterprise Serverインスタンス from only the IP addresses and ranges provided. Attempts to access GitHub Enterprise Serverインスタンス from IP addresses not specified on the IP exception list will receive a response consistent with those sent when the instance is in maintenance mode.

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

  1. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  2. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  3. 左のサイドバーでManagement Consoleをクリックしてください。 左のサイドバーのManagement Consoleタブ

  4. Management Consoleの上部でMaintenance(メンテナンス)をクリックしてください [Maintenance] タブ

  5. "Enable and schedule(有効化とスケジュール)"の下で、即時にメンテナンスモードを有効化するか、将来にメンテナンスウィンドウをスケジューリングするかを決めてください。

    • メンテナンスモードを直ちに有効にするには、プルダウンメニューを使用して [now] をクリックします。 メンテナンスモードを有効にするオプションが選択されたドロップダウンメニュー
    • 今後のメンテナンス時間枠をスケジュール設定するには、ドロップダウンメニューを使用して開始時間をクリックします。 メンテナンス時間枠を 2 時間でスケジュール設定するオプションが選択されたドロップダウンメニュー
  6. Enable maintenance mode(メンテナンスモードの有効化)を選択してください。 メンテナンスモードの有効化とスケジューリングのためのチェックボックス

  7. 左のサイドバーの下でSave settings(設定の保存)をクリックしてください。

    Screenshot of the save settings button in the Management Console

    Note: Saving settings in the Management Console restarts system services, which could result in user-visible downtime.

  8. 設定が完了するのを待ってください。

    インスタンスの設定

Validating changes in maintenance mode using the IP exception list

The IP exception list provides controlled and restricted access to GitHub Enterprise Serverインスタンス, which is ideal for initial validation of server health following a maintenance operation. Once enabled, GitHub Enterprise Serverインスタンス will be taken out of maintenance mode and available only to the configured IP addresses. The maintenance mode checkbox will be updated to reflect the change in state.

If you re-enable maintenance mode, the IP exception list will be disabled and GitHub Enterprise Serverインスタンス will return to maintenance mode. If you just disable the IP exception list, GitHub Enterprise Serverインスタンス will return to normal operation.

You can also use a command-line utility to configure the IP exception list. For more information, see "Command-line utilities" and "Accessing the administrative shell (SSH)."

  1. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  2. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  3. 左のサイドバーでManagement Consoleをクリックしてください。 左のサイドバーのManagement Consoleタブ

  4. At the top of the Management Console, click Maintenance, and confirm maintenance mode is already enabled. [Maintenance] タブ

  5. Select Enable IP exception list. Checkbox for enabling ip exception list

  6. In the text box, type a valid list of space-separated IP addresses or CIDR blocks that should be allowed to access GitHub Enterprise Serverインスタンス. completed field for IP addresses

  7. [Save] をクリックします。 after IP excetpion list has saved

GitHub Enterprise Server APIでのメンテナンスモードのスケジューリング

GitHub Enterprise Server APIでは、様々な時間や日付にメンテナンスをスケジューリングできます。 詳しい情報については、「Management Console」を参照してください。

クラスタ内の全ノードでのメンテナンスモードの有効化もしくは無効化

ghe-cluster-maintenanceユーティリティを使えば、クラスタ内のすべてのノードでメンテナンスモードの設定や解除ができます。

$ ghe-cluster-maintenance -h
# オプションの表示
$ ghe-cluster-maintenance -q
# 現在のモードの問い合わせ
$ ghe-cluster-maintenance -s
# メンテナンスモードの設定
$ ghe-cluster-maintenance -u
# メンテナンスモードの解除