すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:マネージド Ray サービス

最終更新日:Jun 23, 2026

AnalyticDB Ray は、AnalyticDB for MySQL が提供するフルマネージドの Ray サービスです。このサービスは、カーネルパフォーマンスの向上と運用管理の簡素化により、オープンソースの Ray を強化・最適化します。AnalyticDB Ray は、マルチモーダル処理、検索とレコメンデーション、金融リスク管理などの複雑な AI シナリオ向けに設計されています。企業が統合された Data + AI アーキテクチャを効率的に構築し、AI アプリケーションを大規模にデプロイするのに役立ちます。

前提条件

AnalyticDB for MySQL の Enterprise Edition、Basic Edition、または Data Lakehouse Edition クラスターが作成されていること。

AnalyticDB Ray とは

オープンソースの Ray は、AI とハイパフォーマンスコンピューティング (HPC) 向けに設計された分散コンピューティングフレームワークです。シンプルな API 抽象化を使用して、効率的な分散スケジューリングを実現します。わずか数行のコードでシングルマシンタスクを数千ノードのクラスターにスケールアップし、ローカル関数を呼び出すかのようにリモートリソースをスケジュールできます。Ray Tune、Ray Train、Ray Serve などの組み込みモジュールは、TensorFlow や PyTorch などのフレームワークとシームレスに互換性があります。活発なオープンソースコミュニティと Anyscale などの企業に支えられ、Ray は AI アプリケーションを構築するための重要なツールとなっています。

オープンソースの Ray は非常に柔軟な分散コンピューティング機能を提供しますが、企業は本番環境で依然として課題に直面しています。これらの課題には、分散ジョブの最適化、詳細なリソーススケジューリング、複雑なクラスターの運用保守 (O&M)、システムの安定性と高可用性の確保などがあります。

これらの課題に対処するため、AnalyticDB for MySQL は、フルマネージドの Ray サービスである AnalyticDB Ray (ADB Ray) を導入しました。ADB Ray は、オープンソース Ray の豊富なエコシステムを基盤としています。マルチモーダル処理、エンボディードインテリジェンス、検索とレコメンデーション、金融リスク管理などのシナリオで実績があります。ADB Ray は Ray カーネルとそのサービス機能を強化し、カーネルパフォーマンスを最適化し、クラスターの O&M を簡素化します。また、AnalyticDB for MySQL のデータレイクハウスプラットフォームとシームレスに統合されます。この統合により、企業は Data + AI アーキテクチャを構築し、エンタープライズ AI の大規模なデプロイを加速できます。

課金詳細

Ray クラスターリソースグループの作成には、次のように課金されます。

  • Worker ディスク容量は、設定されたストレージ容量に基づいて課金されます。

  • Worker リソースタイプが CPU に設定されている場合、使用された弾性リソースグループ ACU の数に基づいて課金されます。

  • Worker リソースタイプが GPU に設定されている場合、GPU の仕様と数量に基づいて課金されます。

