GitHub Enterprise Server をグローバル Azure または Azure Government にデプロイできます。
必要な環境
- GitHub Enterpriseのライセンスファイルを持っていなければなりません。 既存のライセンスファイルをダウンロードするか、トライアルライセンスをリクエストするには、enterprise.github.comにアクセスしてください。 詳しい情報については「GitHub Enterpriseライセンスの管理」を参照してください。
- 新しいコンピューターをプロビジョニングできる Azure アカウントを所有していなければなりません。 詳しい情報については Microsoft Azure のウェブサイトを参照してください。
- 仮想マシン(VM)を起動するのに必要なアクションのほとんどは、Azureポータルを使っても行えます。 とはいえ、初期セットアップ用にはAzureコマンドラインインターフェース(CLI)をインストールすることをお勧めします。 以下の例では、Azure CLI 2.0が使われています。 詳しい情報については、Azure のガイド「Azure CLI 2.0 のインストール」を参照してください。
ハードウェアについて
最小要件
your GitHub Enterprise Server instanceのユーザライセンス数に応じた様々なハードウェア構成をおすすめします。 最小要件以上のリソースを提供すれば、インスタンスのパフォーマンスとスケーラビリティは向上します。
ユーザライセンス | 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 |
インスタンスのユーザにGitHub Actionsを有効化する計画なら、ハードウェア、外部ストレージ、ランナーの要件を「GitHub Enterprise ServerでGitHub Actionsを利用しはじめる」でレビューしてください。
既存のインスタンスのリソース調整に関する詳しい情報については「ストレージ容量の増加」及び「CPUあるいはメモリリソースの増加」を参照してください。
ストレージ
GitHub Enterprise Serverには、高い秒あたりの入出力操作(IOPS)と低いレイテンシを持つ高性能なSSDをおすすめします。 ワークロードはI/O集中的です。 ベアメタルのハイパーバイザを使用するなら、直接アタッチされたディスクか、ストレージエリアネットワーク(SAN)からのディスクを利用することをおすすめします。
インスタンスには、ルートディスクとは別の永続化用のデータディスクが必要です。 詳しい情報については「システムの概要」を参照してください。
GitHub Actionsを設定するには、外部のblobストレージを用意しなければなりません。 詳しい情報については、「GitHub Enterprise Server の GitHub Actions を使ってみる」を参照してください。
新しいインスタンスを構築するか、既存のインスタンスを利用して、インスタンスのルートディスクのサイズを変更できます。 詳しい情報については「ストレージ容量の増加」を参照してください。
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 またはメモリリソースを増やす」を参照してください。
仮想マシンタイプの決定
Before launching your GitHub Enterprise Server instance on Azure, you'll need to determine the machine type that best fits the needs of your organization. To review the minimum requirements for GitHub Enterprise Server, see "Minimum requirements."
ノート:インスタンスをリサイズすれば、いつでもCPUやメモリをスケールアップできます。 しかし、CPUあるいはメモリのリサイズにはユーザにとってのダウンタイムが生じるので、スケールのためのリソースを前もってオーバープロビジョニングしておくことをおすすめします。
GitHub Enterprise Server アプライアンスは、プレミアムストレージのデータディスクを必要としており、プレミアムストレージをサポートするあらゆる Azure VM でサポートされます。 Azure VM types with the s
suffix support premium storage. For more information, see "What disk types are available in Azure?" and "Azure premium storage: design for high performance" in the Azure documentation.
GitHub recommends a memory-optimized VM for GitHub Enterprise Server. For more information, see "Memory optimized virtual machine sizes" in the Azure documentation.
GitHub Enterprise Server は、VM タイプをサポートするあらゆる地域をサポートします。 各 VM でサポートされているリージョンの詳細については、Azure の「リージョン別の利用可能な製品」を参照してください。
GitHub Enterprise Server 仮想マシンを作成する
インスタンスを作成するには、GitHub Enterprise Server のイメージを仮想マシンにインポートし、インスタンスのデータ用に追加のストレージボリュームをアタッチしなければなりません。 詳細は「ハードウェアについて」を参照してください。
-
最新の GitHub Enterprise Server アプライアンスイメージを見つけます。
vm image list
コマンドの詳細については、Microsoft のドキュメントの「az vm image list」を参照してください。$ az vm image list --all -f GitHub-Enterprise | grep '"urn":' | sort -V
-
見つけたアプライアンスイメージを使用して新しい VM を作成します。 詳しい情報については、Microsoftドキュメンテーションの「az vm create」を参照してください。
VM の名前、リソースグループ、VM のサイズ、優先する Azure リージョンの名前、前の手順でリストしたアプライアンスイメージ VM の名前、およびプレミアムストレージ用のストレージ SKU についてのオプションを渡します。 リソースグループに関する詳しい情報については、Microsoft ドキュメンテーションの「Resource groups」を参照してください。
$ az vm create -n VM_NAME -g RESOURCE_GROUP --size VM_SIZE -l REGION --image APPLIANCE_IMAGE_NAME --storage-sku Premium_LRS
-
必要なポートを開くように VM でセキュリティを設定します。 詳しい情報については、Microsoft ドキュメンテーションの「az vm open-port」を参照してください。 どのポートを開く必要があるかを判断するための各ポートの説明については、以下の表を参照してください。
$ az vm open-port -n VM_NAME -g RESOURCE_GROUP --port PORT_NUMBER
次の表に、各ポートの使用目的を示します
ポート サービス 説明 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 でリポジトリ管理ポリシーを適用する」を参照してください。 -
暗号化されていない新しいデータディスクを作成してVMにアタッチし、ユーザライセンス数に応じてサイズを設定してください。 詳しい情報については、Microsoft ドキュメンテーションの「az vm disk attach」を参照してください。
VM の名前 (
ghe-acme-corp
など)、リソースグループ、プレミアムストレージ SKU、ディスクのサイズ (100
など)、および作成する VHD の名前についてのオプションを渡します。$ az vm disk attach --vm-name VM_NAME -g RESOURCE_GROUP --sku Premium_LRS --new -z SIZE_IN_GB --name ghe-data.vhd --caching ReadWrite
注釈: 働状態ではないインスタンスで、十分なI/Oスループットを得るために推奨される最小ディスクサイズは、読み書きキャッシュを有効にした状態 (
--caching ReadWrite
) で 40 GiB です。
GitHub Enterprise Server 仮想マシンを設定する
-
VM を設定する前に、VMがReadyRole ステータスになるのを待つ必要があります。 VM のステータスを
vm list
コマンドで確認します。 詳しい情報については、Microsoft ドキュメンテーションの「az vm list」を参照してください。$ az vm list -d -g RESOURCE_GROUP -o table > Name ResourceGroup PowerState PublicIps Fqdns Location Zones > ------ --------------- ------------ ------------ ------- ---------- ------- > VM_NAME RESOURCE_GROUP VM running 40.76.79.202 eastus
メモ: Azure は VM 用の FQDN エントリを自動的に作成しません。 詳しい情報については、「Linux VM 用 Azure Portal での完全修飾ドメイン名の作成」方法に関する Azure のガイドを参照してください。
-
仮想マシンのパブリックDNS名をコピーして、Webブラウザに貼り付けてください。
-
プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してください。 詳しい情報については「GitHub Enterpriseライセンスの管理」を参照してください。
-
Management Consoleで、希望する設定を行って保存してください。詳しい情報については、「GitHub Enterprise Server アプライアンスを設定する」を参照してください。
-
インスタンスは自動的に再起動します。
-
Visit your instance(インスタンスへのアクセス)をクリックしてください。