このページでは、W&B セルフマネージドをデプロイするために必要なインフラストラクチャーとソフトウェアの要件について説明します。これは、セルフマネージドのインストールを計画しているプラットフォームおよびインフラストラクチャーエンジニアを対象としています。デプロイを開始する前に、これらの要件を確認し、お使いの環境が W&B Server をサポートできることを確かめてください。
アーキテクチャに関する完全なガイダンスについては、リファレンスアーキテクチャを参照してください。
| ソフトウェア | 最小バージョン |
|---|
| Kubernetes | v1.34 以降 (サポートされる Kubernetes バージョン) |
| Helm | v3.x |
| MySQL | W&B Self-Managed のデプロイでは、セキュリティパッチと重大なバグ修正が提供される、サポート対象の MySQL バージョンを実行する必要があります。MySQL 8.4.x をインストールまたはアップグレードするか、プロバイダのドキュメントでサポート対象かつパッチ適用済みとされているマネージドサービスのバージョンを使用してください。 Aurora MySQL のバージョン文字列は、コミュニティ版 MySQL のバージョンとは異なります。完全な推論エンジンのバージョン文字列を確認するには SELECT version() を、Aurora のバージョンを確認するには SELECT aurora_version() を使用してください。Aurora MySQL version 3 は MySQL 8.0.x と互換性があり、引き続きサポートされています。対象のバージョンを選択する際は、Amazon Aurora versioning とご利用の cloud provider のドキュメントを参照してください。 |
| Redis | v7.x |
CPU アーキテクチャ: W&B は Intel (x86) CPU アーキテクチャでのみ動作します。ARM はサポートされていません。
サイジング: Kubernetes ノードと MySQL の CPU、メモリ、ディスクのサイジング推奨事項については、リファレンスアーキテクチャの サイジング セクション を参照してください。要件は、Models、Weave、またはその両方を実行するかどうかによって異なります。
ユースケース (Models のみ、Weave のみ、またはその両方) に応じた詳細なサイジングの推奨事項については、リファレンスアーキテクチャのサイジングセクションを参照してください。
W&B Server は、複数の pod を管理する Kubernetes Operator としてデプロイされます。Kubernetes cluster は、次の要件を満たしている必要があります。
- Version: 前述の ソフトウェアのバージョン要件 セクションを参照してください。
- Ingress controller: 適切に設定され、正常に動作する ingress controller (Nginx、Istio、Traefik、または cloud provider ingress)。
- Persistent volumes: persistent volumes をプロビジョニングできること。
- CPU architecture: Intel または AMD の 64 ビット (ARM はサポートされていません)。
W&B は、クラウド、オンプレミス、air-gapped 環境の OpenShift Kubernetes clusters へのデプロイをサポートしています。具体的な設定手順については、Operator ガイドの OpenShift section を参照してください。
ロードバランサー と ingress の設定を含む Kubernetes の完全な要件については、リファレンスアーキテクチャ Kubernetes section を参照してください。
W&B では、外部の MySQL データベースが必要です。
本番環境では、W&B はマネージドデータベースサービスの利用を推奨しています。
マネージドデータベースサービスには、自動バックアップ、監視、高可用性、パッチ適用の機能があり、運用負荷を軽減できます。
MySQL の要件 (推奨サイジングや設定パラメーターを含む) については、リファレンスアーキテクチャを参照してください。データベースを作成するための SQL については、ベアメタルガイドを参照してください。デプロイ環境のデータベース設定に関するご質問は、サポートまたは担当の AISE までお問い合わせください。
W&B では、本番デプロイには AWS RDS Aurora MySQL、Google Cloud SQL for MySQL、Azure Database for MySQL などのマネージドデータベースサービスの利用を推奨しています。マネージドサービスでは、自動バックアップ、監視、高可用性、パッチ適用が提供されるため、運用の複雑さを軽減できます。
独自の MySQL インスタンスを使用している場合は、W&B Server との互換性を確保するため、MySQL を次の設定で構成してください。
binlog_format = 'ROW'
binlog_row_image = 'MINIMAL'
innodb_flush_log_at_trx_commit = 1
innodb_online_alter_log_max_size = 268435456
max_prepared_stmt_count = 1048576
sort_buffer_size = '67108864'
sync_binlog = 1
W&B は、パフォーマンスと信頼性を確保するためにこれらの設定を検証しています。
データベースを自動的にプロビジョニングするマネージド MySQL サービスを使用していない場合は、次の手順に従って、W&B Server が使用する MySQL データベースとユーザーを手動で作成してください。
次の SQL コマンドを使用して、データベースとユーザーを作成します。[PASSWORD] は、強力なパスワードに置き換えてください。
CREATE USER 'wandb_local'@'%' IDENTIFIED BY '[PASSWORD]';
CREATE DATABASE wandb_local CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON wandb_local.* TO 'wandb_local'@'%' WITH GRANT OPTION;
バックアップ、パフォーマンス、モニタリング、可用性などの追加事項については、リファレンスアーキテクチャの MySQL セクションを参照してください。
W&B Server は、キャッシュおよびバックグラウンドジョブの調整に Redis を使用します。
W&B は単一ノードの Redis 7.x デプロイに依存しており、W&B の components はこれをジョブキューイングとデータのキャッシュに使用します。テストや概念実証の用途では、W&B Self-Managed にローカル Redis デプロイが含まれています。このバンドル版のデプロイは、本番環境での使用には適していません。
本番デプロイでは、W&B は次の環境にある Redis instance に接続できます。
W&B は、次のいずれかの環境にある Redis インスタンスに接続できます。
W&B Server では、アーティファクト、メディア、run データを保存するためのオブジェクトストレージバケットが必要です。
W&B では、事前署名付き URL と CORS をサポートするオブジェクトストレージが必要です。
W&B は、次のストレージプロバイダを推奨しています。
MinIO Open Source は現在メンテナンスモードであり、アクティブな開発は行われておらず、事前コンパイル済みバイナリも提供されていません。本番環境へのデプロイでは、W&B は、マネージドオブジェクトストレージサービス、または MinIO Enterprise (AIStor) などのエンタープライズ S3互換ソリューションを推奨しています。
プロバイダを選択したら、W&B がアクセスできるようにバケットを設定してください。IAM ポリシー、CORS 設定、アクセス設定を含むバケットの詳細なプロビジョニング手順については、Bring Your Own Bucket (BYOB) ガイドを参照してください。
容量やパフォーマンスに関するガイダンスを含む、オブジェクトストレージ要件の完全な一覧については、リファレンスアーキテクチャのオブジェクトストレージ セクションを参照してください。
W&B を設定する前に、必須の IAM ポリシー、CORS 設定、アクセス認証情報を用意して、オブジェクトストレージバケットをプロビジョニングしてください。
以下についての詳細な step ごとのプロビジョニング手順は、Bring Your Own Bucket (BYOB) ガイド を参照してください。
- Amazon S3 (IAM ポリシーとバケットポリシーを含む)
- Google Cloud Storage (PubSub 通知を含む)
- Azure Blob Storage (マネージド ID を含む)
- CoreWeave AI Object Storage
- S3 互換ストレージ (MinIO Enterprise、NetApp StorageGRID、その他のエンタープライズソリューション)
バケットをプロビジョニングしたら、W&B Server がそのバケットへの読み取りと書き込みを行えるように、Operator の Helm values で W&B がそのバケットを使用するように設定する必要があります。詳細は、Operator のオブジェクトストレージ設定セクションを参照してください。
ネットワーク設定では、W&B Server をユーザーや機械学習ワークロードから利用できるようにします。以下のセクションでは、DNS、ロードバランサー、ingressの要件について説明します。
ネットワーク接続されたデプロイでは、インストール時とランタイム時の両方で、以下のエンドポイントへのアウトバウンド通信を許可してください。
https://deploy.wandb.ai
https://charts.wandb.ai
https://quay.io (Prometheus イメージで使用)
追加のコンテナーレジストリが必要になる場合があります。必要かどうかはデプロイ設定によって異なります。
- Weave のオンライン評価用に Bufstream と etcd をデプロイする場合は、
https://gcr.io が必要です。
エアギャップ環境でのデプロイについては、エアギャップ環境向け Kubernetes Operatorを参照してください。
トレーニングインフラストラクチャーと各実験管理システムに、W&B とオブジェクトストレージへのアクセスを付与してください。
W&Bデプロイの完全修飾ドメイン名 (FQDN) は、Aレコードで ingress または ロードバランサー のIPアドレスに名前解決されている必要があります。
W&B Kubernetes Operator は、URL パスに基づいてサービスエンドポイントにルーティングする Kubernetes ingress controller を使用して、サービスを公開します。ingress controller には、機械学習のペイロードを実行するすべてのマシン、および Web ブラウザー経由でサービスにアクセスするすべてのマシンからアクセスできる必要があります。
ロードバランサーの詳細なオプション、ingress controller の要件、設定例については、リファレンスアーキテクチャのロードバランンサーセクションを参照してください。
W&B では、クライアントとサーバー間の安全な通信のために、有効な署名付き SSL/TLS 証明書が必要です。SSL/TLS の終端は ingress または load balancer で行う必要があります。W&B Server アプリケーション自体は、SSL または TLS 接続を終端しません。
W&B は自己署名証明書またはカスタム CA をサポートしていません。自己署名証明書を使用するとユーザーに問題が生じるため、サポート対象外です。
可能であれば、Let’s Encrypt のようなサービスを使用して、load balancer に信頼できる証明書を提供するのが効果的です。Caddy や Cloudflare のようなサービスを使えば、SSL を代わりに管理できます。
セキュリティポリシーで、信頼できるネットワーク内でも SSL 通信が必要な場合は、Istio のようなツールや side car containers の使用を検討してください。
すべてのセルフマネージド環境へのデプロイには、有効な W&B Server ライセンスが必須です。ライセンスがない場合、W&B Server を起動できません。
W&B Self-Managed をデプロイするには、W&B ライセンスが必要です。この手順では、その取得方法を説明します。
- まだ W&B アカウントをお持ちでない場合は、作成してください。
- エンタープライズ向け試用ライセンスが必要な場合は、リクエストを送信するか、W&B チームにお問い合わせください。エンタープライズ向け試用ライセンスには、重要なセキュリティ機能やその他のエンタープライズ向け機能のサポートが含まれます。
- それ以外の場合は、Deploy Manager を開いて無料の試用ライセンスを生成します。この URL から W&B Local のライセンスを取得 フォームにリダイレクトされます。次の情報を入力してください。
- ライセンス所有者
- デプロイ タイプ
- インスタンスの名と任意の説明
- Generate License Key をクリックします。
デプロイの概要と、関連付けられたライセンスが表示されるページが表示されます。
インフラストラクチャーがこれらの要件を満たしていることを確認したら、ご利用の環境に対応するデプロイガイドに進んでください。