- リファレンスアーキテクチャのサイズ別のテスト済みAWS部品表
- GitLabクラウドネイティブハイブリッドで利用可能なInfrastructure as Code
- すべてのGitLab実装のためのAWS PaaSの認定
- GitLab クラウドネイティブハイブリッド on AWS
- リソース
を参照してください。
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) |
3K | 3Kベースライン | 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) |
5K | 5Kベースライン | 5K EKS上のクラウドネイティブハイブリッド |
5Kフル固定スケールGPTテスト結果 5K 25%GPTからのオートスケール テスト結果 | 1年間のEc2コンピューティングの節約 + 1年間のRDSとElastiCache RI |
10K | 10Kベースライン | EKS上の10Kクラウドネイティブハイブリッド |
10Kフル固定スケールGPTテスト結果 10K Elastic Auto Scale GPTテスト結果 | 10K 1年間のEc2コンピューティングの節約 + 1年間のRDSおよびElastiCache RI |
50K | 50K ベースライン | 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) | はい |
DNS | AWS Route53(テスト済み) | はい |
GitLabとインフラログの集約 | AWS CloudWatchログ | あり(EKS向けContainerInsightsエージェント) |
インフラパフォーマンスメトリクス | AWS CloudWatchメトリクス | はい |
補足サービスと設定(テスト済み) | ||
GitLab 用 Prometheus | AWS EKS (クラウドネイティブのみ) | はい |
GitLabのためのGrafana | AWS 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
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 | ||
Sidekiq | 2 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 2 | 0.68ドル/時 |
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/時間 |
Redis | 1vCPU、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 GB | AWS ELB | 毎時$0.10 | 毎時$0.10 |
EKSの3Kクラウドネイティブハイブリッド
EKS上の3Kクラウド・ネイティブ・ハイブリッド部品表(BOM)
GPTテスト結果
-
Elastic Auto Scale GPTテストの結果は、アイドル状態のクラスターから開始し、標準GPTテストを開始して、EKS Auto Scalerがパフォーマンス・テストの要求に十分対応できるかどうかを判断します。一般的に、これは、標準的な本番ワークロードによってランピングが駆動される場合に必要とされるスケーリングよりも大幅に難しいランピングです。
今すぐデプロイ
Deploy Nowリンクは、AWS Quick Start自動化を活用し、以下の部品表に基づいてQuick Start用のインスタンス数とインスタンスタイプのみを事前に入力します。その他のパラメータは、Quick Startドキュメントのデプロイ手順セクションのガイダンスに従って適切な入力を行う必要があります。
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 GB | c5.2xlarge x 4 | 1時間あたり$1.36 |
グランドトータルを満たすために、ノードの種類と数量を他の組み合わせにすることもできます。ポッドの特性上、ホストが小さすぎると未使用の容量が大きくなることがあります。
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/時間 |
Redis | 6vCPU、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 GB | AWS ELB | 毎時$0.10 | 毎時$0.10 |
EKSの5Kクラウドネイティブハイブリッド
EKS上の5Kクラウド・ネイティブ・ハイブリッド部品表(BOM)
GPTテスト結果
-
Elastic Auto Scale GPTテストの結果は、アイドル状態のクラスターから開始し、標準GPTテストを開始して、EKS Auto Scalerがパフォーマンス・テストの要求に十分対応できるかどうかを判断します。一般的に、これは、標準的な本番ワークロードによってランピングが駆動される場合に必要とされるスケーリングよりも大幅に難しいランピングです。
今すぐデプロイ
Deploy Nowリンクは、AWS Quick Start自動化を活用し、以下の部品表に基づいてQuick Start用のインスタンス数とインスタンスタイプのみを事前に入力します。クイックスタートドキュメントのデプロイステップセクションのガイダンスに従って、他のすべてのパラメータに適切な入力を行う必要があります。
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 GB | c5.2xlarge x 7 | 1時間$1.85 |
グランド・トータルを満たすために、ノードの種類と数量を他の組み合わせにすることもできます。ポッドにはCPUとメモリが必要なため、ホストが小さすぎると未使用の容量が大きくなる可能性があります。
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ドル/時 |
Redis | 9vCPU、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 GB | AWS ELB | 毎時$0.10 | 毎時$0.10 |
EKS上の10Kクラウドネイティブハイブリッド
EKS上の10Kクラウド・ネイティブ・ハイブリッド部品表(BOM)
GPTテスト結果
-
10K Elastic Auto Scale GPTテスト結果
Elastic Auto Scale GPTテストの結果は、アイドル状態のクラスターから開始し、標準GPTテストを開始して、EKS Auto Scalerがパフォーマンス・テストの要求に十分対応できるかどうかを判断します。一般的に、これは、標準的な本番ワークロードによってランピングが駆動される場合に必要とされるスケーリングよりも大幅に難しいランピングです。
今すぐデプロイ
Deploy Nowリンクは、AWS Quick Start自動化を活用し、以下の部品表に基づいてQuick Start用のインスタンス数とインスタンスタイプのみを事前に入力します。クイックスタートドキュメントのデプロイステップセクションのガイダンスに従って、他のすべてのパラメータに適切な入力を行う必要があります。
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 GB | c5.4xlarge x 7 Elastic Auto Scale GPTテスト結果 | 毎時4.76ドル |
グランド・トータルを満たすために、ノードの種類と数量を他の組み合わせにすることもできます。ポッドにはCPUとメモリが必要なため、ホストが小さすぎると未使用の容量が大きくなる可能性があります。
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ドル/時 |
Redis | 30vCPU、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 GB | AWS ELB | 毎時$0.10 | 毎時$0.10 |
50K EKS上のクラウドネイティブハイブリッド
EKS上の50Kクラウド・ネイティブ・ハイブリッド部品表(BOM)
GPTテスト結果
-
50K Elastic Auto Scale GPTテスト結果
Elastic Auto Scale GPTテストの結果は、アイドル状態のクラスターから開始し、標準GPTテストを開始して、EKS Auto Scalerがパフォーマンス・テストの要求に十分対応できるかどうかを判断します。一般的に、これは、標準的な本番ワークロードによってランピングが駆動される場合に必要とされるスケーリングよりも大幅に難しいランピングです。
今すぐデプロイ
Deploy Nowリンクは、AWS Quick Start自動化を活用し、以下の部品表に基づいてQuick Start用のインスタンス数とインスタンスタイプのみを事前に入力します。クイックスタートドキュメントのデプロイステップセクションのガイダンスに従って、他のすべてのパラメータに適切な入力を行う必要があります。
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 GB | c5.2xlarge x 10 Elastic Auto Scale GPTテスト結果 | 6.80ドル/時 |
グランド・トータルを満たすために、ノードの種類と数量を他の組み合わせにすることもできます。ポッドにはCPUとメモリが必要なため、ホストが小さすぎると未使用の容量が大きくなる可能性があります。
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/hr | 3ノード x $4.15 = $12.45/hr |
Redis | 30vCPU、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/hr | 2ノード 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 GB | AWS ELB | 毎時$0.10 | 毎時$0.10 |
リソース
免責事項:このページには、今後の製品、機能、特徴に関する情報が含まれています。掲載されている情報は、情報提供のみを目的としていることにご注意ください。購入や計画の目的でこの情報を鵜呑みにしないでください。すべてのプロジェクトと同様に、このページに記載されている項目は変更または遅れる可能性があります。製品、特徴、または機能の開発者、リリース者、およびリリース時期は、GitLab Inc.の独自の裁量に委ねられます。