About load balancers
ロードバランサの設計では、ネットワークデバイスを使ってGit及びHTTPのトラフィックを個々のGitHub Enterprise Serverアプライアンスに向かわせます。 ロードバランサを使って、セキュリティのためにアプライアンスへの直接のトラフィックを制限したり、必要に応じてDNSのレコードを変更することなくトラフィックをリダイレクトしたりできます。 PROXYプロトコルをサポートするTCPベースのロードバランサを使うことを強くおすすめします。
GitHub Enterprise Serverのホスト名に対するDNSルックアップは、ロードバランサに解決されなければなりません。 Subdomain Isolationを有効化することをおすすめします。 Subdomain Isolationが有効化されている� �合、追� のワイルドカードレコード(*.HOSTNAME
)もロードバランサに解決されなければなりません。 詳しい情� �については"Subdomain Isolationの有効化"を参照してく� さい。
クライアントの接続情� �の処理
GitHub Enterprise Server へのクライアント接続はロードバランサから来ることになるため、クライアントの IP アドレスは失われることがあります。
使用しているロードバランサがサポートできるなら、PROXYプロトコルの利用を強くおすすめします。 PROXYサポートが利用できない� �合でも、X-Forwarded-For
ヘッダを使ってHTTP及びHTTPSポートをロードバランスできます。
セキュリティの警告: PROXY サポートあるいは HTTP フォワーディングが有効化されている� �合、外部のトラフィックが直接 GitHub Enterprise Server アプライアンスに到達できないことが重要です。 外部トラフィックが適切にブロックされていない� �合、ソース IP アドレスが偽� されるかもしれません。
警告: HTTPS 接続をロードバランサでターミネートしている� �合、ロードバランサからの GitHub Enterprise Server へのリクエストも HTTPS を使わなければなりません。 接続の HTTP へのダウングレードはサポートされません。
your GitHub Enterprise Server instanceでのPROXYプロトコルサポートの有効化
アプライアンスとロードバランサの両方でPROXYプロトコルサポートを有効化することを強くおすすめします。 ロードバランサでPROXYプロトコルを有効化する方法については、ベンダーが提供する指示に従ってく� さい。 詳しい情� �についてはPROXY プロトコルのドキュメンテーションを参照してく� さい。
Note: GitHub Enterprise Server supports PROXY Protocol V1, which is incompatible with AWS Network Load Balancers. If you use AWS Network Load Balancers with GitHub Enterprise Server, do not enable PROXY support.
-
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
左のサイドバーでManagement Consoleをクリックしてく� さい。
-
左のサイドバーでPrivacy(プライバシー)をクリックしてく� さい。
-
External load balancers(外部ロードバランサ)の下でEnable support for PROXY protocol(PROXYプロトコルサポートの有効化)を選択してく� さい。
-
左のサイドバーの下でSave settings(設定の保存)をクリックしてく� さい。
Note: Saving settings in the Management Console restarts system services, which could result in user-visible downtime.
-
設定が完了するのを待ってく� さい。
PROXYプロトコルのTCPポートマッピング
送信元ポート | 宛先ポート | サービスの説明 |
---|---|---|
22 | 23 | Git over SSH |
80 | 81 | HTTP |
443 | 444 | HTTPS |
8080 | 8081 | Management Console HTTP |
8443 | 8444 | Management Console HTTPS |
9418 | 9419 | Git |
your GitHub Enterprise Server instanceでのX-Forwarded-Forサポートの有効化
PROXYプロトコルが利用できないときにかぎりX-Forwarded-Forプロトコルを利用してく� さい。 X-Forwarded-For
は、HTTP及びHTTPSでのみ動作します。 SSH経由のGit接続で示されるIPアドレスは、ロードバランサのIPを示します。
-
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
左のサイドバーでManagement Consoleをクリックしてく� さい。
-
左のサイドバーでPrivacy(プライバシー)をクリックしてく� さい。
-
External load balancers(外部ロードバランサ)の下でAllow HTTP X-Forwarded-For header(HTTP X-Forwarded-Forヘッダの許可)を選択してく� さい。
-
左のサイドバーの下でSave settings(設定の保存)をクリックしてく� さい。
Note: Saving settings in the Management Console restarts system services, which could result in user-visible downtime.
-
設定が完了するのを待ってく� さい。
PROXYサポートなしで使うプロトコルのTCPポートマッピング
送信元ポート | 宛先ポート | サービスの説明 |
---|---|---|
22 | 22 | Git over SSH |
25 | 25 | SMTP |
80 | 80 | HTTP |
443 | 443 | HTTPS |
8080 | 8080 | Management Console HTTP |
8443 | 8443 | Management Console HTTPS |
健全性チェックの設定
ロードバランサは健全性チェックによって、事前に設定されたチェックが失敗するようになったノードがあれば、反応しなくなったノードへのトラフィックの送信を止めます。 メンテナンスもしくは予想外の障害のためにアプライアンスがオフラインになっているなら、ロードバランサはステータスページを表示できます。 High Availability(HA)設定では、ロードバランサはフェイルオーバーの戦略の一部として利用できます。 た� し、HAペアの自動フェイルオーバーはサポートされていません。 レプリカインスタンスは、手動で昇� �させるとリクエストに応えられるようになります。 詳細は「High Availability 用に GitHub Enterprise Server を設定する」を参照してく� さい。
以下のURLのいずれかをチェックするようにロードバランサを設定してく� さい。
https://HOSTNAME/status
HTTPSが有効な� �合(デフォルト)http://HOSTNAME/status
HTTPSが無効な� �合
ノードが健全でエンドユーザーからのリクエストに応えられる� �合、このチェックにはステータスコード200
(OK)が返されます。
ノート: アプライアンスがメンテナンスモードの� �合、https://HOSTNAME/status
のURLはステータスコード503
(Service Unavailable)を返します。 詳しい情� �については"メンテナンスモードの有効化とスケジューリング"を参照してく� さい。