Azure で GitHub Enterprise Server をインストールする
Azure に GitHub Enterprise Server をインストールするには、DS シリーズのインスタンスにデプロイし、Premium-LRS ストレージを使用する必要があります。
このガイドの内容
- 必要な環境
- ハードウェアについて
- 仮想マシンタイプの決定
- GitHub Enterprise Server 仮想マシンを作成する
- GitHub Enterprise Server 仮想マシンを設定する
GitHub Enterprise Server をグローバル Azure または Azure Government にデプロイできます。
必要な環境
-
GitHub Enterprise のライセンスファイルを持っていなければなりません。既存のライセンスファイルをダウンロードするか、トライアルのライセンスをリクエストするには enterprise.github.com にアクセスしてください。詳細はGitHub Enterprise Serverライセンスの管理を参照してください。
-
新しいコンピューターをプロビジョニングできる Azure アカウントを所有していなければなりません。 詳しい情報については Microsoft Azure のウェブサイトを参照してください。
-
仮想マシン(VM)を起動するのに必要なアクションのほとんどは、Azureポータルを使っても行えます。 とはいえ、初期セットアップ用にはAzureコマンドラインインターフェース(CLI)をインストールすることをお勧めします。 以下の例では、Azure CLI 2.0が使われています。 詳しい情報についてはAzureのガイドの"Azure CLI 2.0のインストール"を参照してください。
ハードウェアについて
GitHub Enterprise Serverは、ルートのディスクとは別に永続的なデータディスクを必要とします。詳しい情報についてはシステムの概要を参照してください。
GitHub Enterprise Server インスタンスで使用するシート数に基づいたハードウェアの構成をおすすめします。
シート | vCPUs | メモリ | アタッチされたストレージ | ルートストレージ |
---|---|---|---|---|
10-500 | 2 | 16 GB | 100 GB | 200 GB |
500-3000 | 4 | 32 GB | 250 GB | 200 GB |
3000-5000 | 8 | 64 GB | 500 GB | 200 GB |
5000-8000 | 12 | 72 GB | 750 GB | 200 GB |
8000-10000+ | 16 | 128 GB | 1000 GB | 200 GB |
以上は最小限の推奨値です。ユーザのアクティビティやインテグレーションの選択など、利用状況に応じてさらにリソースが必要になることがあります。 詳しい情報についてはCPUあるいはメモリリソースの増加を参照してください。
メモ: ルートディスクは、新しいアプライアンスを構築するか、既存のアプライアンスを使うかしてリサイズできます。詳細は「ストレージ容量の増加」を参照してください。
警告: 継続的インテグレーション (CI) や類似のシステムでリポジトリの変更をフェッチするのには、webhook の利用をおすすめします。定期的な自動チェック、あるいはポーリングは、インスタンスのスケーラビリティを大きく損ないます。詳細は「webhook について」を参照してください。
仮想マシンタイプの決定
GitHub Enterprise Server インスタンスをAzure上で起動する前に、組織の要求に最も適した仮想マシンのタイプを決定しなければなりません。
サポートされているVMタイプとリージョン
GitHub Enterprise Server アプライアンスは、プレミアムストレージのデータディスクを必要としており、プレミアムストレージをサポートするあらゆる Azure VM でサポートされます。 詳しい情報については、Azureドキュメンテーション中の"サポート対象のVM"を参照してください。 利用可能なVMに関する一般的な情報についてはAzure仮想マシンの概要ページを参照してください。
GitHub Enterprise Server は、VM タイプをサポートするあらゆる地域をサポートします。 各VMがサポートされるリージョンに関する詳しい情報については"リージョン別の利用可能な製品"を参照してください。
推奨VMタイプ
14 GB 以上の RAM を搭載した DS v2 インスタンスタイプを使用することをおすすめします。 サポートされているあらゆる VM タイプを使用できます。 シートに応じて、以下のインスタンスタイプをおすすめします。
シート数 | 推奨タイプ |
---|---|
10 - 500 | Standard_DS11_v2 |
500 - 3000 | Standard_DS12_v2 |
3000 - 8000 | Standard_DS14_v2 |
8000 - 10000+ | Standard_DS15_v2 |
メモ: インスタンスをリサイズすれば、いつでも CPU あるいはメモリをスケールアップできます。ただし、CPU あるいはメモリをリサイズするとユーザにはダウンタイムが生ずるので、スケールに備えてリソースをオーバープロビジョニングすることをおすすめします。
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
This table identifies what each port is used for.
ポート サービス 説明 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 HTTPS アクセス経由での Web アプリケーションおよび Git へのアクセス。 1194/UDP VPN 高可用性構成でのセキュアなレプリケーションネットワークトンネル。 8080 HTTP 平文の Web ベースの Management Console。 SSL が手動で無効化されていない限り不要。 8443 HTTPS セキュアな Web ベースの Management Console。 基本的なインストールと設定に必要。 9418 Git シンプル Git プロトコルポート。パブリックリポジトリへのクローンおよびフェッチ操作のみ。 暗号化されていないネットワーク通信。 -
新しい暗号化されていないデータディスクを作成して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 --disk ghe-data.vhd
メモ: 稼働状態ではないインスタンスで、十分な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 のガイドを参照してください。
-
VM のパブリック DNS 名をコピーし、Web ブラウザに貼り付けてください。
-
プロンプトでライセンスファイルをアップロードし、Management Console のパスワードを設定してください。詳しい情報についてはGitHub Enterprise Serverのライセンスの管理を参照してください。
-
Management Console で、任意の設定を行って保存してください。 詳細は「GitHub Enterprise Server アプライアンスを設定する」を参照してください。
-
インスタンスは自動的に再起動します。
-
[Visit your instance] (インスタンスにアクセスする) をクリックしてください。
参考リンク
- "システムの概要"