GitHub Enterprise Server をグローバル Azure または Azure Government にデプロイできます。
必要な環境
- GitHub Enterpriseのライセンスファイルを持っていなければなりません。 For more information, see "Setting up a trial of GitHub Enterprise Server" and "About licenses for GitHub Enterprise."
- 新しいコンピューターをプロビジョニングできる Azure アカウントを所有していなければなりません。 詳しい情報については Microsoft Azure のウェブサイトを参照してください。
- 仮想マシン(VM)を起動するのに必要なアクションのほとんどは、Azureポータルを使っても行えます。 とはいえ、初期セットアップ用にはAzureコマンドラインインターフェース(CLI)をインストールすることをお勧めします。 以下の例では、Azure CLI 2.0が使われています。 詳しい情報については、Azure のガイド「Azure CLI 2.0 のインストール」を参照してください。
ハードウェアについて
最小要件
GitHub Enterprise Serverのインスタンスのユーザライセンス数に応じた様々なハードウェア構成をおすすめします。 最小要件以上のリソースを提供すれば、インスタンスのパフォーマンスとスケーラビリティは向上します。
ノート: GitHub ActionsもしくはGitHub Packagesのベータに参加してこれらの機能を有効化している場合、インスタンスには追加のハードウェアリソースが必要になります。 ベータ機能を使うインスタンスの最小要件は、以下のテーブル中の太字に示されています。 詳しい情報については「GitHub Enterprise Server 2.22のベータの機能」を参照してください。
ユーザライセンス | vCPUs | メモリ | アタッチされたストレージ | ルートストレージ |
---|---|---|---|---|
トライアル、デモ、あるいは10人の軽量ユーザ | 2 or 4 | 16 GB or 32 GB | 100 GB or 150 GB | 200 GB |
10-3000 | 4 or 8 | 32 GB or 48 GB | 250 GB or 300 GB | 200 GB |
3000-5000 | 8 or 12 | 64 GB | 500 GB | 200 GB |
5000-8000 | 12 or 16 | 96 GB | 750 GB | 200 GB |
8000-10000+ | 16 or 20 | 128 GB or 160 GB | 1000 GB | 200 GB |
既存のインスタンスのリソース調整に関する詳しい情報については「ストレージ容量の増加」及び「CPUあるいはメモリリソースの増加」を参照してください。
GitHub Enterprise Server 2.22のベータの機能
GitHub Enterprise Server 2.22は、GitHub Actions、GitHub Packages、code scanningといった機能をベータで提供しています。 詳しい情報については「GitHub Enterprise Server 2.22 リリースノートを参照してください。
GitHub Enterprise Server 2.22のベータの機能を有効化した場合、インスタンスには追加のハードウェアリソースが必要です。 最小要件に関する詳しい情報については「最小要件」を参照してください。
GitHub Actionsのハードウェアの要件に関する詳しい情報については「GitHub Enterprise ServerでGitHub Actionsを利用しはじめる」を参照してください。
ストレージ
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 またはメモリリソースを増やす」を参照してください。
仮想マシンタイプの決定
Azure でGitHub Enterprise Serverのインスタンス を起動する前に、Organization のニーズに最適なマシンタイプを決定する必要があります。 GitHub Enterprise Server の最小要件を確認するには、「最小要件」を参照してください。
ノート:インスタンスをリサイズすれば、いつでもCPUやメモリをスケールアップできます。 しかし、CPUあるいはメモリのリサイズにはユーザにとってのダウンタイムが生じるので、スケールのためのリソースを前もってオーバープロビジョニングしておくことをおすすめします。
GitHub Enterprise Server アプライアンスは、プレミアムストレージのデータディスクを必要としており、プレミアムストレージをサポートするあらゆる Azure VM でサポートされます。 接尾辞が s
の Azure VM タイプは、プレミアムストレージをサポートしています。 詳しい情報については、Azure ドキュメントの「Azure で使用できるディスクの種類」および「Azure プレミアムストレージ: 高性能の設計」を参照してください。
GitHub は、GitHub Enterprise Server にメモリ最適化された VM を推奨しています。 詳しい情報については、Azure ドキュメントの「メモリに最適化された仮想マシンのサイズ」を参照してください。
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ブラウザに貼り付けてください。
-
プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してください。 For more information, see "Managing your license for GitHub Enterprise."
-
Management Consoleで、希望する設定を行って保存してください。詳しい情報については、「GitHub Enterprise Server アプライアンスを設定する」を参照してください。
-
インスタンスは自動的に再起動します。
-
Visit your instance(インスタンスへのアクセス)をクリックしてください。
参考リンク
- 「システム概要」