注意事項

  • ワーカーノードの削除または再起動には、以下の影響があります。予期しないデータ損失やジョブの失敗を防ぐため、Ray クラスターリソースグループのワーカー設定の変更はオフピーク時に行い、再起動が予定されているワーカーノードへのジョブのスケジューリングは避けてください。

    • ワーカーノードで実行中の Driver、Actor、Task は失敗します。ただし、Ray は Actor と Task を自動的に再送信します。

    • Ray 分散オブジェクトストア内のデータは失われます。再起動したワーカー上のデータに依存する他の Task がある場合、それらの Task も失敗します。

  • リソースグループの変更:

    • リソースグループの削除:リソースグループでタスクが実行中の場合、グループを削除するとタスクは中断されます。

    • ワーカーグループの削除:Ray クラスターリソースグループ内のワーカーグループを削除すると、ワーカーノードが削除されます。詳細については、「ワーカーノード削除の影響」をご参照ください。

    • ワーカー数の変更:新しいワーカーの最大数以前のワーカーの最小数よりも少ない場合、ワーカーノードが削除されます。詳細については、「ワーカーノード削除の影響」をご参照ください。

    • その他の設定変更:ワーカーの最小数とワーカーの最大数以外のパラメーター (ヘッドリソースタイプワーカーリソースタイプなど) を変更すると、対応するワーカーグループのヘッドノードまたはワーカーノードが再起動します。詳細については、「ワーカーノード再起動の影響」をご参照ください。

  • オートスケーリング:

    • Ray クラスターは、物理リソースの使用率ではなく、論理リソースの要求に基づいてスケールアウトします。そのため、物理リソースの使用率が低くても、Ray クラスターがオートスケーリングをトリガーする場合があります。

    • 一部のサードパーティアプリケーションは、リソースを完全に利用するために、できるだけ多くの Task を作成します。オートスケーリングが有効になっている場合、多くの Task が作成され、Ray はすぐに最大サイズまでスケールアウトします。そのため、サードパーティのプログラムを実行する前に、Task を作成する内部ロジックを理解し、不要なリソース消費を避けるようにしてください。

  • 災害復旧:ADB Ray は Redis ベースの災害復旧メカニズムを使用しています。このメカニズムにより、ヘッドノードが再起動した場合でも、Ray クラスターの状態、Actor の状態、Task の状態を回復できます。

Ray サービスの作成

  1. AnalyticDB for MySQL コンソールにログインします。コンソールの左上でリージョンを選択します。左側のナビゲーションウィンドウで クラスターリスト をクリックします。管理したいクラスターを見つけ、クラスター ID をクリックします。

  2. 左側のナビゲーションウィンドウで、クラスター管理 > リソース管理 を選択します。リソースグループ管理 タブをクリックします。次に、リソースグループリストの右上隅にある 新規リソースグループ をクリックします。

  3. リソースグループに名前を付け、タスクタイプ[AI] に設定し、以下のパラメーターを設定します。

    パラメーター

    説明

    デプロイモード

    リソースグループのデプロイモードです。[RayCluster] を選択します。

    ヘッドリソース仕様

    ヘッドノードは Ray メタデータの管理、Global Control Store (GCS) サービスの実行、タスクのスケジューリングを担当しますが、タスクは実行しません。

    ヘッドリソース仕様は CPU コア数を指します。small、m.xlarge、m.2xlarge などの仕様を選択できます。CPU コア数は、ヘッドリソース仕様と Spark リソース仕様で同じです。詳細については、「Spark リソース仕様」をご参照ください。

    重要

    ヘッドノードはジョブのスケジューリングを担当します。Ray クラスター全体の規模に基づいてヘッドリソース仕様を選択してください。

    ワーカーグループ名

    ワーカーグループの名前です。1 つの AI リソースグループに、異なる名前の複数のワーカーグループを設定できます。

    ワーカーリソースタイプ

    ワーカーグループのタイプです。有効な値:[CPU][GPU]

    • 業務に日常的な計算タスク、マルチタスキング、または複雑な論理演算が含まれる場合は、[CPU] を選択することを推奨します。

    • 業務に大規模なデータ並列処理、機械学習、またはディープラーニングのトレーニングが含まれる場合は、[GPU] を選択することを推奨します。

    ワーカーリソース仕様

    • ワーカーリソースタイプパラメーターを [CPU] に設定した場合、small、m.xlarge、m.2xlarge などの仕様を選択できます。CPU コア数は、ヘッドリソース仕様と Spark リソース仕様で同じです。詳細については、「Spark リソース仕様」をご参照ください。

    • ワーカーリソースタイプパラメーターを [GPU] に設定した場合、仕様は GPU モデルと在庫に関連するため、チケットを送信して技術支援を依頼してください。

    ワーカーディスクストレージ

    ディスクストレージは、Ray のログ、一時データ、および Ray 分散オブジェクトストレージからのオーバーフローデータを格納するために使用されます。単位:GB。有効な値:30~2000。デフォルト値:100。

    重要

    ディスクは一時的なデータストレージに使用され、長期的なストレージには使用できません。

    ワーカーの最小数

    ワーカーの最大数

    ワーカーの最小数:ワーカーグループで必要なワーカーノードの最小数で、最小値は 1 です。

    ワーカーの最大数:ワーカーグループで許可されるワーカーノードの最大数で、最大値は 8 です。

    各ワーカーグループは自動的にスケーリングできます。ワーカーグループのワーカーノードの最小数と最大数が異なる場合、AnalyticDB for MySQL は現在のタスク数に基づいてワーカーノードの数を動的に調整します。複数のワーカーグループが存在する場合、AnalyticDB for MySQL は自動的にマッチングを行い、単一のワーカーグループが過負荷または過小利用されるのを防ぎます。

    分配ユニット

    各ワーカーノードに割り当てられる GPU の数です。例:1/3。

    重要

    このパラメーターは、ワーカーリソースタイプパラメーターを [GPU] に設定した場合にのみ必須です。

  4. 決定 をクリックします。

