Skip to main content

GitHub Enterprise Server を Hyper-V にインストールする

Hyper-V に GitHub Enterprise Server をインストールするには、Windows Server 2008 から Windows Server 2022 までを実行しているマシンにデプロイする必要があります。

前提条件

  • GitHub Enterpriseのライセンスファイルを持っていなければなりません。 詳細については、「GitHub Enterprise Server の試用版の設定」および「GitHub Enterprise Server のライセンス ファイル」を参照してください。
  • Hyper-Vをサポートする Windows Server 2008 ~ Windows Server 2022 が必要です。
  • 仮想マシン (VM) の作成に必要なほとんどのアクションは、Hyper-V Manager を使用して実行することもできます。 ただし、初期セットアップには Windows PowerShell コマンド ライン シェルを使用することをお勧めします。 以下の例ではPowerShellを使っています。 詳細については、Microsoft ガイド Windows PowerShell の概要を参照してください。

ハードウェアに関する考慮事項

最小推奨要件

お使いの GitHub Enterprise Server インスタンスのユーザー ライセンスの数に応じて、さまざまなハードウェア構成をお勧めします。 最小推奨要件以上のリソースを提供すれば、インスタンスのパフォーマンスとスケーラビリティは向上します。

ユーザー ライセンスx86-64 vCPUsメモリルート ストレージアタッチされた (データ) ストレージIOPS
トライアル、デモ、あるいは10人の軽量ユーザ432 GB400 GB500 GB600
最大 1,000848 GB400 GB500 GB3000
1,000 から 3,0001664 GB400 GB1000 GB6000
3,000 から 5,00032128 GB400 GB1500 GB9000
5,000 から 8,00048256 GB400 GB3000 GB12000
8000-10000+64512 GB400 GB5000 GB15000

インスタンスのユーザーに対して GitHub Actions または GitHub Code Security を有効にする予定がある場合は、より多くのリソースが必要です。

  • GitHub Actions - CPU とメモリの両方を 25% 以上増やします
  • GitHub Code Security - CPU とメモリの両方を 25% 以上増やします

これらの調整は、各ユーザー層の基本要件に適用する必要があります。 さらに増やす必要があるかもしれないので、リソースに対するすべての変更を監視することをお勧めします。

これらの要件の詳細については、「GitHub Enterprise Server で GitHub Actions を開始する方法」を参照してください。

インスタンスのユーザーに対して Container registry を有効にする予定の場合は、さらに多くのリソースが必要です。 これらの要件の詳細については、「エンタープライズ向けの GitHub パッケージの始め方」を参照してください。

既存のインスタンスのリソースを調整する方法の詳細については、「ストレージ容量の増加」と「CPUあるいはメモリリソースの増加」を参照してください。

Storage

1 秒あたりの入出力操作数が多く (IOPS) が高く、 GitHub Enterprise Serverの待機時間が短い、高パフォーマンスの SSD をお勧めします。 ワークロードはI/O集中的です。 ベアメタルのハイパーバイザを使用するなら、直接アタッチされたディスクか、ストレージエリアネットワーク(SAN)からのディスクを利用することをおすすめします。

インスタンスには、ルートディスクとは別の永続化用のデータディスクが必要です。 詳しくは、「システムの概要」をご覧ください。

警告

ルート ストレージとは、インスタンスのルート ディスクの合計サイズを指します。 インスタンスが起動すると、ルート ファイルシステムで 200 GB が使用可能になります。 ルート ファイルシステムで使用可能な残りの 200 GB はアップグレード用に予約されています。 詳しくは、「システムの概要」をご覧ください。

GitHub Actionsを構成するには、外部 BLOB ストレージを指定する必要があります。 詳しくは、「GitHub Enterprise Server で GitHub Actions を開始する方法」をご覧ください。

ルート ファイルシステム上の使用可能な領域は、ディスクの合計サイズの 50% です。 新しいインスタンスを構築するか、既存のインスタンスを利用して、インスタンスのルートディスクのサイズを変更できます。 詳細については、「システムの概要」および「ストレージ容量の増加」を参照してください。

CPU とメモリ

GitHub Enterprise Server必要な CPU リソースとメモリ リソースは、ユーザー、自動化、および統合のアクティビティ のレベルによって異なります。

お使いの GitHub Enterprise Server インスタンス用にプロビジョニングするすべての VM は、x86-64 CPU アーキテクチャを使用する必要があります。 AArch64 や arm64 など、他のアーキテクチャはサポートされていません。

GitHub Actions インスタンスのユーザーに対してGitHub Enterprise Serverを有効にする場合は、インスタンスに追加の CPU リソースとメモリ リソースをプロビジョニングすることが必要になる場合があります。 詳しくは、「GitHub Enterprise Server で GitHub Actions を開始する方法」をご覧ください。

CPU リソースを増やす場合、GitHub は、インスタンスにプロビジョニングする各 vCPU ごとに少なくとも6.5GBのメモリを追加する(最大16vCPUまで)ことをおすすめします。 16以上のvCPUを使う場合は、各vCPUごとに6.5GBのメモリを追加する必要はありませんが、インスタンスが十分なメモリを持っているかをモニターするべきです。

警告

ユーザーは、 GitHub Enterprise Serverのアクティビティを外部システムに通知するように webhook イベントを構成することをお勧めします。 変更の自動チェックまたは ポーリング は、インスタンスのパフォーマンスとスケーラビリティに悪影響を与えます。 詳しくは、「webhook について」をご覧ください。

GitHub Enterprise Serverの容量とパフォーマンスの監視の詳細については、AUTOTITLE を参照してください。

インスタンスのCPUあるいはメモリリソースは増やすことができます。 詳しくは、「CPUあるいはメモリリソースの増加」をご覧ください。

VMotion を使用する必要がありますか?

VMotion は一般的なリソース管理には非常に役立ちますが、ゲスト インスタンスへの影響は大きくなる可能性があります。 より大きな GitHub Enterprise Server インスタンス (8 CPU/64 GB RAM 以上) では、CPU、RAM、ストレージの IOPS が大幅に低下するため、VMotion イベントによってエンド ユーザーに GitHub Enterprise Server が完全に停止する可能性があります。 これを念頭に置いて、 GitHub Enterprise Server は "待機時間の影響が大きい" アプリケーションと見なす必要があります。

分散リソース スケジューラ (DRS) が有効になっている VMWare での large(r) デプロイの場合は、仮想アプライアンスを 1 つのホストに保持するために、 GitHub Enterprise Server 用に VM とホスト間のアフィニティルールを構成することをお勧めします。 VMotion を使用した移行が必要な場合は、これを "計画的な停止" と考え、移行が完了するまで GitHub Enterprise Server をメンテナンス モードにすることをお勧めします。

また、ESXi 電源管理設定を [High Performance] に構成することもお勧めします。 これを [Balanced] のままにすると、システム全体のパフォーマンスに悪影響が及ぶケースがあることが確認されています。

GitHub Enterprise Serverイメージのダウンロード

  1. ライセンスをダウンロードします。 詳しくは、「GitHub Enterprise のライセンスのダウンロード」をご覧ください。

  2. 新しいインスタンスに使用するイメージに移動します。

    • [リリース ノート]に移動します。
    • 右側のサイドバーで、ダウンロードするバージョンをクリックします。
    • [GitHub Enterprise Server X.X.X のダウンロード] をクリックします。
  3. [オンプレミスGitHub ] で、[ハイパーバイザーの選択] ドロップダウン メニューを選択し、[ Hyper-V (VHD) をクリックします。

  4. [**Hyper-V (VHD) **のダウンロード] をクリックします。

GitHub Enterprise Server インスタンスの作成

インスタンスを作成するには、GitHub Enterprise Server のイメージを仮想マシンにインポートし、インスタンスのデータ用に追加のストレージボリュームをアタッチしなければなりません。 詳細については、「ハードウェアに関する考慮事項」を参照してください。

  1. PowerShell で、新しい第 1 世代仮想マシンを作成し、ユーザー ライセンス数に基づいてサイズを構成し、ダウンロードした GitHub Enterprise Server イメージをアタッチします。 詳細については、Microsoft のドキュメントの「New-VM」を参照してください。

    PS C:\> New-VM -Generation 1 -Name VM_NAME -MemoryStartupBytes MEMORY_SIZE -BootDevice VHD -VHDPath PATH_TO_VHD  
    
  2. インスタンスデータ用にアタッチされるストレージボリュームとして使うための新しい仮想ディスクを作成し、サイズをユーザライセンス数に基づいて設定してください。 既存のディスクを再利用する場合は、ディスクが空であり、パーティションが存在しないことを確認してください。 PATH_TO_DATA_DISKを、ディスクを作成する場所へのパスに置き換えます。 詳細については、Microsoft のドキュメントの「New-VHD」を参照してください。

    PS C:\> New-VHD -Path PATH_TO_DATA_DISK -SizeBytes DISK_SIZE
    
  3. データディスクをインスタンスにアタッチします。 詳細については、Microsoft のドキュメントの「Add-VMHardDiskDrive」を参照してください。

    PS C:\> Add-VMHardDiskDrive -VMName VM_NAME -Path PATH_TO_DATA_DISK
    
  4. VM を起動します。 詳細については、Microsoft のドキュメントの「Start-VM」を参照してください。

    PS C:\> Start-VM -Name VM_NAME
    
  5. VM の IP アドレスを入手します。 詳細については、Microsoft のドキュメントの「Get-VMNetworkAdapter」を参照してください。

    PS C:\> (Get-VMNetworkAdapter -VMName VM_NAME).IpAddresses
    
  6. VM の IP アドレスをコピーし、Web ブラウザに貼り付けます。

GitHub Enterprise Server インスタンスの構成

インスタンスを構成するには、ライセンス ファイルのアップロード、ルート [Management Console] パスワードの設定、インスタンスの設定の構成、インスタンスの再起動を行う必要があります。

警告

攻撃者が新しいインスタンスを侵害できないようにするには、自分だけが知っているルート [Management Console] パスワードを設定し、できるだけ早く最初のユーザーを作成します。

  1. 仮想マシンのパブリックDNS名をコピーして、Webブラウザに貼り付けてください。

  2. プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してください。 詳しくは、「GitHub Enterprise のライセンスのダウンロード」をご覧ください。

  3. [Management Console] で、目的の設定を構成して保存します。 詳細については、 AUTOTITLE を参照してください。

  4. インスタンスは自動的に再起動します。

  5. [Visit your instance](インスタンスにアクセスする) をクリックします。

参考資料