を参照してください。

GitLab クラウドネイティブハイブリッドを AWS EKS にプロビジョニングします。

GitLabの「クラウドネイティブハイブリッド」は、クラウドネイティブテクノロジーのKubernetes(EKS) とEC2のハイブリッドです。GitLabアプリケーションの可能な限り多くをKubernetesまたはAWSサービス(PaaS)上で実行する一方で、GitLabサービスGitalyは依然としてEC2上で実行する必要があります。Gitalyは、水平にスケールするアーキテクチャにおけるGitバイナリの制限を克服するために設計されたレイヤーです。Gitalyが作られた理由や、Gitの制限のために現在インスタンス・コンピュート上で実行しなければならない理由については、水平スケーリングを難しくするGitの特徴で詳しく説明しています。

Amazonは、Amazon Elastic Kubernetes Service(EKS) として知られるマネージドKubernetesサービスを提供しています。

リファレンスアーキテクチャのサイズ別のテスト済みAWS部品表

GitLab クラウドネイティブハイブリッドリファレンスアーキテクチャGitLabベースラインパフォーマンステスト結果(インスタンスでLinuxパッケージを使用)AWS Bill of Materials(BOM) for CNH CNH向けAWSビルド・パフォーマンス・テスト結果CNH コスト見積もり 3 AZ
2K Linuxパッケージインストール2Kベースライン2K EKS上のクラウドネイティブハイブリッドGPTテスト結果 1 YR Ec2 Compute Savings + 1 YR RDS & ElastiCache RIs
(2 AZ Cost Estimate is in BOM below)
3K3KベースラインEKS上の3Kクラウドネイティブハイブリッド 3Kフル固定スケールGPTテスト結果

3K Elastic Auto Scale GPTテスト結果
1 YR Ec2 Compute Savings + 1 YR RDS & ElastiCache RIs
(2 AZ Cost Estimate is in BOM below)
5K5Kベースライン5K EKS上のクラウドネイティブハイブリッド 5Kフル固定スケールGPTテスト結果

5K 25%GPTからのオートスケール テスト結果
1年間のEc2コンピューティングの節約 + 1年間のRDSとElastiCache RI
10K10KベースラインEKS上の10Kクラウドネイティブハイブリッド 10Kフル固定スケールGPTテスト結果

10K Elastic Auto Scale GPTテスト結果
10K 1年間のEc2コンピューティングの節約 + 1年間のRDSおよびElastiCache RI
50K50K ベースライン50K EKS上のクラウド・ネイティブ・ハイブリッド 50Kフル固定スケールGPTテスト結果

10K Elastic Auto Scale GPTテスト結果
50K 1YRのEc2コンピューティングの節約 + 1YRのRDSおよびElastiCache RI

*実際の導入時のコスト計算は、以下の点を考慮した目安です:

  • インスタンスタイプの実際の選択は、設定のGPTテストに基づいてください。
  • 最初の 1 年間の実際の使用は、予想よりも低い使用による潜在的な節約を明らかにし ます。
  • コストの見積もりは、Kubernetesクラスタノードを24時間×7時間×365日フルスケールで使用した場合を想定しています。アイドリング・スケールイン」による節約は、特定の実装の使用パターンに大きく依存するため、考慮していません。
  • GitLab Runner、データエグジット、ストレージなどのコストは、特定の実装の設定や開発者の行動(コミットの頻度やビルドの頻度など)に大きく依存するため、含まれていません。
  • これらの見積もりは、GitLabがテストし、計算の選択を最適化するにつれて変化します。

GitLabクラウドネイティブハイブリッドで利用可能なInfrastructure as Code

GitLab Environment Toolkit(GET)は、TerraformとAnsibleスクリプトのセットです。これらのスクリプトは、選択したクラウドプロバイダー上のLinuxパッケージやクラウドネイティブハイブリッド環境のデプロイを支援し、GitLab開発者がGitLab Dedicatedのために使用します(例)。

GitLab環境ツールキットを使ってAWS上にクラウドネイティブハイブリッド環境をデプロイすることができます。しかし、それは必須ではありませんし、すべての有効な順列をサポートするわけではありません。とはいえ、このスクリプトはそのまま提供されるものであり、それに応じてアレンジすることができます。

2ゾーンと3ゾーンの高可用性

GitLab リファレンスアーキテクチャでは一般的に3ゾーンの冗長化を推奨していますが、AWS Quick Starts と AWS Well Architected では AWS Well Architected として2ゾーンの冗長化を考慮しています。個々の実装では、2ゾーンと3ゾーンの設定のコストを、最終的な設定のための自身の高可用性要件と比較検討する必要があります。

