# スナップショットの取得

アップグレードする前に GitHub Enterprise Server データを保存するには、VM またはディスク スナップショットを作成します。

## スナップショットについて

スナップショットには、ある時点での仮想マシン (VM) の状態が格納されます。
GitHub アップグレードに失敗した場合にスナップショットからインスタンスを復元できるように、VM をアップグレードする前に VM またはディスク スナップショットを作成することを強くお勧めします。

## スナップショットの種類

スナップショットには2種類あります。

* **VM スナップショット**は、ユーザー データと構成データを含む VM の状態全体を保存します。 このスナップショットの手法には大量のディスク領域が必要になり、時間がかかります。
* **データ ディスク スナップショット**は、ユーザー データのみを保存します。

## スナップショットの作成

GitHub は、インスタンスの VM の電源が切れている場合、またはインスタンスがメンテナンス モードで、すべてのバックグラウンド ジョブが完了した場合にのみ、VM スナップショットを作成することをお勧めします。

作成できるスナップショットの種類は、使用するプラットフォームによって異なります。

* プラットフォームによっては、ユーザのデータディスクだけのスナップショットを取ることができません。 それらのプラットフォームでは、VM 全体のスナップショットを取る必要があります。
* ハイパーバイザーが完全なVMスナップショットをサポートしていないなら、ルートディスクとデータディスクのスナップショットを時間をおかずに取らなければなりません。

| プラットフォーム              | Snapshot メソッド | ドキュメント                                                                                                                                                                                                     |
| --------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Amazon AWS            | Disk          | AWS ドキュメントの「[Amazon EBS スナップショットの作成](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html)」                                                                                      |
| Azure                 | VM            | Microsoft Learn の「[バーチャル ハード ディスクのスナップショットを作成する](https://learn.microsoft.com/azure/virtual-machines/snapshot-copy-managed-disk)」                                                                           |
| Hyper-V               | VM            | Microsoft Learn の「[Hyper-V でチェックポイントを有効または無効にする](https://docs.microsoft.com/windows-server/virtualization/hyper-v/manage/enable-or-disable-checkpoints-in-hyper-v)」                                        |
| Google Compute Engine | Disk          | Google Cloud ドキュメントの「[ディスク スナップショットを作成して管理する](https://cloud.google.com/compute/docs/disks/create-snapshots)」                                                                                               |
| VMware                | VM            | VMware Docs の「[Taking Snapshots of a Virtual Machine (仮想マシンのスナップショットの作成)](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.hostclient.doc/GUID-64B866EF-7636-401C-A8FF-2B4584D9CA72.html)」 |

## スナップショットからの復元

アップグレードに失敗した場合は、アップグレード前に作成したスナップショットからインスタンスを復元できます。

* VM スナップショットを作成した場合は、VM をスナップショットに戻します。
* ディスク スナップショットを作成した場合は、スナップショットと同じリリースを実行する新しいインスタンスをデプロイし、それらのスナップショットから作成されたボリュームをアタッチします。 「[GitHub Enterprise のインストール](/ja/enterprise-server@3.20/admin/installing-your-enterprise-server)」を参照してください。