OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
    • アイコンOceanBase Cloud
アイコン

OceanBaseデータベース

SQL - V4.4.2

    OceanBase ロゴ

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについてトラストセンター法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. SQL
    4. V4.4.2
    アイコンOceanBaseデータベース
    SQL - V 4.4.2
    データベース
    • OceanBaseデータベース
    • OceanBase Cloud
    SQL
    KV
    • V 4.4.2
    • V 4.3.5

    OBProxyのデプロイ

    最終更新日:2026-06-15 02:31:33  更新
    シェア
    このページの内容
    デプロイメントモード
    手順
    ステップ1:obshellを起動する
    ステップ2:ノードのパスワードを設定する
    ステップ3:proxyro@sysユーザーを作成する
    ステップ4:OBProxyのデプロイ
    ステップ5:デプロイが成功したかどうかを確認する

    折りたたみ

    シェア

    obshellは現在、obshellコマンドを使用したOBProxyのデプロイをサポートしていません。本記事では、3レプリカのOceanBaseクラスタを例に、APIを呼び出してOBProxyをデプロイし、そのOceanBaseクラスタに関連付ける方法を紹介します。

    説明

    • 本記事の操作は、OBProxyが関連付けるOceanBaseクラスタがobshellによって管理されているかどうかに制限されません。

    • obshell V4.2.6からOBProxyのデプロイがサポートされています。

    デプロイメントモード

    本記事では、4台のマシンの使用状況は以下のとおりです。obshellはデフォルトポート2886を使用します。

    ロール
    マシン
    備考
    OBServerノード 10.10.10.1 OceanBaseデータベースzone1
    OBServerノード 10.10.10.2 OceanBaseデータベースzone2
    OBServerノード 10.10.10.3 OceanBaseデータベースzone3
    OBProxyサービスをデプロイするノード 10.10.10.4 このノードにはobshellがデプロイ済みです

    手順

    説明

    コマンドラインでAPIを呼び出す場合、obshellは呼び出されるAPIに対してセキュリティ検証を行います。そのため、APIを呼び出すたびに、まずAPI混合暗号化の記事を参照してリクエストを暗号化し、curlコマンドで暗号化されたリクエストヘッダー(${request_headers})とリクエストボディ(${request_body})を設定する必要があります。

    ステップ1:obshellを起動する

    OBProxyサービスをデプロイするノードでobshellを起動します。コマンドの詳細については、obshell agent startを参照してください。

    [admin@test004 ~]$ /home/admin/oceanbase/bin/obshell agent start --ip 10.10.10.4 -P 2886
    

    ステップ2:ノードのパスワードを設定する

    obshellの /api/v1/agent/password インターフェースを呼び出して、ノードのパスワードを設定します。

    コマンドラインコマンド
    Python

    コマンドラインで対応するAPIを呼び出す方法の説明については、ノードパスワードの設定を参照してください。

    [admin@test001 ~]$ curl -H "Content-Type: application/json" -H 'X-OCS-Header:${request_headers}' -X POST -d '${request_body}'  http://10.10.10.4:2886/api/v1/agent/password
    

    暗号化前のリクエストボディの内容例は以下のとおりです:

    {
      "password": "*****"
    }
    

    obshell-sdk-pythonを使用して対応するAPIメソッドをリクエストする方法の詳細については、ノードパスワードの設定を参照してください。

    ...
    client = ClientSet("10.10.10.4", 2886)
    client.v1.set_agent_password("*****")
    
    # このobshellノードが管理するOceanBaseクラスタがある場合、clientの作成時にクラスタのroot@sysパスワードを指定する必要があります。
    # client = ClientSet("10.10.10.4", 2886, PasswordAuth "***"))
    ...
    

    ステップ3:proxyro@sysユーザーを作成する

    OBProxyはproxyro@sysユーザーを使用して関連付けられたOceanBaseクラスタに接続する必要があります。対象クラスタでsysテナント内にproxyroユーザーが作成されていない場合は、まず手動でproxyroユーザーを作成する必要があります。

    対象クラスタがobshellによって運用管理されていない場合は、ユーザーの作成の内容を参照してproxyro@sysユーザーを作成してください。対象クラスタがobshellによって運用管理されている場合は、クラスタ内の任意のobshellの/api/v1/tenant/{name}/userインターフェースを呼び出してproxyro@sysユーザーを作成し、適切な権限を付与します。例は以下のとおりです。

    コマンドラインコマンド
    Python

    コマンドラインで対応するAPIを呼び出す方法については、ユーザーの作成を参照してください。

    [admin@test001 ~]$ curl -H "Content-Type: application/json" -H 'X-OCS-Header:${request_headers}' -X POST -d '${request_body}'  http://10.10.10.1:2886/api/v1/tenant/sys/user
    

    暗号化前のリクエストボディの内容例は以下のとおりです:

    {
      "user_name": "proxyro",
      "password": "*****",
      "global_privileges": [
        "CREATE",
        "DELETE"
      ],
      "db_privileges": [
        {
          "db_name": "oceanbase",
          "privileges": [
            "DROP"
          ]
        }
      ],
      "host_name": "%"
    }
    

    obshell-sdk-pythonで対応するAPIメソッドを呼び出す方法の詳細については、ユーザーの作成を参照してください。

    ...
    client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
    db_priv = {
            "db_name": "oceanbase",
            "privileges": ["SELECT"]
        }
    client.v1.create_user(user_name="proxyro", password="*****", db_privileges=[db_priv])
    ...
    

    ステップ4:OBProxyのデプロイ

    OceanBaseソフトウェアダウンロードセンターにアクセスして、OBProxyのインストールパッケージを手動でダウンロードします。その後、デプロイ対象のマシンにコピーし、作業ディレクトリに解凍します。次に、ターゲットのobshellで /api/v1/obproxy インターフェースを呼び出してOBProxyをデプロイし、ターゲットクラスタに関連付けます。

    コマンドラインコマンド
    Python

    コマンドラインで対応するAPIを呼び出す方法の説明については、OBProxyのデプロイを参照してください。

    説明

    APIを呼び出すと非同期のO&Mタスクが作成されます。タスクの進捗状況を確認する方法については、タスクの詳細情報を取得するを参照してください。タスクが完了すると、OBProxyのデプロイも完了します。

    [admin@test001 ~]$ curl -H "Content-Type: application/json" -H 'X-OCS-Agent-Header:${request_headers}' -X POST -d '${request_body}'  http://10.10.10.4:2886/api/v1/obproxy
    

    暗号化前のリクエストボディの内容例は以下のとおりです:

    {
        "home_path": "/data/obproxy",
        "name": "myobproxy",
        "sql_port": 2883,
        "exporter_port": 2884,
        "rpc_port": 2885,
        "rs_list": "10.10.10.1:2881;10.10.10.2:2881;10.10.10.3:2881",
        "proxyro_password": "********",
        "obproxy_sys_password": "********",
        "parameters": {
            "server_tcp_keepidle": "5",
            "enable_strict_kernel_release": "false"
        }
    }
    

    obshell-sdk-pythonで対応するAPIメソッドをリクエストする方法の詳細については、OBProxyの作成を参照してください。

    ...
    client = ClientSet("10.10.10.4", 2886, PasswordAuth(agent_password="****"))
    client.v1.add_obproxy_sync(
        home_path="/data/obproxy",
        app_name="myobproxy",
        rs_list="10.10.10.1:2881;10.10.10.2:2881:10.10.10.3:2881",
        proxyro_password="********",
        obproxy_sys_password="********",
    )
    ...
    

    ステップ5:デプロイが成功したかどうかを確認する

    以下のコマンドを実行して、OBProxyプロセスが存在するかどうかを確認します。

    [admin@test001 ~]$ ps -ef | grep obproxy
    

    また、このOBProxyプロキシを介してOceanBaseクラスタにアクセスし、接続が成功するかどうかを確認することもできます。

    obclient -h10.10.10.4 -uroot@sys#obdemo -P2883 -p -c -A
    

    OceanBaseクラスタへの接続の詳細については、公式サイトの「OceanBaseデータベース」ドキュメントOceanBaseデータベースへの接続の章を参照してください。

    前のトピック

    OceanBaseクラスタのデプロイ
    最後

    次のトピック

    obshell以外でデプロイされたクラスタの乗っ取り
    次
    このページの内容
    デプロイメントモード
    手順
    ステップ1:obshellを起動する
    ステップ2:ノードのパスワードを設定する
    ステップ3:proxyro@sysユーザーを作成する
    ステップ4:OBProxyのデプロイ
    ステップ5:デプロイが成功したかどうかを確認する