Gitaly Clusterは、同期ノード間の強力な一貫性を実装するために一貫性投票システムを使用します。アベイラビリティゾーンの実装数にかかわらず、偶数ノードによる投票の行き詰まりを回避するために、クラスターには常に最低3台のGitalyノードと3台のPrafectノードが必要です。

AWSクイックスタート準備済みGitLabインスタンスの効率化されたパフォーマンステスト

AWS Quick Start for GitLab Cloud Native Hybrid on EKSを使用して準備されたGitLabインスタンスをテストするための一連のパフォーマンステスト手順は省略されています。これらはGitLabパフォーマンスツールに精通していないことを前提としています。こちらからアクセスできます:AWS Quick Start for GitLab Cloud Native Hybrid on EKS を使って準備したインスタンスのパフォーマンステスト

AWS GovCloud Support for AWS Quick Start for GitLab CNH on EKS.

AWS Quick Start for GitLab Cloud Native Hybrid on EKSはGovCloudでテストされており、以下の制限と理解で動作します。

  • GovCloudには公開Route53ホストゾーンがないため、以下のパラメータを設定する必要があります:

    CloudFormationクイックスタートフォームのフィールドCloudFormationパラメータ設定
    Route 53ホストゾーンの作成作成されたホストゾーンなし
    AWS Certificate Manager SSL証明書のリクエストCreateSslCertificateなし
  • クイックスタートでは公開ロードバランサーの IP を作成するので、テストをデプロイするときに GitLab の GUI にアクセスするためのローカル hosts ファイルを簡単に設定することができます。しかし、公開ロードバランサがプロビジョニング計画の一部でない場合は手動で変更する必要があるかもしれません。公開されていないロードバランサーを設定オプションのイシューリンクにする予定です:短期的な課題インターネット Ingress を使わない非公開 GitLab インスタンスのためのドキュメントと自動化
  • 2021-08-19現在、AWS GovCloudにはAmazon RDS PostgreSQL用のGravitonインスタンスがありますが、ElastiCache Redis用のインスタンスはありません。
  • 標準のクイックスタートURLからGovCloudにクイックスタートテンプレートを読み込ませるのは難しいので、汎用的なものをここに提供します:

すべてのGitLab実装のためのAWS PaaSの認定

Linuxパッケージを使用した実装、またはCloud Native Hybridの実装のいずれについても、以下のGitLabサービスのロールはAWSサービス(PaaS)で実行できます。インスタンスの規模に応じた事前設定が必要なPaaSソリューションは、インスタンス毎のサイズ部品表のリストにも記載されます。特定のサイジングを必要としない PaaS は、部品表には繰り返し表示されません(例えば、AWS Certification Manager)。

これらのサービスは GitLab でテストされています。

ログの集約やEメールの送信など、GitLabによって指定されていないサービスもありますが、提供されている場合はその旨記載しています。

GitLabサービスAWS PaaS(テスト済み)提供:AWS Cloud
Native Hybrid Quick Start
リファレンスアーキテクチャで言及されているテスト済みPaaS  
PostgreSQL データベースAmazon RDS PostgreSQLはい。
RedisキャッシュRedis ElastiCacheはい。
Gitaly クラスタ (Git リポジトリストレージ)
(Praefect と PostgreSQL を含む)
ASGとインスタンスはい - ASGとインスタンス
注意:GitalyはKubernetesクラスタに入れることはできません。
Gitリポジトリストレージ以外のGitLabのすべてのストレージ
(S3互換のGit-LFSを含む)
AWS S3はい
   
補足サービス用テスト済みPaaS  
フロントエンドロードバランシングAWS ELBはい
内部ロードバランシングAWS ELBはい
アウトバウンドメールサービスAWSシンプルメールサービス(SES)はい
作成者及び管理者AWS証明書マネージャ(ACM)はい
DNSAWS Route53(テスト済み)はい
GitLabとインフラログの集約AWS CloudWatchログあり(EKS向けContainerInsightsエージェント)
インフラパフォーマンスメトリクスAWS CloudWatchメトリクスはい
   
