Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-03-15. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

クラスタノードについて

"ノード" は、クラスター内で動作する GitHub Enterprise Server インスタンスです。 ぞれぞれのノードは、クラスターに提供される (最終的にはユーザーに提供される) 一連のサービスを実行します。

クラスタノードについて

GitHub Enterprise Server のクラスター トポロジは、数万人の開発者を持つ企業に水平スケーリングを提供します。 GitHub では、単一のプライマリ ノードでリソースの枯渇が日常的に発生する場合にクラスタリングが推奨されます。 クラスタリングには、慎重な計画と追加の管理オーバーヘッドが必要です。 詳しくは、「クラスタリングについて」を参照してください。

クラスター内の各ノードは、お使いの GitHub Enterprise Server インスタンス ソフトウェアを実行する仮想マシンです。 クラスターをデプロイする前に、ハードウェア要件、必要なサービス、設計に関する推奨事項を確認できます。

注: GitHub Enterprise Server のクラスタリングは HTTPS を使用して構成する必要があります。

推奨する最小のハードウェア構成

各ノードには、ルートボリュームに加えてデータボリュームが別途必要です。 以下に最小の推奨構成を示します。 ユーザのアクティビティや他の製品との結合といった利用方法によっては、さらに多くのリソースが必要になることがあります。

サービス最小のメモリ最小のデータボリュームの空き領域
job-server,
memcache-server,
web-server
14 GB1 GB
consul-server,
mysql-server,
redis-server
14 GB10 GB
git-server,
metrics-server,
pages-server,
storage-server
14 GB10 GB
elasticsearch-server14 GB10 GB

クラスタリングに必要なサービス

適切な冗長性を持たせるために、各サービスの運用には少なくとも以下のノードを使ってください。

注: Organization がどの程度のスケーラビリティを必要とするかは、リポジトリ数、ユーザー数、全体的な利用度を含む多くの要素によって異なります。

サービス必要な最小ノード数
job-server,
memcache-server,
metrics-server,
web-server
2
mysql-server,
redis-server
2
consul-server3
git-server,
pages-server,
storage-server
3
elasticsearch-server3

クラスタ設計に関する推奨

GitHub Enterprise Server を構成するサービス群は、クラスタリングによってそれぞれ個別にスケールアウトできるようになります。 この柔軟性は、様々なスケーラビリティに対する要求を有する組織に適したクラスタの設計と実装に利用できます。 たとえば、組織によっては、大規模あるいは頻繁なフェッチのためにストレージのスループットに対する要求は高いものの、Webサーバーの利用は比較的少ないことがあるでしょう。 別の Organization では、より少ないストレージ リソースで良好なパフォーマンスを発揮する可能性がありますが、pages-serverelasticsearch-server を実行する多くのノードを必要とします。 多くの様々な組み合わせが可能です。 お客様の固有の要求に最も適したクラスタの構成を決めるため、顧客担当と共同で作業してください。

  • 冗長なノードは、独立したハードウェアに分散させてください。 CPU、メモリ、ストレージデバイスを共用するなら、パフォーマンスの低下が生じ、単一障害点を作ることになります。 ネットワーキングのコンポーネントを共用することも、スループットの低下と障害発生時に接続が失われるリスクの増大を招くことがあります。
  • 高速なストレージを使ってください。 ストレージエリアネットワーク(SAN)は、しばしば絶対的なスループットではなく、最大限の領域の利用、可用性、耐障害性に最適化されます。 GitHub Enterprise Server クラスタリングは冗長性と可用性を提供し、利用可能な最速のストレージ上で最高のパフォーマンスを発揮します。 ローカルのSSDストレージをおすすめします。
  • Organization にとって意味のあるノードの層を確立します。 設定例:
    • 2つのノードと以下のサービスを持つフロントエンド層:
      • web-server
      • job-server
      • memcache-server
    • 3つのノードと以下のサービスを持つデータベース層:
      • consul-server
      • mysql-server
      • redis-server
    • 3つのノードと以下のサービスを持つ検索層:
      • elasticsearch-server
    • 3つのノードと以下のサービスを持つストレージ層:
      • git-server
      • pages-server
      • storage-server
      • metrics-server