Skip to main content

OpenStack KVM で GitHub Enterprise Server をインストールする

GitHub Enterprise Server を OpenStack KVM 上にインストールするには、OpenStack にアクセスでき、GitHub Enterprise Server QCOW2 イメージをダウンロードすることが必要です。

前提条件

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

最小推奨要件

お使いの 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 Advanced Security を有効にする予定の場合は、さらに多くのリソースが必要です。

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

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

これらの要件について詳しくは、「GitHub Enterprise Server の GitHub Actions を使い始める」をご覧ください。

インスタンスのユーザーに対して Container registry を有効にする予定の場合は、さらに多くのリソースが必要です。 これらの要件について詳しくは、「Enterprise 向けの GitHub Packages を使い始める」をご覧ください。

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

ストレージ

GitHub Enterprise Serverには、高い秒あたりの入出力操作(IOPS)と低いレイテンシを持つ高性能なSSDをおすすめします。 ワークロードはI/O集中的です。 ベアメタルのハイパーバイザを使用するなら、直接アタッチされたディスクか、ストレージエリアネットワーク(SAN)からのディスクを利用することをおすすめします。

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

Warning

ルート ストレージとは、インスタンスのルート ディスクの合計サイズを指します。 インスタンスが起動すると、ルート ファイルシステムで 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 Enterprise Server インスタンスのユーザーに対して GitHub Actions を有効にする予定の場合は、インスタンスに追加の CPU とメモリ リソースをプロビジョニングする必要がある場合があります。 詳しくは、「GitHub Enterprise Server の GitHub Actions を使い始める」を参照してください。

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

Warning

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

GitHub Enterprise Server の容量とパフォーマンスの監視について詳しくは、「インスタンスを監視する」をご覧ください。

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

GitHub Enterprise Server イメージをダウンロードする

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

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

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

  4. [OpenStack KVM (QCOW2) のダウンロード] をクリックします。

GitHub Enterprise Server インスタンスを作成する

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

  1. OpenStack Horizon で、ダウンロードした GitHub Enterprise Server のイメージをアップロードします。 手順については、OpenStack ガイド「Upload and manage images (イメージのアップロードと管理)」の「Upload an image (イメージのアップロード)」セクションを参照してください。

  2. インスタンスデータ用にアタッチされるストレージボリュームとして使うための新しい仮想ディスクを作成し、サイズをユーザライセンス数に基づいて設定してください。 既存のディスクを再利用する場合は、ディスクが空であり、パーティションが存在しないことを確認してください。 手順については、OpenStack ガイド「Create and manage volumes」(ボリュームの作成と管理) を参照してください。

  3. セキュリティグループを作成し、下の表の各ポートについて新しいセキュリティグループルールを追加してください。 手順については、OpenStack ガイド「Configure access and security for instances (インスタンスのアクセスとセキュリティを構成する)」を参照してください。

    Portサービス説明
    22SSHGit over SSHのアクセス。 パブリック/プライベートリポジトリのクローン、フェッチ、プッシュ操作がサポートされています。
    25SMTP暗号化(STARTTLS)付きのSMTPサポート。
    80HTTPWebアプリケーションへのアクセス。 SSL が有効になっている場合、すべての要求は HTTPS ポートにリダイレクトされます。
    122SSHインスタンスのシェルへのアクセス。 既定の SSH ポート (22) は、アプリケーションの git+ssh ネットワーク トラフィック専用です。
    161/UDPSNMPネットワークモニタリングプロトコルの処理に必要。
    443HTTPSWebアプリケーション及びGit over HTTPSのアクセス。
    1194/UDPVPNHigh Availability設定でのセキュアなレプリケーションネットワークトンネル。 WireGuard を使用して暗号化されます。
    8080HTTPプレーンテキストの Webベースの [Management Console]。 SSL を手動で無効にしない限り必要ありません。
    8443HTTPSセキュアな Webベースの [Management Console]。 基本的なインストールと設定に必要です。
    9418GitシンプルなGitプロトコルのポートです。 パブリックリポジトリのクローンとフェッチのみができます。 暗号化されていないネットワーク通信。 インスタンスでプライベートモードを有効化した場合、このポートをオープンする必要があるのは、匿名Git読み取りアクセスも有効化している場合のみです。 詳しくは、「Enterprise でリポジトリ管理ポリシーを適用する」を参照してください。
  4. フローティングIPをインスタンスに関連づけることもできます。 使用しているOpenStackのセットアップによっては、フローティングIPをプロジェクトに割り当て、それをインスタンスに関連づける必要があるかもしれません、 そうする必要があるかどうかは、システム管理者に連絡を取って判断してください。 詳細については、OpenStack ドキュメントの「Allocate a floating IP address to an instance (インスタンスへのフローティング IP アドレスの割り当て)」を参照してください。

  5. これまでの手順で作成したイメージ、データ ボリューム、セキュリティ グループを使って、お使いの GitHub Enterprise Server インスタンス を起動します。 手順については、OpenStack ガイド「Launch and manage instances (インスタンスの起動と管理)」を参照してください。

GitHub Enterprise Server インスタンスを設定する

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

Warning

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

  1. 仮想マシンのパブリックDNS名をコピーして、Webブラウザに貼り付けてください。
  2. プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してください。 詳しくは、「GitHub Enterpriseのライセンス管理」を参照してください。
  3. [Management Console] で、目的の設定を構成して保存します。詳細については、「GitHub Enterprise を設定する」を参照してください。
  4. インスタンスは自動的に再起動します。
  5. [Visit your instance](インスタンスにアクセスする) をクリックします。

参考資料