Skip to main content

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

Azure で GitHub Enterprise Server をインストールする

Azure に GitHub Enterprise Server をインストールするには、Premium Storage をサポートするメモリ最適化インスタンスにデプロイする必要があります。

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人の軽量ユーザ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 またはメモリ リソースの増� 」を参照してく� さい。

仮想マシンタイプの決定

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 のイメージを仮想マシンにインポートし、インスタンスのデータ用に追� のストレージボリュー� をアタッチしなければなりません。 詳細については、「ハードウェアに関する考慮事� �」を参照してく� さい。

  1. 最新の GitHub Enterprise Server アプライアンスイメージを見つけます。 vm image list コマンドの詳細については、Microsoft のドキュメントの「az vm image list」を参照してく� さい。

    $ az vm image list --all -f GitHub-Enterprise | grep '"urn":' | sort -V
  2. 見つけたアプライアンスイメージを使用して新しい 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
  3. 必要なポートを開くように VM でセキュリティを設定します。 詳細については、Microsoft のドキュメントの「az vm open-port」を参照してく� さい。 どのポートを開く必要があるかを判断するための各ポートの説明については、以下の表を参照してく� さい。

    $ az vm open-port -n VM_NAME -g RESOURCE_GROUP --port PORT_NUMBER

    次の表に、各ポートの使用目的を示します

    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 でリポジトリ管理ポリシーを適用する」を参照してく� さい。
  4. 暗号化されていない新しいデータディスクを作成して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 仮想マシンを設定する

  1. 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 で完全修飾ドメイン名を作成する方法を参照してく� さい。

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

  3. インスタンスは自動的に再起動します。 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 オペレーティング システ� が実行されるため、オペレーティング システ�  パッケージを手動でインストールまたは更新すると、これらのカスタマイズが上書きされ、予期しない動作が発生する可能性があります。 詳細については、「システ� の概要」をご覧く� さい。

参考資料