必要な環境
- GitHub Enterpriseのライセンスファイルを持っていなければなりません。 For more information, see "Setting up a trial of GitHub Enterprise Server" and "About licenses for GitHub Enterprise."
- Google Compute Engine(GCE)仮想マシン(VM)インスタンスを起動できるGoogle Cloud Platformのアカウントが必要です。 詳しい情� �についてはGoogle Cloud PlatformのWebサイト及びGoogle Cloud Platformドキュメンテーションを参照してく� さい。
- インスタンスを起動するのに必要なアクションのほとんどは、Google Cloud Platform Consoleを使っても行えます。 とはいえ、初期セットアップのためにgcloud computeコマンドラインツールをインストールすることをお勧めします。 以下の例では、gcloud computeコマンドラインツールを使用しています。 詳しい情� �についてはGoogleのドキュメンテーション中の"gcloud compute"のインストール及びセットアップガイドを参照してく� さい。
ハードウェアについて
Minimum requirements
We recommend different hardware configurations depending on the number of user licenses for GitHub Enterprise Serverインスタンス. If you provision more resources than the minimum requirements, your instance will perform and scale better.
ユーザライセンス | vCPUs | メモリ | アタッチされたストレージ | ルートストレージ |
---|---|---|---|---|
トライアル、デモ、あるいは10人の軽量ユーザ | 4 | 32 GB | 150 GB | 200 GB |
10-3000 | 8 | 48 GB | 300 GB | 200 GB |
3000-5000 | 12 | 64 GB | 500 GB | 200 GB |
5000-8000 | 16 | 96 GB | 750 GB | 200 GB |
8000-10000+ | 20 | 160 GB | 1000 GB | 200 GB |
If you plan to enable GitHub Actions for the users of your instance, more resources are required.
vCPUs | メモリ | 最大ジョブスループット数 |
---|---|---|
4 | 32 GB | デモまたは軽いテスト |
8 | 64 GB | 25ジョブ |
16 | 160 GB | 35ジョブ |
32 | 256 GB | 100ジョブ |
For more information about these requirements, see "Getting started with GitHub Actions for GitHub Enterprise Server."
既存のインスタンスのリソース調整に関する詳しい情� �については「ストレージ容量の増� 」及び「CPUあるいはメモリリソースの増� 」を参照してく� さい。
Storage
We recommend a high-performance SSD with high input/output operations per second (IOPS) and low latency for GitHub Enterprise Server. Workloads are I/O intensive. If you use a bare metal hypervisor, we recommend directly attaching the disk or using a disk from a storage area network (SAN).
Your instance requires a persistent data disk separate from the root disk. For more information, see "System overview."
To configure GitHub Actions, you must provide external blob storage. For more information, see "Getting started with GitHub Actions for GitHub Enterprise Server."
The available space on the root filesystem will be 50% of the total disk size. You can resize your instance's root disk by building a new instance or using an existing instance. For more information, see "System overview" and "Increasing storage capacity."
CPU and memory
The CPU and memory resources that GitHub Enterprise Server requires depend on the levels of activity for users, automations, and integrations.
If you plan to enable GitHub Actions for the users of your GitHub Enterprise Server instance, you may need to provision additional CPU and memory resources for your instance. For more information, see "Getting started with GitHub Actions for GitHub Enterprise Server."
CPUリソースを増やす� �合、インスタンスにプロビジョニングする各vCPUごとに少なくとも6.5GBのメモリを追� する(最大16vCPUまで)ことをおすすめします。 16以上のvCPUを使う� �合は、各vCPUごとに6.5GBのメモリを追� する必要はありませんが、インスタンスが十分なメモリを持っているかをモニターするべきです。
Warning: We recommend that users configure webhook events to notify external systems of activity on GitHub Enterprise Server. Automated checks for changes, or polling, will negatively impact the performance and scalability of your instance. For more information, see "About webhooks."
For more information about monitoring the capacity and performance of GitHub Enterprise Server, see "Monitoring your appliance."
You can increase your instance's CPU or memory resources. For more information, see "Increasing CPU or memory resources."
マシンタイプの決定
Google Cloud PlatformdeGitHub Enterprise Serverインスタンスを起動する前に、組織の要求に最も適したマシンタイプを決定する必要があります。 GitHub Enterprise Server の最小要件を確認するには、「最小要件」を参照してく� さい。
ノート:インスタンスをリサイズすれば、いつでもCPUやメモリをスケールアップできます。 しかし、CPUあるいはメモリのリサイズにはユーザにとってのダウンタイ� が生じるので、スケールのためのリソースを前もってオーバープロビジョニングしておくことをおすすめします。
GitHub は、GitHub Enterprise Server に汎用のハイメモリマシンを推奨しています。 詳しい情� �については、Google Compute Engine のドキュメント「マシンタイプ」を参照してく� さい。
GitHub Enterprise Server イメージを選択する
-
gcloud computeコマンドラインツールを使用して、パブリックな GitHub Enterprise Server イメージを一覧表示します。
$ gcloud compute images list --project github-enterprise-public --no-standard-images
-
GitHub Enterprise Server の最新の GCE イメージのイメージ名をメモしておきます。
ファイアウォールの設定
GCE 仮想マシンは、ファイアウォールが存在するネットワークのメンバーとして作成されます。 GitHub Enterprise Server VMに関連付けられているネットワークの� �合、下記の表に一覧表示されている必要なポートを許可するようにファイアウォールを設定する必要があります。 Google Cloud Platform でのファイアウォールルールに関する詳しい情� �については、Google ガイドの「ファイアウォールルールの概要」を参照してく� さい。
-
gcloud compute コマンドラインツールを使用して、ネットワークを作成します。 詳しい情� �については、Google ドキュメンテーションの「gcloud compute networks create」を参照してく� さい。
$ gcloud compute networks create NETWORK-NAME --subnet-mode auto
-
下記の表にある各ポートに関するファイアウォールルールを作成します。 詳しい情� �については、Googleドキュメンテーションの「gcloud compute firewall-rules」を参照してく� さい。
$ 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
次の表に、必要なポートと各ポートの使用目的を示します。
ポート サービス 説明 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設定でのセキュアなレプリケーションネットワークトンネル。 8080 HTTP プレーンテキストの Webベースの Management Console。 SSL を手動で無効にしない限り必要ありません。 8443 HTTPS セキュアな Webベースの Management Console。 基本的なインストールと設定に必要です。 9418 Git シンプルな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 インスタンスを作成し、インスタンスデータ用の追� のストレージボリュー� をアタッチする必要があります。 詳細は「ハードウェアについて」を参照してく� さい。
-
gcloud computeコマンドラインツールを使い、インスタンスデータのためのストレージボリュー� としてアタッチして使うデータディスクを作成し、そのサイズをユーザライセンス数に基づいて設定してく� さい。 詳しい情� �については、Google ドキュメンテーションの「gcloud compute disks create」を参照してく� さい。
$ gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE
-
次に、選択した GitHub Enterprise Server イメージの名前を使用してインスタンスを作成し、データディスクをアタッチします。 詳しい情� �については、Googleドキュメンテーションの「gcloud compute instances create」を参照してく� さい。
$ 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
インスタンスの設定
- 仮想マシンのパブリックDNS名をコピーして、Webブラウザに貼り付けてく� さい。
- プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してく� さい。 For more information, see "Managing your license for GitHub Enterprise."
- Management Consoleで、希望する設定を行って保存してく� さい。詳しい情� �については、「GitHub Enterprise Server アプライアンスを設定する」を参照してく� さい。
- インスタンスは自動的に再起動します。
- Visit your instance(インスタンスへのアクセス)をクリックしてく� さい。