> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-feat-cli-docs-generator.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# リファレンス アーキテクチャー

> W&B リファレンス アーキテクチャー

このページでは、Weights & Biasesデプロイメントのためのリファレンスアーキテクチャについて説明し、プラットフォームのプロダクションデプロイメントをサポートするための推奨インフラストラクチャとリソースを示します。

Weights & Biases（W\&B）のデプロイメント環境に応じて、デプロイメントのレジリエンスを高めるためのさまざまなサービスが利用できます。

たとえば、主要なクラウドプロバイダは、データベースの設定、保守、高可用性、レジリエンスの複雑さを軽減する堅牢な管理データベースサービスを提供しています。

このリファレンスアーキテクチャは、一般的なデプロイメントシナリオに対応し、クラウドベンダーのサービスとW\&Bデプロイメントを統合する方法を示します。

## 始める前に

プロダクション環境でアプリケーションを実行するには、それぞれの課題が伴い、W\&Bも例外ではありません。プロセスを簡素化しようとしていますが、個別のアーキテクチャや設計の決定に応じて、ある程度の複雑さが発生する場合があります。通常、プロダクションデプロイメントの管理には、ハードウェア、オペレーティングシステム、ネットワーキング、ストレージ、セキュリティ、W\&Bプラットフォーム自体、およびその他の依存関係を含むさまざまなコンポーネントの監督が含まれます。この責任は、環境の初期セットアップとその継続的な保守の両方に及びます。

W\&Bを自社で管理するアプローチが、あなたのチームが抱える特定の要件に適しているかどうかを慎重に検討してください。

プロダクションレベルのアプリケーションを実行および維持する方法についての強力な理解は、自己管理型のW\&Bをデプロイする前の重要な前提条件です。あなたのチームが支援を必要とする場合、弊社のプロフェッショナルサービスチームとパートナーが、実装と最適化のサポートを提供します。

自分で管理する代わりに、W\&Bの管理されたソリューションについて詳しく知るには、[W\&Bマルチテナントクラウド](/ja/platform/hosting/hosting-options/multi_tenant_cloud)および[W\&B専用クラウド](/ja/platform/hosting/hosting-options/dedicated_cloud)を参照してください。

## インフラストラクチャ

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/ieIe5bCVegZ3Xn7A/images/hosting/reference_architecture.png?fit=max&auto=format&n=ieIe5bCVegZ3Xn7A&q=85&s=a0141950bc92e8b13d4590f4b09bf1a3" alt="W&B infrastructure diagram" width="851" height="1151" data-path="images/hosting/reference_architecture.png" />
</Frame>

### アプリケーション層

アプリケーション層は、ノード障害に対するレジリエンスを備えたマルチノードKubernetesクラスターで構成されます。Kubernetesクラスターは、W\&Bのポッドを実行および管理します。

### ストレージ層

ストレージ層は、MySQLデータベースとオブジェクトストレージで構成されます。MySQLデータベースはメタデータを保存し、オブジェクトストレージはモデルやデータセットなどのアーティファクトを保存します。

## インフラストラクチャの要件

### Kubernetes

W\&Bサーバーアプリケーションは、複数のポッドをデプロイする[Kubernetesオペレーター](/ja/platform/hosting/operator/)としてデプロイされます。このため、W\&Bには以下の要件を備えたKubernetesクラスターが必要です：

* 完全に設定され機能するインフラストラクチャコントローラ。
* 永続ボリュームをプロビジョニングする能力。

### MySQL

W\&BはメタデータをMySQLデータベースに保存します。データベースのパフォーマンスとストレージの要件は、モデルパラメータの形状と関連するメタデータに依存します。たとえば、トレーニングランをより多くトラッキングするにつれてデータベースはサイズが成長し、ランテーブル、ユーザーワークスペース、およびレポートにおけるクエリに基づいてデータベースの負荷は増加します。

自己管理型のMySQLデータベースをデプロイするときは、以下の点を考慮してください：

