このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-09-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

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

Azure に GitHub Enterprise Server をインストールするには、DS シリーズのインスタンスにデプロイし、Premium-LRS ストレージを使用する必要があります。

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-30004
or 8
32 GB
or 48 GB
250 GB
or 300 GB
200 GB
3000-50008
or 12
64 GB500 GB200 GB
5000-800012
or 16
96 GB750 GB200 GB
8000-10000+16
or 20
128 GB
or 160 GB
1000 GB200 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 のイメージを仮想マシンにインポートし、インスタンスのデータ用に追加のストレージボリュームをアタッチしなければなりません。 詳細は「ハードウェアについて」を参照してください。

  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 ドキュメンテーションの「Resource groups」を参照してください。

    $ 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

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

    ポートサービス説明
    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、ディスクのサイズ (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 仮想マシンを設定する

  1. 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 のガイドを参照してください。

  2. 仮想マシンのパブリックDNS名をコピーして、Webブラウザに貼り付けてください。

  3. プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してください。 For more information, see "Managing your license for GitHub Enterprise."

  4. Management Consoleで、希望する設定を行って保存してください。詳しい情報については、「GitHub Enterprise Server アプライアンスを設定する」を参照してください。

  5. インスタンスは自動的に再起動します。

  6. Visit your instance(インスタンスへのアクセス)をクリックしてください。

参考リンク

問題がまだ解決していませんか?