Ray サービスへの接続と使用

ステップ 1:エンドポイントの取得

  1. 左側のナビゲーションウィンドウで、クラスター管理 > リソース管理 を選択し、リソースグループ管理 タブをクリックします。

  2. リソースグループの 操作 列で、より > 詳細 をクリックしてエンドポイントを表示します。

    • Ray grafana:Grafana 可視化ツールのエンドポイントです。エンドポイントをクリックすると、Grafana の可視化ページに移動します。

    • Ray クラスターエンドポイント:内部エンドポイントです。

    • Ray Dashboard:パブリックエンドポイントとダッシュボードアドレスです。エンドポイントをクリックすると Ray の可視化インターフェイスに移動し、Ray クラスターリソースグループとジョブのステータスを表示できます。

ステップ 2:ジョブの送信

前提条件

Python 3.7 以降がインストールされていること。

手順

次の 2 つの方法のいずれかでジョブを送信できます。

  • CTL を使用してジョブを送信する (推奨):CTL を使用してスクリプトファイルをパッケージ化し、Ray クラスターにアップロードして実行します。エントリプログラムは Ray クラスターで実行され、Ray クラスターリソースグループのリソースを消費します。

  • ray.init を使用して Ray クラスターに接続してジョブを実行する:ray.init メソッドを使用して Ray クラスターに接続します。エントリプログラムはローカルで実行され、Ray クラスターリソースグループのリソースを消費しません。ローカルの Ray と Python のバージョンは、Ray クラスター上のバージョンと一致している必要があります。Ray クラスターのバージョンが変更された場合は、ローカルの環境構成をそれに応じて更新する必要があります。