* **バックアップ**. データベースを別の施設に周期的にバックアップするべきです。W\&Bは、少なくとも1週間の保持で、毎日のバックアップを推奨します。
* **パフォーマンス**. サーバーが稼働しているディスクは高速であるべきです。W\&Bは、データベースをSSDまたは加速されたNASで実行することを推奨しています。
* **モニタリング**. データベースは負荷に対して監視されるべきです。システムのCPU使用率が5分以上持続的に40%を超える場合、サーバーがリソース不足であることを示している可能性があります。
* **可用性**. 可用性と耐久性の要件によって、プライマリサーバーからリアルタイムですべての更新をストリーミングし、プライマリサーバーがクラッシュするか破損するイベントに備えてフェイルオーバーできるホットスタンバイを別のマシンで設定することを検討するかもしれません。

### オブジェクトストレージ

W\&Bは、Pre-signed URLとCORSサポートのあるオブジェクトストレージを必要とし、次のいずれかにデプロイします：

* Amazon S3
* Azure Cloud Storage
* Google Cloud Storage
* Amazon S3互換のストレージサービス

### バージョン

| ソフトウェア     | 最小バージョン               |
| ---------- | --------------------- |
| Kubernetes | v1.29                 |
| MySQL      | v8.0.0, "一般可用性"リリースのみ |

### ネットワーク

ネットワークデプロイメントの際、インストール中およびランタイム中にこれらのエンドポイントへのエージェントのアクセスが必要です:

* [https://deploy.wandb.ai](https://deploy.wandb.ai)
* [https://charts.wandb.ai](https://charts.wandb.ai)
* [https://docker.io](https://docker.io)
* [https://quay.io](https://quay.io)
* `https://gcr.io`

エアギャップデプロイメントについて知るには、[エアギャップインスタンス用Kubernetesオペレーター](/ja/platform/hosting/self-managed/operator-airgapped/)を参照してください。
トレーニングインフラストラクチャと実験のニーズを追跡する各システムにおいて、W\&Bおよびオブジェクトストレージへのアクセスが必要です。

### DNS

W\&Bデプロイメントの完全修飾ドメイン名（FQDN）は、Aレコードを使用してインフラストラクチャのIPアドレスに解決する必要があります。

### SSL/TLS

W\&Bは、クライアントとサーバー間の安全な通信のために、有効な署名されたSSL/TLS証明書を必要とします。SSL/TLSの終端は、インフラストラクチャで行われる必要があります。W\&Bサーバーアプリケーションは、SSLまたはTLS接続を終了しません。

ご注意: W\&Bは自己署名証明書およびカスタムCAの使用を推奨していません。

### 対応するCPUアーキテクチャ

W\&BはIntel（x86）CPUアーキテクチャ上で実行されます。ARMはサポートされていません。

## インフラストラクチャのプロビジョニング

Terraformはプロダクション用にW\&Bをデプロイするために推奨される方法です。Terraformを使用すると、必要なリソース、それらの他のリソースへの参照、および依存関係を定義できます。W\&Bは主要なクラウドプロバイダ向けにTerraformモジュールを提供しています。詳細については、[自己管理型クラウドアカウントでW\&Bサーバーをデプロイする方法](/ja/platform/hosting/hosting-options/self-managed#deploy-wb-server-within-Self-Managed-cloud-accounts)を参照してください。

## サイズ調整

デプロイメントを計画する際の出発点として、以下の一般的なガイドラインを使用してください。W\&Bは、新しいデプロイメントのすべてのコンポーネントを厳密に監視し、観察された使用パターンに基づいて調整を行うことを推奨します。時間をかけてプロダクションデプロイメントを監視し、最適なパフォーマンスを維持するために必要に応じて調整を行い続けてください。

### Modelsのみ

#### Kubernetes

| 環境      | CPU     | メモリ   | ディスク   |
| ------- | ------- | ----- | ------ |
| テスト・開発  | 2 cores | 16 GB | 100 GB |
| プロダクション | 8 cores | 64 GB | 100 GB |

数字はKubernetesワーカーノードごとです。

#### MySQL

| 環境      | CPU     | メモリ   | ディスク   |
| ------- | ------- | ----- | ------ |
| テスト・開発  | 2 cores | 16 GB | 100 GB |
| プロダクション | 8 cores | 64 GB | 500 GB |

数字はMySQLノードごとです。

### Weaveのみ

#### Kubernetes

| 環境      | CPU      | メモリ   | ディスク   |
| ------- | -------- | ----- | ------ |
| テスト・開発  | 4 cores  | 32 GB | 100 GB |
| プロダクション | 12 cores | 96 GB | 100 GB |

数字はKubernetesワーカーノードごとです。

#### MySQL

| 環境      | CPU     | メモリ   | ディスク   |
| ------- | ------- | ----- | ------ |
| テスト・開発  | 2 cores | 16 GB | 100 GB |
| プロダクション | 8 cores | 64 GB | 500 GB |

数字はMySQLノードごとです。

### ModelsとWeave

#### Kubernetes

| 環境      | CPU      | メモリ    | ディスク   |
| ------- | -------- | ------ | ------ |
| テスト・開発  | 4 cores  | 32 GB  | 100 GB |
| プロダクション | 16 cores | 128 GB | 100 GB |

数字はKubernetesワーカーノードごとです。

#### MySQL

| 環境      | CPU     | メモリ   | ディスク   |
| ------- | ------- | ----- | ------ |
| テスト・開発  | 2 cores | 16 GB | 100 GB |
| プロダクション | 8 cores | 64 GB | 500 GB |

数字はMySQLノードごとです。

## クラウドプロバイダーインスタンスの推奨

### サービス

| クラウド  | Kubernetes | MySQL                    | オブジェクトストレージ                |
| ----- | ---------- | ------------------------ | -------------------------- |
| AWS   | EKS        | RDS Aurora               | S3                         |
| GCP   | GKE        | Google Cloud SQL - Mysql | Google Cloud Storage (GCS) |
| Azure | AKS        | Azure Database for Mysql | Azure Blob Storage         |

### マシンタイプ

これらの推奨事項は、クラウドインフラストラクチャ内でのW\&Bの自己管理型デプロイメントの各ノードに適用されます。

#### AWS

| 環境      | K8s (Modelsのみ) | K8s (Weaveのみ) | K8s (Models\&Weave) | MySQL          |
| ------- | -------------- | ------------- | ------------------- | -------------- |
| テスト・開発  | r6i.large      | r6i.xlarge    | r6i.xlarge          | db.r6g.large   |
| プロダクション | r6i.2xlarge    | r6i.4xlarge   | r6i.4xlarge         | db.r6g.2xlarge |

#### GCP

| 環境      | K8s (Modelsのみ) | K8s (Weaveのみ) | K8s (Models\&Weave) | MySQL           |
| ------- | -------------- | ------------- | ------------------- | --------------- |
| テスト・開発  | n2-highmem-2   | n2-highmem-4  | n2-highmem-4        | db-n1-highmem-2 |
| プロダクション | n2-highmem-8   | n2-highmem-16 | n2-highmem-16       | db-n1-highmem-8 |

#### Azure

| 環境      | K8s (Modelsのみ)   | K8s (Weaveのみ)     | K8s (Models\&Weave) | MySQL                  |
| ------- | ---------------- | ----------------- | ------------------- | ---------------------- |
| テスト・開発  | Standard\_E2\_v5 | Standard\_E4\_v5  | Standard\_E4\_v5    | MO\_Standard\_E2ds\_v4 |
| プロダクション | Standard\_E8\_v5 | Standard\_E16\_v5 | Standard\_E16\_v5   | MO\_Standard\_E8ds\_v4 |