補足サービスと設定(テスト済み)  
GitLab 用 PrometheusAWS EKS (クラウドネイティブのみ)はい
GitLabのためのGrafanaAWS EKS (クラウドネイティブのみ)はい
GitLabバックエンドへの管理アクセスVPC 内の Bastion ホストはい - HA - クラスター管理用に設定済み。
暗号化(転送中/停止中)AWS KMSはい
プロビジョニング用シークレットストレージAWSシークレットマネージャはい
プロビジョニング用設定データAWSパラメータストアはい
Kubernetesの自動スケーリングEKSオートスケーリングエージェントはい

GitLab クラウドネイティブハイブリッド on AWS

EKS上の2Kクラウドネイティブハイブリッド

EKS上の2Kクラウド・ネイティブ・ハイブリッド部品表(BOM)

GPTテスト結果

  • 未定

今すぐデプロイ 今すぐデプロイリンクは、AWS クイックスタートの自動化を活用し、以下の部品表に基づいてクイックスタート用のインスタンス数とインスタンスタイプのみを事前に入力します。その他のパラメータについては、Quick Startドキュメントのデプロイ手順セクションのガイダンスに従って適切な入力を行う必要があります。

  • 今すぐデプロイ:2AZのAWSクイックスタート
  • 今すぐデプロイ:AWSクイックスタート(3AZ
note
この表では比較のためにオンデマンド価格を使用していますが、GitLab本番インスタンスの予算編成やAWSリソースの購入には使用しないでください。代わりに、上記の “GitLab on AWS Compute “の表にあるAWS Calculatorのリンクを使い、希望の節約プランでカスタマイズしてください。

BOM Total:= Bill of Materials Total - この設定を構築する際に使用します。

Ref Arch Raw Total:= PaaSサービスなしの通常のVM上で設定を構築した場合の合計。純粋な VM 上で設定を行う場合、一般的にクラスター管理アクティビティのために追加の VM が必要になります。

Idle Configuration (Scaled-In)= 需要が少ない時にスケールインしたり、ウォームスタンバイのGeoインスタンスに使用できます。内部要件に合わせた EKS オートスケールの設定、テスト、および管理が必要です。

サービスレフアーチ・ロー(フルスケール)AWS BOMフルスケールコスト例
(オンデマンド、US East)
ウェブサービス12vCPU、16GB  
Sidekiq2 vCPU、8 GB  
NGINX、Prometheusなどのサービスをサポート2 vCPU、8 GB  
GitLab Ref Arch K8s ノード総容量16 vCPU、32 GB  
オーバーヘッドとその他(EKSクラスタAutoScaler、Grafana、Prometheusなど)のために1ノード+ 8 vCPU、16 GB  
オーバーヘッドを含む合計
最小ホスト数 = 3
24 vCPU、48 GB c5.2xlarge
(8vCPU/16 GB) x 3ノード
24 vCPU、48 GB
1時間あたり$1.02
アイドル設定(スケールイン)16 vCPU、32 GB c5.2xlargex 20.68ドル/時
note
EKSノードの自動スケーリングが採用されている場合、特に非稼働時間帯や週末は、平均負荷がこれより低くなる可能性があります。
Kubernetes以外のコンピュート参考 Arch Raw 合計AWS BOM
(AWS Quick Startで直接使用可能)
コスト例
US East, 3 AZ
費用例
米国東部、2 AZ
バスティオンホスト(クイックスタート)ASGの1 HAインスタンス t2.microはprod用、m4.2xlargeはパフォーマンステスト用  
PostgreSQL
AWS Amazon RDS PostgreSQLノードの設定(GPTテスト済み)。
2vCPU、7.5GB
Graviton ARMでテスト済み
db.r6g.largex 3ノード
(6vCPU、48GB)
3ノード x $0.26 = $0.78/時間3ノード x $0.26 = $0.78/時間
Redis1vCPU、3.75GB
(Redis Cache、Redis Queues/Shared State、Sentinel Cache、Sentinel Queues/Shared Stateを12ノードで使用)
cache.m6g.largex 3ノード
(6vCPU、19GB)
3ノード x $0.15 = $0.45/時間2ノード x $0.15 = $0.30/時間
Gitalyクラスター 詳細 GitalyとPraefectはHAのためにノード数が均等でない必要があります。   
Gitalyインスタンス(ASG内)12 vCPU、45GB
(3ノード間)
m5.xlargex 3ノード
(48 vCPU、180 GB)
0.192ドル×3=0.58ドル/時間0.192ドル×3=0.58ドル/時間
 2KのGitLabリファレンスアーキテクチャはHighly Availableではないため、Praefectがありません。AWS Quick Starts は HA でなければならないため、3K Ref Architecture の Praefect を実装しています。   
Praefect(ロードバランサーを使用したASG内のインスタンス)6 vCPU、10 GB
(3ノード間)
c5.largex 3ノード
(6 vCPU、12 GB)
0.09ドル×3=0.21ドル/時0.09ドル×3=0.21ドル/時
Praefect PostgreSQL(1)(AWS RDS)6 vCPU、5.4 GB
(3ノード間)
GitLab PostgreSQLを再利用。$0$0
内部負荷分散ノード2 vCPU、1.8 GBAWS ELB毎時$0.10毎時$0.10

EKSの3Kクラウドネイティブハイブリッド

EKS上の3Kクラウド・ネイティブ・ハイブリッド部品表(BOM)

GPTテスト結果

  • 3Kフル固定スケールGPTテスト結果

  • 25%からの3KオートスケールGPTテスト結果

    Elastic Auto Scale GPTテストの結果は、アイドル状態のクラスターから開始し、標準GPTテストを開始して、EKS Auto Scalerがパフォーマンス・テストの要求に十分対応できるかどうかを判断します。一般的に、これは、標準的な本番ワークロードによってランピングが駆動される場合に必要とされるスケーリングよりも大幅に難しいランピングです。

今すぐデプロイ

Deploy Nowリンクは、AWS Quick Start自動化を活用し、以下の部品表に基づいてQuick Start用のインスタンス数とインスタンスタイプのみを事前に入力します。その他のパラメータは、Quick Startドキュメントのデプロイ手順セクションのガイダンスに従って適切な入力を行う必要があります。

note
この表では比較のためにオンデマンド価格を使用していますが、GitLab本番インスタンスの予算編成やAWSリソースの購入には使用しないでください。代わりに、上記の “GitLab on AWS Compute “の表にあるAWS Calculatorのリンクを使い、希望の節約プランでカスタマイズしてください。

BOM Total:= Bill of Materials Total - この設定を構築する際に使用します。

Ref Arch Raw Total:= PaaSサービスなしの通常のVM上で設定を構築した場合の合計。純粋な VM 上で設定を行う場合、一般的にクラスター管理アクティビティのために追加の VM が必要になります。

Idle Configuration (Scaled-In)= 需要が少ない時にスケールインしたり、ウォームスタンバイのGeoインスタンスに使用できます。内部要件に合わせた EKS オートスケールの設定、テスト、および管理が必要です。

サービスレフアーチ・ロー(フルスケール)AWS BOMフルスケールコスト例
(オンデマンド、US East)
ウェブサービス 4 ポッドx(5 vCPU & 6.25 GB) =
20 vCPU、25 GB
  
Sidekiq 8 ポッドx(1 vCPU & 2 GB) =
8 vCPU、16 GB
  
NGINX、Prometheusなどのサービスをサポート 2 アロケーションx(2 vCPU、7.5 GB) =
4 vCPU、15 GB
  
GitLab Ref Arch K8s ノード総容量32 vCPU, 56 GB  
オーバーヘッドとその他(EKSクラスタAutoScaler、Grafana、Prometheusなど)のために1ノード+ 16 vCPU、32GB  
オーバーヘッドを含む総計 フルスケール
最小ホスト数 = 3
48 vCPU、88 GB c5.2xlarge(8vCPU/16 GB) x 5 ノード
40 vCPU、80 GB
フル固定スケール GPT テスト結果
1時間あたり$1.70
可能なアイドル設定(スケールイン75% - 切り上げ)
ポッドの自動スケーリングも調整して、より低いアイドル設定を可能にする必要があります。
24 vCPU、48 GBc5.2xlarge x 41時間あたり$1.36

グランドトータルを満たすために、ノードの種類と数量を他の組み合わせにすることもできます。ポッドの特性上、ホストが小さすぎると未使用の容量が大きくなることがあります。

note
EKSノードの自動スケーリングが採用されている場合、特に非稼働時間帯や週末は、平均負荷がこれより低くなる可能性があります。
Kubernetes以外のコンピュート参考 Arch Raw 合計AWS BOM
(AWS Quick Startで直接使用可能)
コスト例
US East, 3 AZ
費用例
米国東部、2 AZ
バスティオンホスト(クイックスタート)ASGの1 HAインスタンス t2.microはprod用、m4.2xlargeはパフォーマンステスト用  
PostgreSQL
Amazon RDS PostgreSQLノードの設定(GPTテスト済み)
18vCPU、36GB
(PostgreSQL、PgBouncer、Consul用に9ノード)
Graviton ARMでテスト済み。
db.r6g.xlargex 3ノード
(12vCPU、96GB)
3ノード x $0.52 = $1.56/時間3ノード x $0.52 = $1.56/時間
Redis6vCPU、18GB
(Redis Cache、Sentinel用に6ノード)
cache.m6g.largex 3ノード
(6vCPU、19GB)
3ノード x $0.15 = $0.45/時間2ノード x $0.15 = $0.30/時間
Gitalyクラスター 詳細     
Gitalyインスタンス(ASG内)12 vCPU、45GB
(3ノード間)
m5.largex 3ノード
(12 vCPU、48 GB)
0.192ドル×3=0.58ドル/時間GitalyとPraefectはHAのためにノード数が均等でない必要があります。
Praefect(ロードバランサーを使用したASG内のインスタンス)6 vCPU、5.4 GB
(3ノード間)
c5.largex 3ノード
(6 vCPU、12 GB)
0.09ドル×3=0.21ドル/時GitalyとPraefectはHAのためにノード数が均等でない必要があります。
Praefect PostgreSQL(1) (Amazon RDS)6 vCPU、5.4 GB
(3ノード間)
GitLab PostgreSQLを再利用。$0 
内部負荷分散ノード2 vCPU、1.8 GBAWS ELB毎時$0.10毎時$0.10

EKSの5Kクラウドネイティブハイブリッド

EKS上の5Kクラウド・ネイティブ・ハイブリッド部品表(BOM)

GPTテスト結果

  • 5Kフル固定スケールGPTテスト結果

  • 25%からの5KオートスケールGPTテスト結果

    Elastic Auto Scale GPTテストの結果は、アイドル状態のクラスターから開始し、標準GPTテストを開始して、EKS Auto Scalerがパフォーマンス・テストの要求に十分対応できるかどうかを判断します。一般的に、これは、標準的な本番ワークロードによってランピングが駆動される場合に必要とされるスケーリングよりも大幅に難しいランピングです。

今すぐデプロイ

Deploy Nowリンクは、AWS Quick Start自動化を活用し、以下の部品表に基づいてQuick Start用のインスタンス数とインスタンスタイプのみを事前に入力します。クイックスタートドキュメントのデプロイステップセクションのガイダンスに従って、他のすべてのパラメータに適切な入力を行う必要があります。

note
この表では比較のためにオンデマンド価格を使用していますが、GitLab本番インスタンスの予算編成やAWSリソースの購入には使用しないでください。代わりに、上記の “GitLab on AWS Compute “の表にあるAWS Calculatorのリンクを使い、希望の節約プランでカスタマイズしてください。

BOM Total:= Bill of Materials Total - この設定を構築する際に使用します。

Ref Arch Raw Total:= PaaSサービスなしの通常のVM上で設定を構築した場合の合計。純粋な VM 上で設定を行う場合、一般的にクラスター管理アクティビティのために追加の VM が必要になります。

Idle Configuration (Scaled-In)= 需要が少ない時にスケールインしたり、ウォームスタンバイのGeoインスタンスに使用できます。内部要件に合わせた EKS オートスケールの設定、テスト、および管理が必要です。

サービスレフアーチ・ロー(フルスケール)AWS BOMフルスケールコスト例
(オンデマンド、US East)
ウェブサービス 10 ポッドx(5 vCPU & 6.25GB) =
50 vCPU、62.5GB
  
Sidekiq 8 ポッドx(1 vCPU & 2 GB) =
8 vCPU、16 GB
  
NGINX、Prometheusなどのサービスをサポート 2 アロケーションx(2 vCPU、7.5 GB) =
4 vCPU、15 GB
  
GitLab Ref Arch K8s ノード総容量62 vCPU, 96.5 GB  
クイックスタートのオーバーヘッドとその他(EKS Cluster AutoScaler、Grafana、Prometheusなど)用に1ノード。+ 8 vCPU、16 GB  
オーバーヘッドを含む総計 フルスケール
最小ホスト数 = 3
70 vCPU、112.5 GB c5.2xlarge(8vCPU/16 GB) x 9 ノード
72 vCPU、144 GB
フル固定スケール GPT テスト結果
1時間あたり2.38ドル
可能なアイドル設定(スケールイン75% - 切り上げ)
ポッドの自動スケーリングも調整して、より低いアイドル設定を可能にする必要があります。
24 vCPU、48 GBc5.2xlarge x 71時間$1.85

グランド・トータルを満たすために、ノードの種類と数量を他の組み合わせにすることもできます。ポッドにはCPUとメモリが必要なため、ホストが小さすぎると未使用の容量が大きくなる可能性があります。

note
EKSノードの自動スケーリングが採用されている場合、特に非稼働時間帯や週末は、平均負荷がこれより低くなる可能性があります。
Kubernetes以外のコンピュート参考 Arch Raw 合計AWS BOM
(AWS Quick Startで直接使用可能)
コスト例
US East, 3 AZ
費用例
米国東部、2 AZ
バスティオンホスト(クイックスタート)ASGの1 HAインスタンス t2.microはprod用、m4.2xlargeはパフォーマンステスト用  
PostgreSQL
Amazon RDS PostgreSQLノードの設定(GPTテスト済み)
21vCPU、51GB
(PostgreSQL、PgBouncer、Consul用に9ノード)
Graviton ARMでテスト済み。
db.r6g.2xlargex 3ノード
(24vCPU、192GB)
3ノード x $1.04 = 3.12ドル/時3ノード x $1.04 = 3.12ドル/時
Redis9vCPU、27GB
(Redis、Sentinelの6ノード)
cache.m6g.xlargex 3ノード
(12vCPU、39GB)
3ノード x $0.30 = $0.90/時間2ノード x $0.30 = $0.60/時間
Gitalyクラスター 詳細     
Gitalyインスタンス(ASG内)24 vCPU、90GB
(3ノード間)
m5.2xlargex 3ノード
(24 vCPU、96GB)
0.384ドル x 3 = 1.15ドル/時間GitalyとPraefectはHAのためにノード数が均等でない必要があります。
Praefect(ロードバランサーを使用したASG内のインスタンス)6 vCPU、5.4 GB
(3ノード間)
c5.largex 3ノード
(6 vCPU、12 GB)
0.09ドル×3=0.21ドル/時GitalyとPraefectはHAのためにノード数が均等でない必要があります。
Praefect PostgreSQL(1) (Amazon RDS)6 vCPU、5.4 GB
(3ノード間)
GitLab PostgreSQLを再利用。$0 
内部負荷分散ノード2 vCPU、1.8 GBAWS ELB毎時$0.10毎時$0.10

EKS上の10Kクラウドネイティブハイブリッド

EKS上の10Kクラウド・ネイティブ・ハイブリッド部品表(BOM)

GPTテスト結果

  • 10Kフル固定スケールGPTテスト結果

  • 10K Elastic Auto Scale GPTテスト結果

    Elastic Auto Scale GPTテストの結果は、アイドル状態のクラスターから開始し、標準GPTテストを開始して、EKS Auto Scalerがパフォーマンス・テストの要求に十分対応できるかどうかを判断します。一般的に、これは、標準的な本番ワークロードによってランピングが駆動される場合に必要とされるスケーリングよりも大幅に難しいランピングです。

今すぐデプロイ

Deploy Nowリンクは、AWS Quick Start自動化を活用し、以下の部品表に基づいてQuick Start用のインスタンス数とインスタンスタイプのみを事前に入力します。クイックスタートドキュメントのデプロイステップセクションのガイダンスに従って、他のすべてのパラメータに適切な入力を行う必要があります。

note
この表では比較のためにオンデマンド価格を使用していますが、GitLab本番インスタンスの予算編成やAWSリソースの購入には使用しないでください。代わりに、上記の “GitLab on AWS Compute “の表にあるAWS Calculatorのリンクを使い、希望の節約プランでカスタマイズしてください。

BOM Total:= Bill of Materials Total - この設定を構築する際に使用します。

Ref Arch Raw Total:= PaaSサービスなしの通常のVM上で設定を構築した場合の合計。純粋な VM 上で設定を行う場合、一般的にクラスター管理アクティビティのために追加の VM が必要になります。

Idle Configuration (Scaled-In)= 需要が少ない時にスケールインしたり、ウォームスタンバイのGeoインスタンスに使用できます。内部要件に合わせた EKS オートスケールの設定、テスト、および管理が必要です。

サービスレフアーチ・ロー(フルスケール)AWS BOM
(AWS Quick Startで直接使用可能)
フルスケールコスト例
(オンデマンド、US East)
ウェブサービス 20 ポッドx(5 vCPU & 6.25 GB) =
100 vCPU、125 GB
  
Sidekiq 14 ポッドx(1 vCPU & 2 GB)
14 vCPU、28 GB
  
NGINX、Prometheusなどのサービスをサポート 2 アロケーションx(2 vCPU、7.5 GB)
4 vCPU、15 GB
  
GitLab Ref Arch K8s ノード総容量128 vCPU、158 GB  
オーバーヘッドとその他(EKSクラスタAutoScaler、Grafana、Prometheusなど)のために1ノード+ 16 vCPU、32GB  
オーバーヘッドを含む合計
最小ホスト数 = 3
142 vCPU、190 GB c5.4xlarge(16vCPU/32GB) x 9 ノード
144 vCPU、288GB

フル固定スケール GPT テスト結果
6.12ドル/時
可能なアイドル設定(スケールイン75% - 切り上げ)
ポッドの自動スケーリングも調整して、より低いアイドル設定を可能にする必要があります。
40 vCPU、80 GBc5.4xlarge x 7

Elastic Auto Scale GPTテスト結果
毎時4.76ドル

グランド・トータルを満たすために、ノードの種類と数量を他の組み合わせにすることもできます。ポッドにはCPUとメモリが必要なため、ホストが小さすぎると未使用の容量が大きくなる可能性があります。

note
EKSノードの自動スケーリングが採用されている場合、特に非稼働時間帯や週末は、平均負荷がこれより低くなる可能性があります。
Kubernetes以外のコンピュート参考 Arch Raw 合計AWS BOMコスト例
US East, 3 AZ
費用例
米国東部、2 AZ
バスティオンホスト(クイックスタート)ASGの1 HAインスタンス t2.microはprod用、m4.2xlargeはパフォーマンステスト用  
PostgreSQL
Amazon RDS PostgreSQLノードの設定(GPTテスト済み)
36vCPU、102GB
(PostgreSQL、PgBouncer、Consul用に9ノード)
db.r6g.2xlargex 3ノード
(24vCPU、192GB)
3ノード x $1.04 = 3.12ドル/時3ノード x $1.04 = 3.12ドル/時
Redis30vCPU、114GB
(Redis Cache、Redis Queues/Shared State、Sentinel Cache、Sentinel Queues/Shared Stateを12ノードで使用)
cache.m5.2xlargex 3ノード
(24vCPU、78GB)
3ノード x $0.62 = $1.86/時間2ノード x $0.62 = 1時間あたり$1.24
Gitalyクラスター 詳細     
Gitalyインスタンス(ASG内)48 vCPU、180 GB
(3ノード間)
m5.4xlargex 3ノード
(48 vCPU、180 GB)
0.77ドル x 3 = 2.31ドル/時間GitalyとPraefectはHAのためにノード数が均等でない必要があります。
Praefect(ロードバランサーを使用したASG内のインスタンス)6 vCPU、5.4 GB
(3ノード間)
c5.largex 3ノード
(6 vCPU、12 GB)
0.09ドル×3=0.21ドル/時GitalyとPraefectはHAのためにノード数が均等でない必要があります。
Praefect PostgreSQL(1) (Amazon RDS)6 vCPU、5.4 GB
(3ノード間)
GitLab PostgreSQLを再利用。$0 
内部負荷分散ノード2 vCPU、1.8 GBAWS ELB毎時$0.10毎時$0.10

50K EKS上のクラウドネイティブハイブリッド

EKS上の50Kクラウド・ネイティブ・ハイブリッド部品表(BOM)

GPTテスト結果

  • 50Kフル固定スケールGPTテスト結果

  • 50K Elastic Auto Scale GPTテスト結果

    Elastic Auto Scale GPTテストの結果は、アイドル状態のクラスターから開始し、標準GPTテストを開始して、EKS Auto Scalerがパフォーマンス・テストの要求に十分対応できるかどうかを判断します。一般的に、これは、標準的な本番ワークロードによってランピングが駆動される場合に必要とされるスケーリングよりも大幅に難しいランピングです。

今すぐデプロイ

Deploy Nowリンクは、AWS Quick Start自動化を活用し、以下の部品表に基づいてQuick Start用のインスタンス数とインスタンスタイプのみを事前に入力します。クイックスタートドキュメントのデプロイステップセクションのガイダンスに従って、他のすべてのパラメータに適切な入力を行う必要があります。

note
この表では比較のためにオンデマンド価格を使用していますが、GitLab本番インスタンスの予算編成やAWSリソースの購入には使用しないでください。代わりに、上記の “GitLab on AWS Compute “の表にあるAWS Calculatorのリンクを使い、希望の節約プランでカスタマイズしてください。

BOM Total:= Bill of Materials Total - この設定を構築する際に使用します。

Ref Arch Raw Total:= PaaSサービスなしの通常のVM上で設定を構築した場合の合計。純粋な VM 上で設定を行う場合、一般的にクラスター管理アクティビティのために追加の VM が必要になります。

Idle Configuration (Scaled-In)= 需要が少ない時にスケールインしたり、ウォームスタンバイのGeoインスタンスに使用できます。内部要件に合わせた EKS オートスケールの設定、テスト、および管理が必要です。

サービスレフアーチ・ロー(フルスケール)AWS BOM
(AWS Quick Startで直接使用可能)
フルスケールコスト例
(オンデマンド、US East)
ウェブサービス 80 ポッドx(5 vCPU & 6.25 GB) =
400 vCPU、500 GB
  
Sidekiq 14 ポッドx(1 vCPU & 2 GB)
14 vCPU、28 GB
  
NGINX、Prometheusなどのサービスをサポート 2 アロケーションx(2 vCPU、7.5 GB)
4 vCPU、15 GB
  
GitLab Ref Arch K8s ノード総容量428 vCPU, 533 GB  
オーバーヘッドとその他(EKSクラスタAutoScaler、Grafana、Prometheusなど)のために1ノード+ 16 vCPU、32GB  
オーバーヘッドを含む合計
最小ホスト数 = 3
444 vCPU、565 GB c5.4xlarge(16vCPU/32GB) x 28ノード
448 vCPU、896GB

フル固定スケールGPTテスト結果
19.04ドル/時
可能なアイドル設定(スケールイン75% - 切り上げ)
ポッドの自動スケーリングも調整して、より低いアイドル設定を可能にする必要があります。
40 vCPU、80 GBc5.2xlarge x 10

Elastic Auto Scale GPTテスト結果
6.80ドル/時

グランド・トータルを満たすために、ノードの種類と数量を他の組み合わせにすることもできます。ポッドにはCPUとメモリが必要なため、ホストが小さすぎると未使用の容量が大きくなる可能性があります。

note
EKSノードの自動スケーリングが採用されている場合、特に非稼働時間帯や週末は、平均負荷がこれより低くなる可能性があります。
Kubernetes以外のコンピュート参考 Arch Raw 合計AWS BOMコスト例
US East, 3 AZ
費用例
米国東部、2 AZ
バスティオンホスト(クイックスタート)ASGの1 HAインスタンス t2.microはprod用、m4.2xlargeはパフォーマンステスト用  
PostgreSQL
Amazon RDS PostgreSQLノードの設定(GPTテスト済み)
96vCPU、360GB
(3ノード間)
db.r6g.8xlargex 3ノード
(96vCPU、合計768GB)
3ノード x $4.15 = $12.45/hr3ノード x $4.15 = $12.45/hr
Redis30vCPU、114GB
(Redis Cache、Redis Queues/Shared State、Sentinel Cache、Sentinel Queues/Shared Stateを12ノードで使用)
cache.m6g.2xlargex 3ノード
(24vCPU、合計78GB)
3ノード x $0.60 = $1.80/hr2ノード x $0.60 = $1.20/hr
Gitalyクラスター 詳細     
Gitalyインスタンス(ASG内)64 vCPU、240GB x3ノード m5.16xlargex3ノード
(64 vCPU、各256GB)
3.07ドル x 3 = 9.21ドル/時間GitalyとPraefectはHAのためにノード数が均等でない必要があります。
Praefect(ロードバランサーを使用したASG内のインスタンス)4 vCPU、3.6 GB x3ノード c5.xlargex 3ノード
(4 vCPU、各8 GB)
0.17ドル x 3 = 0.51ドル/時間GitalyとPraefectはHAのためにノード数が均等でない必要があります。
Praefect PostgreSQL(1)(AWS RDS)2vCPU、1.8GB×3ノード GitLab PostgreSQLを再利用。$0 
内部負荷分散ノード2 vCPU、1.8 GBAWS ELB毎時$0.10毎時$0.10

リソース

免責事項:このページには、今後の製品、機能、特徴に関する情報が含まれています。掲載されている情報は、情報提供のみを目的としていることにご注意ください。購入や計画の目的でこの情報を鵜呑みにしないでください。すべてのプロジェクトと同様に、このページに記載されている項目は変更または遅れる可能性があります。製品、特徴、または機能の開発者、リリース者、およびリリース時期は、GitLab Inc.の独自の裁量に委ねられます。