OceanBase logo

OceanBase

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

デプロイを自由に

OceanBase Cloud

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

エンタープライズ版

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

オープンソース版を試す

コミュニティ版

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

OceanBase seekdb

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

顧客事例

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

さらに見る
利用シーン別

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

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

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

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

複数インスタンスの統合

ドキュメント

会社概要

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

OceanBaseについて

法的情報

お問い合わせ

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

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

デプロイを自由に

OceanBase Cloud

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

エンタープライズ版

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

オープンソース版を試す

コミュニティ版

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

OceanBase seekdb

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

顧客事例

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

さらに見る
利用シーン別

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

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

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

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

複数インスタンスの統合

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

OceanBaseについて

法的情報

お問い合わせ

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

OceanBaseデータベース

V4.3.5

    OceanBase logo

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

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

    © OceanBase 2026. All rights reserved

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

    テナントの作成

    最終更新日:2026-04-09 02:53:56  更新
    シェア
    このページの内容
    前提条件
    デプロイメントモード
    APIを使用してテナントを作成する
    ステップ1:リソース仕様の作成
    ステップ2:テナントの作成
    ステップ3:テナント情報を確認する
    obshellコマンドによる作成
    ステップ1:リソース仕様の作成
    ステップ2:テナントの作成
    ステップ3:テナント情報の照会

    折りたたみ

    シェア

    obshellを使用してクラスタにテナントを作成する方法は2種類あります:

    • APIを呼び出してテナントを作成する

    • obshellコマンドを使用してテナントを作成する

    本記事では、3レプリカのOceanBaseクラスタを例に、obshellを使用してテナントを作成する方法について説明します。

    前提条件

    • OceanBaseクラスタがobshellで運用保守されており、詳細な判断方法と引き継ぎ操作については非obshellデプロイメントクラスタの引き継ぎを参照してください。

    • OceanBaseクラスタ内のすべてのOBServerノードおよびobshellが正常に稼働していること。

    デプロイメントモード

    本記事では、3台のマシンを使用します(obshellはデフォルトポート2886を使用します)。

    ロール マシン 備考
    OBServerノード 10.10.10.1 OceanBaseデータベースzone1
    OBServerノード 10.10.10.2 OceanBaseデータベースzone2
    OBServerノード 10.10.10.3 OceanBaseデータベースzone3

    APIを使用してテナントを作成する

    説明

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

    ステップ1:リソース仕様の作成

    任意のobshellのPOST /api/v1/unit/configインターフェースを呼び出すことで、指定されたリソース仕様を作成できます。

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

    コマンドラインで対応する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/unit/config
    

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

    {
        "name":"unit_1",
        "memory_size": "5GB",
        "max_cpu": 3,
    }
    

    obshell-sdk-pythonを使用して、対応するAPIメソッドをリクエストする方法の説明については、リソース仕様の作成を参照してください。

    ...
    client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
    client.v1.create_resource_unit_config("unit_1", memory_size="5G", max_cpu=8)
    ...
    

    obshell-sdk-goによる対応APIメソッドのリクエスト方法については、リソース仕様の作成を参照してください。

    ...
    client, err := services.NewClientWithPassword("10.10.10.1", 2886, "********")
        if err != nil {
            fmt.Print(err)
            return
        }
    if err := client.V1().CreateResourceUnitConfig("unit_1", "5G", 8); err != nil {
      fmt.Print(err)
      return
    }
    ...
    

    ステップ2:テナントの作成

    任意のobshellのPOST /api/v1/tenantインターフェースを呼び出すことで、指定されたリソース仕様に基づいてテナントを作成できます。

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

    コマンドラインで対応する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
    

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

    {
        "name": "tenant_1",
        "zone_list": [
            {
                "name": "zone1",
                "unit_config_name": "unit_1",
                "unit_num": 1
            },
            {
                "name": "zone2",
                "unit_config_name": "unit_1",
                "unit_num": 1
            },
            {
                "name": "zone3",
                "unit_config_name": "unit_1",
                "unit_num": 1
            }
        ],
    }
    

    obshell-sdk-pythonによる該当APIメソッドのリクエスト方法については、テナントの作成を参照してください。

    ...
    client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
    client.v1.create_tenant_sync("tenant_1", [ZoneParam("zone1", 'unit_1', 1),
                                        ZoneParam("zone2", 'unit_1', 1),
                                        ZoneParam("zone3", 'unit_1', 1)])
    ...
    

    obshell-sdk-goを使用して対応するAPIメソッドをリクエストする方法については、テナントの作成を参照してください。

    ...
    req := client.V1().NewCreateTenantRequest("tenant_1", []v1.ZoneParam{
            {
                Name:           "zone1",
                ReplicaType:    "FULL",
                UnitConfigName: "unit_1",
                UnitNum:        1,
            },
            {
                Name:           "zone2",
                ReplicaType:    "FULL",
                UnitConfigName: "unit_1",
                UnitNum:        1,
            },
            {
                Name:           "zone3",
                ReplicaType:    "FULL",
                UnitConfigName: "unit_1",
                UnitNum:        1,
            },
        })
        if _, err = client.V1().CreateTenantSyncWithRequest(req); err != nil {
            fmt.Print(err)
        }
    ...
    

    ステップ3:テナント情報を確認する

    任意のobshellのGET /api/v1/tenant/:nameを呼び出すことで、テナント情報を確認できます。

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

    コマンドラインで対応するAPIインターフェースを呼び出す方法については、テナント情報を照会するを参照してください。

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

    obshell-sdk-pythonを使用して対応するAPIメソッドをリクエストする方法については、テナント情報の取得を参照してください。

    ...
    client = ClientSet("10.10.11", 2886, PasswordAuth("****"))
    tenant_info = client.v1.get_tenant_info("tenant_1")
    ...
    

    obshell-sdk-goによるAPIメソッドのリクエスト方法については、テナント情報を照会するを参照してください。

    ...
    client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
    tenant, err := client.V1().GetTenantInfo("tenant_1")
    ...
    

    obshellコマンドによる作成

    ステップ1:リソース仕様の作成

    任意のノードで以下のコマンドを実行することで、指定されたリソース仕様を作成できます。コマンドの詳細については、obshell unit コマンドグループのobshell unit createセクションを参照してください。

    [admin@test001 ~]$ /home/admin/oceanbase/bin/obshell unit create unit_1 -m 5G -c 8
    

    ステップ2:テナントの作成

    任意のノードで以下のコマンドを実行することで、指定されたテナントを作成できます。コマンドの詳細については、obshell テナントコマンドグループのobshell tenant createセクションを参照してください。

    [admin@test001 ~]$ /home/admin/oceanbase/bin/obshell tenant create tenant_1 -u unit_1
    

    ステップ3:テナント情報の照会

    任意のノードで以下のコマンドを実行することで、指定されたテナントの情報を照会できます。コマンドの詳細については、obshell テナントコマンドグループのobshell tenant showセクションを参照してください。

    [admin@test001 ~]$ /home/admin/oceanbase/bin/obshell tenant show tenant_1
    

    前のトピック

    故障ノードの置き換え
    最後

    次のトピック

    テナントレベルのバックアップを開始する
    次
    このページの内容
    前提条件
    デプロイメントモード
    APIを使用してテナントを作成する
    ステップ1:リソース仕様の作成
    ステップ2:テナントの作成
    ステップ3:テナント情報を確認する
    obshellコマンドによる作成
    ステップ1:リソース仕様の作成
    ステップ2:テナントの作成
    ステップ3:テナント情報の照会