前提条件
- GitHub Enterpriseのライセンスファイルを持っていなければなりません。 詳細については、「GitHub Enterprise Server のトライアルを設定する」および「GitHub Enterpriseのライセンスについて」を参照してください。
- OpenStackのサービス群へのWebベースのユーザインターフェースであるOpenStack Horizonの環境へのアクセスが必要です。 詳細については、Horizon アクションのドキュメントを参照してください。
ハードウェアに関する考慮事項
最小推奨要件
お使いの GitHub Enterprise Server インスタンスのユーザー ライセンス数に応じた様々なハードウェア構成をおすすめします。 最小推奨要件以上のリソースを提供すれば、インスタンスのパフォーマンスとスケーラビリティは向上します。
ユーザー ライセンス | x86-64 vCPUs | メモリ | ルート ストレージ | アタッチされた (データ) ストレージ | IOPS |
---|---|---|---|---|---|
トライアル、デモ、あるいは10人の軽量ユーザ | 4 | 32 GB | 400 GB | 500 GB | 600 |
最大 1,000 | 8 | 48 GB | 400 GB | 500 GB | 3000 |
1,000 から 3,000 | 16 | 64 GB | 400 GB | 1000 GB | 6000 |
3,000 から 5,000 | 32 | 128 GB | 400 GB | 1500 GB | 9000 |
5,000 から 8,000 | 48 | 256 GB | 400 GB | 3000 GB | 12000 |
8000-10000+ | 64 | 512 GB | 400 GB | 5000 GB | 15000 |
インスタンスのユーザーに対して GitHub Actions または GitHub Advanced Security を有効にする予定の場合は、さらに多くのリソースが必要です。
- GitHub Actions - CPU とメモリを 25% 増やします
- GitHub Advanced Security - CPU とメモリを 15% 増やします
これらの調整は、各ユーザー層の基本要件に適用する必要があります。
これらの要件について詳しくは、「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のメモリを追加する必要はありませんが、インスタンスが十分なメモリを持っているかをモニターするべきです。
警告: GitHub Enterprise Server 上のアクティビティを外部システムに通知する Webhook イベントを構成することをおすすめします。 変更の自動チェックまたは ポーリング は、インスタンスのパフォーマンスとスケーラビリティに悪影響を与えます。 詳しくは、「webhook について」を参照してください。
GitHub Enterprise Server の容量とパフォーマンスの監視について詳しくは、「インスタンスを監視する」をご覧ください。
インスタンスのCPUあるいはメモリリソースは増やすことができます。 詳しくは、「CPUあるいはメモリリソースの増加」を参照してください。
GitHub Enterprise Server イメージをダウンロードする
-
ライセンスをダウンロードします。 詳しくは、「GitHub Enterpriseのライセンスのダウンロード」を参照してください。
-
新しいインスタンスに使用するイメージに移動します。
- [リリース ノート]に移動します。
- 右側のサイドバーで、ダウンロードするバージョンをクリックします。
- [GitHub Enterprise Server X.X.X のダウンロード] をクリックします。
-
[GitHub オンプレミス]で、[ハイパーバイザーの選択] ドロップダウン メニューを選択し、[ OpenStack KVM (QCOW2)] をクリックします。
-
[OpenStack KVM (QCOW2) のダウンロード] をクリックします。
GitHub Enterprise Server インスタンスを作成する
インスタンスを作成するには、GitHub Enterprise Server のイメージを仮想マシンにインポートし、インスタンスのデータ用に追加のストレージボリュームをアタッチしなければなりません。 詳細については、「ハードウェアに関する考慮事項」を参照してください。
-
OpenStack Horizon で、ダウンロードした GitHub Enterprise Server のイメージをアップロードします。 手順については、OpenStack ガイド「Upload and manage images (イメージのアップロードと管理)」の「Upload an image (イメージのアップロード)」セクションを参照してください。
-
インスタンスデータ用にアタッチされるストレージボリュームとして使うための新しい仮想ディスクを作成し、サイズをユーザライセンス数に基づいて設定してください。 既存のディスクを再利用する場合は、ディスクが空であり、パーティションが存在しないことを確認してください。 手順については、OpenStack ガイド「ボリュームの作成と管理」を参照してください。
-
セキュリティグループを作成し、下の表の各ポートについて新しいセキュリティグループルールを追加してください。 手順については、OpenStack ガイド「Configure access and security for instances (インスタンスのアクセスとセキュリティを構成する)」を参照してください。
Port サービス 説明 22 SSH Git over SSHのアクセス。 パブリック/プライベートリポジトリのクローン、フェッチ、プッシュ操作がサポートされています。 25 SMTP 暗号化(STARTTLS)付きのSMTPサポート。 80 HTTP Webアプリケーションへのアクセス。 SSL が有効になっている場合、すべての要求は HTTPS ポートにリダイレクトされます。 122 SSH インスタンスのシェルへのアクセス。 既定の SSH ポート (22) は、アプリケーションの git+ssh ネットワーク トラフィック専用です。 161/UDP SNMP ネットワークモニタリングプロトコルの処理に必要。 443 HTTPS Webアプリケーション及びGit over HTTPSのアクセス。 1194/UDP VPN High Availability設定でのセキュアなレプリケーションネットワークトンネル。 WireGuard を使用して暗号化されます。 8080 HTTP プレーンテキストの Webベースの [Management Console]。 SSL を手動で無効にしない限り必要ありません。 8443 HTTPS セキュアな Webベースの [Management Console]。 基本的なインストールと設定に必要です。 9418 Git シンプルなGitプロトコルのポートです。 パブリックリポジトリのクローンとフェッチのみができます。 暗号化されていないネットワーク通信。 インスタンスでプライベートモードを有効化した場合、このポートをオープンする必要があるのは、匿名Git読み取りアクセスも有効化している場合のみです。 詳しくは、「Enterprise でリポジトリ管理ポリシーを適用する」を参照してください。 -
フローティングIPをインスタンスに関連づけることもできます。 使用しているOpenStackのセットアップによっては、フローティングIPをプロジェクトに割り当て、それをインスタンスに関連づける必要があるかもしれません、 そうする必要があるかどうかは、システム管理者に連絡を取って判断してください。 詳細については、OpenStack ドキュメントの「Allocate a floating IP address to an instance (インスタンスへのフローティング IP アドレスの割り当て)」を参照してください。
-
これまでの手順で作成したイメージ、データ ボリューム、セキュリティ グループを使って、お使いの GitHub Enterprise Server インスタンス を起動します。 手順については、OpenStack ガイド「Launch and manage instances (インスタンスの起動と管理)」を参照してください。
GitHub Enterprise Server インスタンスを設定する
インスタンスを構成するには、ライセンス ファイルのアップロード、ルート[Management Console] パスワードの設定、インスタンスの設定の構成、インスタンスの再起動を行う必要があります。
警告: 攻撃者が新しいインスタンスを侵害できないようにするには、自分だけが知っている ルート [Management Console] パスワードを設定して、最初のユーザーをできるだけ早く作成してください。
- 仮想マシンのパブリックDNS名をコピーして、Webブラウザに貼り付けてください。
- プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してください。 詳しくは、「GitHub Enterpriseのライセンス管理」を参照してください。
- [Management Console] で、目的の設定を構成して保存します。 詳しくは、「GitHub Enterprise を設定する」をご覧ください。
- インスタンスは自動的に再起動します。
- [Visit your instance](インスタンスにアクセスする) をクリックします。