CTL を使用したジョブの送信

  1. 次のコマンドを実行して Ray をインストールします。

    pip3 install ray[default]
  2. (オプション) 環境変数を設定します。

    説明

    グローバル環境変数を設定してエンドポイントを指定するか、ジョブを送信するときにエンドポイントを指定できます。

    export RAY_ADDRESS="RAY_URL"

    パラメーターの説明:

    RAY_URL:「エンドポイントの取得」ステップで取得した Ray の接続アドレスです。このパラメーターに設定します。

  3. ジョブを送信します。

    重要

    ジョブを送信すると、システムは working-dir パラメーターで指定されたディレクトリからすべてのファイルをパッケージ化して Ray ヘッドにアップロードし、実行します。したがって、次の点に注意してください。

    • working-dir パラメーターで指定されたディレクトリは、できるだけ小さくしてください。そうしないと、ディレクトリが大きすぎてアップロードに失敗する可能性があります。

    • すべての依存スクリプトファイルは、working-dir パラメーターで指定されたディレクトリにある必要があります。そうしないと、依存関係の欠落によりジョブが失敗する可能性があります。

    • 環境変数を設定している場合は、次のステートメントを実行してジョブを送信します。

      ray job submit --working-dir your_working_directory -- python your_python.py 

      パラメーターの説明:

      • your_working_directory:スクリプトファイルが配置されているパスです。このトピックでは、サンプルパスは /root/Ray です。

      • your_python.py:スクリプトファイルです。このトピックでは、サンプルスクリプトファイルは scripts.py です。

      例:

      ray job submit --working-dir /root/Ray -- python scripts.py
    • 環境変数を設定していない場合は、次のステートメントを実行してジョブを送信します。

      ray job submit --address ray_url --working-dir your_working_directory -- python your_python.py 

      パラメーターの説明:

      • ray_url:Ray の接続アドレスです。「エンドポイントの取得」ステップで取得した接続アドレスを入力します。

      • your_working_directory:スクリプトファイルが配置されているパスです。

      • your_python.py:スクリプトファイルです。このトピックでは、サンプルスクリプトファイルは scripts.py です。

      例:

      ray job submit --address http://amv-uf64gwe14****-rayo.ads.aliyuncs.com:8265 --working-dir /root/Ray -- python scripts.py 
  4. ジョブの実行ステータスを確認します。

    次の 2 つの方法のいずれかでジョブのステータスを確認できます。

    • コマンドを使用する:

      ray job list
    • 可視化インターフェイスを使用する:

      1. リソースグループ管理 タブで、リソースグループの 操作 列にある より > 詳細 をクリックします。

      2. Ray Dashboard アドレスをクリックして、可視化インターフェイスを開きます。

ray.init を使用した Ray クラスターへの接続とジョブの実行

  1. 次のコマンドを実行して Ray をインストールします。

    pip3 install ray
  2. (オプション) グローバル環境変数を設定します。

    説明

    グローバル環境変数を設定してエンドポイントを指定するか、スクリプトファイルでエンドポイントを指定できます。

    export RAY_ADDRESS="RAY_URL"

    パラメーターの説明:

    RAY_URL:Ray の接続アドレスです。「エンドポイントの取得」ステップで取得したアドレスはダッシュボードアドレスであり、ポート 8265 を使用します。`ray.init()` を使用して接続するには、プロトコルを `ray` に、ポートを 10001 に変更する必要があります。

    たとえば、ダッシュボードアドレスが http://amv-uf64gwe14****-rayo.ads.aliyuncs.com:8265 の場合、ray://amv-uf64gwe14****-rayo.ads.aliyuncs.com:10001 に変更する必要があります。

  3. プログラムを実行します。

    • グローバル環境変数を設定している場合は、次のコマンドを実行してプログラムを実行します。

      python scripts.py
    • グローバル環境変数を設定していない場合は、次のコマンドを実行してプログラムを実行します。

      1. スクリプトファイルを変更してエンドポイントを指定します。

        ray.init(address="RAY_URL")

        パラメーターの説明:

        RAY_URL:Ray の接続アドレスです。「エンドポイントの取得」ステップで取得したアドレスはダッシュボードアドレスであり、ポート 8265 を使用します。`ray.init()` を使用して接続するには、プロトコルを `ray` に、ポートを 10001 に変更する必要があります。

        たとえば、ダッシュボードアドレスが http://amv-uf64gwe14****-rayo.ads.aliyuncs.com:8265 の場合、ray://amv-uf64gwe14****-rayo.ads.aliyuncs.com:10001 に変更する必要があります。

        重要

        Ray エンドポイントが正しく設定されていない場合、ray.init() はローカルクラスターを起動してプログラムを実行します。出力ログを確認して、Ray クラスターに正しく接続されていることを確認してください。

      2. 次のコマンドを実行してプログラムを実行します。

        python scripts.py