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 ドキュメンテーションの「Resource groups」を参照してください。
$ 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
次の表に、各ポートの使用目的を示します。
ポート サービス 説明 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プロトコルのポートです。 パブリックリポジトリのクローンとフェッチのみができます。 暗号化されていないネットワーク通信です。 -
新しい暗号化されていないデータディスクを作成して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 仮想マシンを設定する
-
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 のガイドを参照してください。
-
仮想マシンのパブリックDNS名をコピーして、Webブラウザに貼り付けてください。
-
プロンプトでライセンスファイルをアップロードし、管理コンソールのパスワードを設定してください。 詳しい情報については「GitHub Enterprise Serverライセンスの管理」を参照してください。
-
Management Consoleで、希望する設定を行って保存してください。 詳しい情報については、「GitHub Enterprise Server アプライアンスを設定する」を参照してください。
-
インスタンスは自動的に再起動します。
-
Visit your instance(インスタンスへのアクセス)をクリックしてください。
参考リンク
- "システムの概要"