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

アップグレードする前に GitHub Enterprise Server データを保存するには、仮想マシン スナップショットを作成します。

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

スナップショットには、ある時点での仮想マシン (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)」