GitHub Enterprise Server バックアップに関する既知の問題について
GitHub には、GitHub Enterprise Server インスタンスのデータのバックアップまたは復元に影響を与える可能性がある次の問題の回避策が用意されています。 詳しくは、GitHub Enterprise Server リリース ノートの「既知の問題」を参照してください。
バックアップの復元後にユーザーがサインインできない
注: この既知の問題は、GitHub Enterprise Server Backup Utilities 3.8.1 で修正されています。
GitHub Enterprise Server Backup Utilities 3.7.0 または 3.8.0 を使用して、 GitHub Enterprise Server 3.7 または 3.8 シリーズで任意のリリースを実行しているインスタンスをバックアップした場合、新しいインスタンスにバックアップを復元した後、ユーザーはサインインできません。 ユーザーはサインインできませんが、バックアップ自体は影響を受けず、すべてのデータはそのままです。
この問題の影響を受ける既存のバックアップを復元した後、新しいインスタンスの構成を変更することで問題を解決できます。
既存のバックアップからの復元
GitHub Enterprise Server Backup Utilities 3.8.0 から新しいインスタンスに既存のバックアップを復元しており、ユーザーがサインインできない場合は、ソース GitHub Enterprise Server インスタンスから構成データを出力し、ターゲット インスタンスの構成を調整する必要があります。
ユーザーが新しいターゲット インスタンスに確実にサインインできるようにするには、環境が次の要件を満たしていることを確かめます。
- ソース GitHub Enterprise Server インスタンスが実行されていて、SSH 経由でアクセスできる必要があります。
- GitHub Enterprise Server Backup Utilities 3.7.0 または 3.8.0 からの既存のバックアップが必要です。
- 新しいターゲット GitHub Enterprise Server インスタンスをプロビジョニングし、バックアップを復元している必要があります。 詳細については、「GitHub Enterprise Server インスタンスをセットアップする」および「インスタンスでのバックアップの構成」を参照してください。
-
バックアップしたソース GitHub Enterprise Server インスタンスに SSH 接続します。 インスタンスが複数のノードで構成されている場合は (高可用性や geo レプリケーションが構成されている場合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する場合は、任意のノードに SSH 接続できます。 HOSTNAME を、インスタンスの実際のホスト名に置き換えます。 SSH アクセスについて詳しくは、「管理シェル (SSH) にアクセスする」をご覧ください。
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
暗号化解除キーのリストを表示するには、次のコマンドを実行します。
Shell ghe-config secrets.github.encrypted-column-keying-material
ghe-config secrets.github.encrypted-column-keying-material
-
出力を安全で一時的な場所にコピーします。
-
暗号化キーのリストを表示するには、次のコマンドを実行します。
Shell ghe-config secrets.github.encrypted-column-current-encryption-key
ghe-config secrets.github.encrypted-column-current-encryption-key
-
出力を安全で一時的な場所にコピーします。
-
バックアップを復元したターゲット GitHub Enterprise Server インスタンスに SSH 接続します。 HOSTNAME を、インスタンスの実際のホスト名に置き換えます。
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
メンテナンス モードを有効にします。 詳しくは、「メンテナンスモードの有効化とスケジューリング」を参照してください。
-
ターゲット インスタンスで構成の準備ができていることを確認するには、次の コマンドを実行します。 出力は表示されないはずです。
Shell ghe-config secrets.github.encrypted-column-keying-material ghe-config secrets.github.encrypted-column-current-encryption-key
ghe-config secrets.github.encrypted-column-keying-material ghe-config secrets.github.encrypted-column-current-encryption-key
-
ターゲット インスタンスの暗号化解除キーを更新するには、次のコマンドを実行します。 DECRYPTION-KEY-LIST を、手順 1 の出力に置き換えます。
Shell ghe-config secrets.github.encrypted-column-keying-material "DECRYPTION-KEY-LIST"
ghe-config secrets.github.encrypted-column-keying-material "DECRYPTION-KEY-LIST"
-
ターゲット インスタンスの暗号化キーを更新するには、次のコマンドを実行します。 ENCRYPTION-KEY を、手順 4 の出力に置き換えます。
Shell ghe-config secrets.github.encrypted-column-current-encryption-key "ENCRYPTION-KEY"
ghe-config secrets.github.encrypted-column-current-encryption-key "ENCRYPTION-KEY"
-
構成を適用するには、次のコマンドを実行します。
Shell ghe-config-apply
ghe-config-apply
-
設定の実行が完了するのを待ってください。
-
ターゲット インスタンスの構成にキーが確実に含まれるようにするには、次のコマンドを実行し、出力が手順 1 と手順 4と一致することを確認します。
Shell ghe-config secrets.github.encrypted-column-keying-material ghe-config secrets.github.encrypted-column-current-encryption-key
ghe-config secrets.github.encrypted-column-keying-material ghe-config secrets.github.encrypted-column-current-encryption-key
-
ユーザーにターゲット インスタンスにサインインさせます。 問題が発生した場合は、GitHub Enterprise サポート にお問い合わせください。 詳しくは、「GitHub Support へのお問い合わせ」を参照してください。