Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

Google Cloud Platform で GitHub Enterprise Server をインストールする

GitHub Enterprise Server を Google Cloud Platform にインストールするには、サポートされているマシンタイプにデプロイし、永続的な標準ディスクまたは永続的な SSD を使用する必要があります。

前提条件

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

最小要件

のユーザライセンス数に応じた様々なハードウェア構成をおすすめします。 最小要件以上のリソースを提供すれば、インスタンスのパフォーマンスとスケーラビリティは向上します。

ユーザー ライセンスvCPU 数メモリルート ストレージアタッチされた (データ) ストレージ
トライアル、デモ、あるいは10人の軽量ユーザ432 GB200 GB150 GB
10-3000848 GB200 GB300 GB
3000-50001264 GB200 GB500 GB
5000-80001696 GB200 GB750 GB
8000-10000+20160 GB200 GB1000 GB

インスタンスのユーザーに対して GitHub Actions を有効にする予定の� �合は、さらに多くのリソースが必要です。

vCPU 数メモリ最大コンカレンシー
864 GB300 ジョブ
16128 GB700 ジョブ
32160 GB1,300 ジョブ
64256 GB2,000 ジョブ
96384 GB4,000 ジョブ

これらの要件の詳細については、「GitHub Enterprise Server の GitHub Actions の概要」を参照してく� さい。

既存のインスタンスのリソースの調整の詳細については、「ストレージ容量の増� 」および「CPU またはメモリ リソースの増� 」を参照してく� さい。

ストレージ

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

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

GitHub Actions を構成するには、外部 BLOB ストレージを指定する必要があります。 詳細については、「GitHub Enterprise Server の GitHub Actions の概要」を参照してく� さい。

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

CPU とメモリ

GitHub Enterprise Serverが必要とするCPU及びメモリリソースは、ユーザ、自動化、インテグレーションのアクティビティのレベルによります。

GitHub Enterprise Server インスタンスのユーザーに対して GitHub Actions を有効にする予定の� �合は、インスタンスに追� の CPU とメモリ リソースをプロビジョニングする必要がある� �合があります。 詳細については、「GitHub Enterprise Server の GitHub Actions の概要」を参照してく� さい。

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

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

GitHub Enterprise Server の容量とパフォーマンスの監視の詳細については、「アプライアンスを監視する」を参照してく� さい。

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

マシンタイプの決定

Google Cloud Platform で を起動する前に、Organization のニーズに最適なマシンタイプを決定する必要があります。 GitHub Enterprise Server の最小要件を確認するには、「最小要件」を参照してく� さい。

注: インスタンスをサイズ変更すれば、いつでも CPU やメモリをスケールアップできます。 しかし、CPUあるいはメモリのリサイズにはユーザにとってのダウンタイ� が生じるので、スケールのためのリソースを前もってオーバープロビジョニングしておくことをおすすめします。

GitHub は、GitHub Enterprise Server に汎用のハイメモリマシンを推奨しています。 詳細については、Google Compute Engine ドキュメントの「マシンの種類」を参照してく� さい。

GitHub Enterprise Server イメージを選択する

  1. gcloud コンピューティング コマンドライン ツールを使用し、パブリック GitHub Enterprise Server イメージを一覧表示します。

    $ gcloud compute images list --project github-enterprise-public --no-standard-images
  2. GitHub Enterprise Server の最新の GCE イメージのイメージ名をメモしておきます。

ファイアウォールを構成する

GCE 仮想マシンは、ファイアウォールが存在するネットワークのメンバーとして作成されます。 GitHub Enterprise Server VMに関連付けられているネットワークの� �合、下記の表に一覧表示されている必要なポートを許可するようにファイアウォールを設定する必要があります。 Google Cloud Platform のファイアウォール規則の詳細については、Google ガイド「ファイアウォール規則の概要」を参照してく� さい。

  1. gcloud compute コマンドラインツールを使用して、ネットワークを作成します。 詳細については、Google ドキュメントの「gcloud コンピューティング ネットワークの作成」を参照してく� さい。

    $ gcloud compute networks create NETWORK-NAME --subnet-mode auto
  2. 下記の表にある各ポートに関するファイアウォールルールを作成します。 詳細については、Google ドキュメントの「gcloud コンピューティング ファイアウォール規則」を参照してく� さい。

    $ gcloud compute firewall-rules create RULE-NAME \
       --network NETWORK-NAME \
       --allow tcp:22,tcp:25,tcp:80,tcp:122,udp:161,tcp:443,udp:1194,tcp:8080,tcp:8443,tcp:9418,icmp

    次の表に、必要なポートと各ポートの使用目的を示します。

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

スタティックIPの取得とVMへの割り当て

これが稼働状態のアプライアンスである� �合は、静的な外部 IP アドレスを予約し、それを GitHub Enterprise Server VM に割り当てることを強くおすすめします。 そうしなければ、VM のパブリックな IP アドレスは再起動後に保持されません。 詳細については、Google ガイド「静的外部 IP アドレスの予約」を参照してく� さい。

稼働状態の High Availability 設定では、プライマリアプライアンスとレプリカアプライアンスの両方に別々の静的 IP アドレスを割り当ててく� さい。

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

GitHub Enterprise Server インスタンスを作成するには、GitHub Enterprise Server イメージを使用して GCE インスタンスを作成し、インスタンスデータ用の追� のストレージボリュー� をアタッチする必要があります。 詳細については、「ハードウェアに関する考慮事� �」を参照してく� さい。

  1. gcloud computeコマンドラインツールを使い、インスタンスデータのためのストレージボリュー� としてアタッチして使うデータディスクを作成し、そのサイズをユーザライセンス数に基づいて設定してく� さい。 詳細については、Google ドキュメントの「gcloud コンピューティング ディスクの作成」を参照してく� さい。

    $ gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE
  2. 次に、選択した GitHub Enterprise Server イメージの名前を使用してインスタンスを作成し、データディスクをアタッチします。 詳細については、Google ドキュメントの「gcloud インスタンス ネットワークの作成」を参照してく� さい。

    $ gcloud compute instances create INSTANCE-NAME \
    --machine-type n1-standard-8 \
    --image GITHUB-ENTERPRISE-IMAGE-NAME \
    --disk name=DATA-DISK-NAME \
    --metadata serial-port-enable=1 \
    --zone ZONE \
    --network NETWORK-NAME \
    --image-project github-enterprise-public

インスタンスの設定

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

参考資料