GitHub Enterprise Server をグローバル Azure または Azure Government にデプロイできます。
前提条件
- GitHub Enterpriseのライセンスファイルを持っていなければなりません。 詳しくは、「GitHub Enterprise Server の試用版を設定する」と「GitHub Enterprise のライセンスについて」をご覧く� さい。
- 新しいコンピューターをプロビジョニングできる Azure アカウントを所有していなければなりません。 詳しくは、Microsoft Azure Web サイトをご覧く� さい。
- 仮想マシン(VM)を起動するのに必要なアクションのほとんどは、Azureポータルを使っても行えます。 とはいえ、初期セットアップ用にはAzureコマンドラインインターフェース(CLI)をインストールすることをお勧めします。 以下の例では、Azure CLI 2.0が使われています。 詳細については、Azure のガイド「Azure CLI 2.0 のインストール」を参照してく� さい。
ハードウェアに関する考慮事� �
最小要件
のユーザライセンス数に応じた様々なハードウェア構成をおすすめします。 最小要件以上のリソースを提供すれば、インスタンスのパフォーマンスとスケーラビリティは向上します。
ユーザー ライセンス | vCPU 数 | メモリ | ルート ストレージ | アタッチされた (データ) ストレージ |
---|---|---|---|---|
トライアル、デモ、あるいは10人の軽量ユーザ | 4 | 32 GB | 200 GB | 150 GB |
10-3000 | 8 | 48 GB | 200 GB | 300 GB |
3000-5000 | 12 | 64 GB | 200 GB | 500 GB |
5000-8000 | 16 | 96 GB | 200 GB | 750 GB |
8000-10000+ | 20 | 160 GB | 200 GB | 1000 GB |
インスタンスのユーザーに対して GitHub Actions を有効にする予定の� �合は、さらに多くのリソースが必要です。
vCPU 数 | メモリ | 最大コンカレンシー |
---|---|---|
8 | 64 GB | 300 ジョブ |
16 | 128 GB | 700 ジョブ |
32 | 160 GB | 1,300 ジョブ |
64 | 256 GB | 2,000 ジョブ |
96 | 384 GB | 4,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 またはメモリ リソースの増� 」を参照してく� さい。
仮想マシンタイプの決定
Azure でyour GitHub Enterprise Server instanceを起動するには、Organization のニーズに最適なマシン タイプを決定する必要があります。 メモリ最適化済みマシンの詳細については、Microsoft Azure ドキュメントの「メモリ最適化済み仮想マシンのサイズ」を参照してく� さい。 GitHub Enterprise Server の最小リソース要件を確認するには、「最小要件」を参照してく� さい。
注: インスタンスをサイズ変更すれば、いつでも CPU やメモリをスケールアップできます。 しかし、CPUあるいはメモリのリサイズにはユーザにとってのダウンタイ� が生じるので、スケールのためのリソースを前もってオーバープロビジョニングしておくことをおすすめします。
GitHub Enterprise Server アプライアンスは、プレミア� ストレージのデータディスクを必要としており、プレミア� ストレージをサポートするあらゆる Azure VM でサポートされます。 s
サフィックスが付いた Azure VM の種類では、Premium Storage がサポートされます。 詳細については、「Azure で利用できるディスクの種類」 および Azure ドキュメントの「Azure Premium Storage: 高パフォーマンス用に設計する」を参照してく� さい。
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 のドキュメントの「リソース グループ」を参照してく� さい。
$ 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
次の表に、各ポートの使用目的を示します
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設定でのセキュアなレプリケーションネットワークトンネル。 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、ディスクのサイズ (200
など)、および結果の 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 スループットを与えるための推奨最小ディスク サイズは 150 GiB です。読み取り/書き込みキャッシュは、有効にします (
--caching ReadWrite
)。
GitHub Enterprise Server 仮想マシンを設定する
-
VM を設定する前に、VMがReadyRole ステータスになるのを待つ必要があります。
vm list
コマンドを使用して VM の状態を確認します。 詳細については、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 の FQDNS エントリは自動的には作成されません。 詳細については、Azure のガイドで Linux VM のために Azure portal で完全修飾ドメイン名を作成する方法を参照してく� さい。
-
仮想マシンのパブリックDNS名をコピーして、Webブラウザに貼り付けてく� さい。 2. プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してく� さい。 詳細については、「GitHub Enterprise のライセンスの管理」を参照してく� さい。 3. [Management Console] で、目的の設定を構成して保存します。 詳細については、GitHub Enterprise Server アプライアンスの構成に関するページを参照してく� さい。
-
インスタンスは自動的に再起動します。 1. [Visit your instance](インスタンスにアクセスする) をクリックします。
Azure の拡張機能
GitHub Enterprise Server は、Azure の拡張機能のインストールをサポートしていません。 GitHub Enterprise Server イメージには、カスタマイズされた waagent
パッケージのみが付属します。これによって、基本的な VM 管理機能のみがサポートされ、高度な VM 管理機能はブロックされます。
GitHub Enterprise Server インスタンスのシステ� が不安定にならないように、walinuxagent
サービスは、制限付きモードで GitHub Enterprise Server で意図的に実行され、エージェントによる他のエージェントのインストールは明示的に禁止されます。 Azure Insights の監視エージェント拡張機能や Azure Backup など、GitHub Enterprise Server イメージに付属する追� のエージェントと拡張機能に依存する VM 管理機能はサポートされていません。
GitHub Enterprise Server では、必要なアプリケーションとサービスのみでカスタマイズされた Linux オペレーティング システ� が実行されるため、オペレーティング システ� パッケージを手動でインストールまたは更新すると、これらのカスタマイズが上書きされ、予期しない動作が発生する可能性があります。 詳細については、「システ� の概要」をご覧く� さい。