ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。
記事のバージョン: Enterprise Server 2.14

このバージョンの GitHub Enterprise はこの日付をもって終了となります: このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2019-07-12. 重大なセキュリティ上の問題があっても、パッチはリリースされなくなります。優れたパフォーマンス、改善されたセキュリティ、そして新しい機能のために、GitHub Enterprise の最新バージョンにアップグレードしてください。 アップグレードに関するヘルプについては、GitHub Enterprise Support に連絡してください。

GitHub Enterprise Server でロードバランサを使用する

ロードバランサを、単一の GitHub Enterprise Server アプライアンス、あるいは High Availability 構成のアプライアンスのペアの前で使ってください。

ロードバランサの設計では、ネットワークデバイスを使って 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 アドレスが偽造されるかもしれません。

GitHub Enterprise Server インスタンスでのPROXYプロトコルサポートの有効化

アプライアンスとロードバランサの両方でPROXYプロトコルサポートを有効化することを強くおすすめします。 ロードバランサでPROXYプロトコルを有効化する方法については、ベンダーが提供する指示に従ってください。 詳しい情報についてはPROXY プロトコルのドキュメンテーションを参照してください。

  1. 任意のページの右上の隅で をクリックしてください。

    サイト管理設定にアクセスするための Rockership アイコン

  2. 左サイドバーで [Management Console] をクリックします。

    左サイドバーの Management Console タブ

  3. 左サイドバーで [Privacy] をクリックします。

    設定のサイドバーのプライバシータブ

  4. External load balancers(外部ロードバランサ)の下でEnable support for PROXY protocol(PROXYプロトコルサポートの有効化)を選択してください。

    PROXYプロトコルサポートの有効化のチェックボックス 左のサイドバーの下で、[Save settings(設定の保存)] をクリックしてください。
    設定の保存 ボタン

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

GitHub Enterprise Server インスタンスでのX-Forwarded-Forサポートの有効化

X-Forwarded-For プロトコルを使うのは、PROXY プロトコルが利用できない場合に限ってください。X-Forwarded-For ヘッダは、HTTP および HTTPS とのみ動作します。SSH 経由の Git 接続で報告される IP アドレスは、ロードバランサの IP になります。

警告: HTTPS 接続をロードバランサでターミネートしている場合、ロードバランサからの GitHub Enterprise Server へのリクエストも HTTPS を使わなければなりません。接続の HTTP へのダウングレードはサポートされません。

  1. 任意のページの右上の隅で をクリックしてください。

    サイト管理設定にアクセスするための Rockership アイコン

  2. 左サイドバーで [Management Console] をクリックします。

    左サイドバーの Management Console タブ

  3. 左サイドバーで [Privacy] をクリックします。

    設定のサイドバーのプライバシータブ

  4. External load balancers(外部ロードバランサ)の下でAllow HTTP X-Forwarded-For header(HTTP X-Forwarded-Forヘッダの許可)を選択してください。

    HTTP X-Forwarded-Forヘッダを許可するチェックボックス 左のサイドバーの下で、[Save settings(設定の保存)] をクリックしてください。
    設定の保存 ボタン

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 のいずれかをチェックするようにロードバランサを設定します:

ノードが健全でエンドユーザのリクエストに応えることができるのであれば、このチェックにはステータスコード 200 (OK) が返されます。

メモ: アプライアンスがメンテナンスモードになっている場合、URL の https://HOSTNAME/status はステータスコード 503 (Service Unavailable) を返します。詳しい情報については「メンテナンスモードの有効化とスケジューリング」を参照してください。

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください