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

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

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 のインストール」を参照してください。

ハードウェアについて

最小要件

GitHub Enterprise Serverのインスタンスのユーザライセンス数に応じた様々なハードウェア構成をおすすめします。 最小要件以上のリソースを提供すれば、インスタンスのパフォーマンスとスケーラビリティは向上します。

ユーザライセンスvCPUsメモリアタッチされたストレージルートストレージ
トライアル、デモ、あるいは10人の軽量ユーザ432 GB150 GB200 GB
10-3000848 GB300 GB200 GB
3000-50001264 GB500 GB200 GB
5000-80001696 GB750 GB200 GB
8000-10000+20160 GB1000 GB200 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 またはメモリリソースを増やす」を参照してください。

仮想マシンタイプの決定

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. プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してください。 詳しい情報については「GitHub Enterpriseライセンスの管理」を参照してください。

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

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

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

参考リンク

このドキュメントは役立ちましたか?プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

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

GitHubコミュニティで質問するサポートへの連絡