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

Database Autonomy Service:DBGateway のよくある質問

最終更新日:Jun 21, 2026

このトピックでは、DBGateway のディレクトリ構造、基本操作、および一般的な問題のトラブルシューティング方法について説明します。

DBGateway のディレクトリ構造

dbgateway
|-- bin
|   |-- dbgateway
|   \-- dbgateway-manager
|-- conf
|   |-- dbgateway.conf
|   \-- server.crt
\-- log
    |-- dbgateway.err
    |-- dbgateway.log
    \-- dbgateway_manager.log    
説明
  • bin ディレクトリには、dbgateway (メインプログラム) と dbgateway-manager (DBGateway の管理用スクリプト) が含まれます。

  • conf ディレクトリには、dbgateway.conf (DBGateway の設定ファイル) と server.crt (通信用の公開鍵証明書) が含まれます。

  • log ディレクトリには、dbgateway.err (DBGateway のエラー出力)、dbgateway.log (DBGateway のメインログ)、および dbgateway_manager.log (管理スクリプトのログ) が含まれます。

基本操作

  • DBGateway ログの表示

    • DBGateway ログファイルのフルパスは /opt/dbgateway/log/dbgateway.log です。

    • ログファイルはプレーンテキストファイルであり、vimtailcatless などの標準ツールで表示できます。

    Database Autonomy Service (DAS) のサポートスタッフがトラブルシューティングのために DBGateway ログを要求した場合は、DBGateway がデプロイされているサーバーにログインし、次のコマンドを実行して最新の 200 件のログエントリを取得し、その出力を提供してください。

    tail -n 200 /opt/dbgateway/log/dbgateway.log
  • DBGateway プロセスが実行中かどうかの確認

    1. DAS コンソールにログインします。

    2. 左側メニューで、リソース管理 > DBGateway をクリックします。

    3. DBGateway ページで、DBGateway の 現在のステータス を確認します。

      現在のステータス正常 の場合、DBGateway プロセスは実行中です。 それ以外の場合は、DBGateway がデプロイされているサーバーで次のコマンドを実行してください。

      /opt/dbgateway/bin/dbgateway-manager -d status
      • DBGateway プロセスが実行中の場合、次の結果が返されます。

        DBGateway is running.
      • DBGateway プロセスが実行されていない場合、次の結果が返されます。

        DBGateway is dead.
      説明

      このチェックは、DBGateway プロセスが存在するかどうかを確認するだけで、正常に機能しているかまでは確認しません。

  • DBGateway の再起動

    1. 前のセクションで説明したように、DBGateway プロセスが実行中かどうかを確認します。

    2. DBGateway を再起動します。

      • DBGateway プロセスが実行中の場合:

        • DBGateway ページで、対象の DBGateway を見つけ、操作 列の Management > 再起動 をクリックします。

        • または、DBGateway がデプロイされているサーバーで次のコマンドを実行してください。

          /opt/dbgateway/bin/dbgateway-manager -d restart
      • DBGateway プロセスが実行されていない場合:

        この操作は DAS コンソールでは利用できません。 コマンドラインからプロセスを再起動する必要があります。 DBGateway がデプロイされているサーバーで次のコマンドを実行してください。

        /opt/dbgateway/bin/dbgateway-manager -d restart
  • DBGateway のアップグレード

    DBGateway ページで、対象の DBGateway を見つけ、操作 列の Management > アップグレード をクリックします。

  • DBGateway の停止

    • DBGateway ページで、対象の DBGateway を見つけ、操作 列の Management > 停止 をクリックします。

    • または、DBGateway がデプロイされているサーバーで次のコマンドを実行してください。

       /opt/dbgateway/bin/dbgateway-manager -d stop
  • DBGateway の削除

    説明
    • DBGateway を削除すると、関連付けられたデータベースインスタンスのすべての DAS 機能が利用できなくなります。

    • 現在のステータス正常 の DBGateway は削除できません。 まず DBGateway を停止する必要があります。

    1. DBGateway ページで、対象の DBGateway を見つけ、操作 列の Management > 削除 をクリックします。

    2. オプション: DBGateway がデプロイされているサーバーで次のコマンドを実行して、インストールディレクトリを削除してください。

      rm -rf /opt/dbgateway
  • DBGateway の再インストール

    DBGateway を削除した後、同じサーバーに再デプロイできます。 データベースインスタンスを追加する際に DAS コンソールで表示されるデプロイコマンドを使用してください。

デプロイのトラブルシューティング

[集中管理モードのデータベースゲートウェイ]または [ホストモードのデータベースゲートウェイ]を使用してデータベースインスタンスを接続すると、デプロイコマンドが表示されます。 次のコマンドは一例です。 idtoken は一例です。 実際のデプロイコマンドの値を使用してください。

sudo wget -O install-dbgateway http://hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/DBGateway/install/install-dbgateway && sudo /bin/bash install-dbgateway --id xxx --token xxx --endpoint master-hdm-cn-hangzhou-inner.aliyuncs.com --region cn-hangzhou
  • DBGateway デプロイスクリプトをダウンロードできない

    • wget command not foundというメッセージが表示された場合、wget ユーティリティがインストールされていません。 次のいずれかのコマンドを実行して wget をインストールしてください。

      sudo apt-get install wget

      または

      yum -y install wget
    • サーバーが Object Storage Service (OSS) ネットワークに接続できるかどうかを確認してください。

      サーバーで、OSS ドメインに ping を実行してください。 この例では、ドメインは hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com です。 実際のデプロイコマンドのドメインを使用してください。

      ping hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com
      • 次のメッセージが返された場合、ドメインは解決できません。 DNS サーバーの設定を確認し、DNS サービスが正しく機能していることを確認してください。

        ping: unknown host hdm-dbgateway-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com  
      • ping コマンドが出力なしでハングする場合、ネットワーク接続に失敗しています。 以下を確認してください。

        • サーバーのネットワーク設定。

        • サーバーのネットワークアクセスタイプ (インターネットまたは VPC)。

        • ネットワークアクセスタイプが VPC の場合は、選択したリージョン。

  • DAS サーバーへの接続性のテスト

    DBGateway をデプロイするサーバーで次のコマンドを実行してください。 この例では、DAS サーバーのドメインは master-hdm-cn-hangzhou-inner.aliyuncs.com です。 実際のデプロイコマンドのドメインを使用してください。

    telnet master-hdm-cn-hangzhou-inner.aliyuncs.com 80
    • コマンドからName or service not knownが返された場合、ドメインは解決できません。DNS サーバーの設定を確認し、DNS サービスが正常に機能していることを確認してください。

    • コマンドが Trying の後に Trying 10.0.XX.XX のような IP アドレスを返し、その後ハングする場合、ネットワークに到達できません。次の項目を確認してください。

      • サーバーのネットワーク設定。

      • サーバーのネットワークアクセスタイプ (インターネットまたは VPC)。

      • ネットワークアクセスタイプが VPC の場合は、選択したリージョン。

    • 次の出力が返された場合:

      Connected to master-hdm-cn-hangzhou-inner.aliyuncs.com.  Escape character is '^]'.

      DAS サーバーへの接続は成功しています。 それでも DBGateway の起動に失敗する場合は、前のセクションを参照し、DBGateway ログを確認してさらにトラブルシューティングを行ってください。

実行時のトラブルシューティング

  • 認証失敗または権限不足

    • 承認済みアカウントに必要な権限があることを確認してください。 以下の例では、das_test という名前の承認済みアカウントを使用します。

      • MySQL

        CREATE USER 'das_test'@'%' IDENTIFIED BY 'password';
        GRANT SHOW DATABASES, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'das_test'@'%';
        GRANT SELECT ON *.*  TO 'das_test'@'%';
      • PostgreSQL

        CREATE USER das_test PASSWORD 'password';
        GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC TO das_test;
        /* オプション。スロークエリログと SQL 文の収集に必要です。 */ 
        ALTER USER das_test WITH SUPERUSER;
      • MongoDB

        use admin;
        db.createUser({user:'das_test',pwd:'password',roles:[{role:'readAnyDatabase', db:'admin'}, {role:'clusterMonitor', db:'admin'}, {role: 'hostManager', db: 'admin'}]})

        (Unauthorized) not authorized on admin to execute command エラーが表示された場合は、承認済みアカウントに次の権限を付与してください。

        db.grantRolesToUser("das_test", [{db: "local", role: "dbAdmin"},{db: "config", role: "dbAdmin"},{db: "admin", role: "dbAdminAnyDatabase"}])
      • Redis

        Redis にはアカウントシステムがありません。 パスワードが正しいことを確認してください。 Redis のパスワードを変更するには、設定ファイルで requirepass オプションを変更し、Redis サービスを再起動してください。 詳細については、「Redis configuration」をご参照ください。

    • アカウントとパスワードが正しいことを確認してください。 DBGateway サーバーからデータベースインスタンスにリモートで接続して、認証情報をテストすることを推奨します。

    • DBGateway を再起動し、インスタンスが正常に承認されたかどうかを確認してください。

    • DBGateway を最新バージョンにアップグレードしてください。

  • 接続失敗

    接続失敗は、DBGateway がデータベースインスタンスに接続できない場合に発生します。 以下の考えられる原因を確認してください。

    • データベースインスタンスが正常に実行されているかどうかを確認してください。

      MySQL、PostgreSQL、MongoDB、Redis などのデータベースインスタンスが実行されていない場合は、そのプロセスが存在するかどうかを確認してください。

    • DBGateway サーバーとデータベースインスタンス (MySQL、PostgreSQL、MongoDB、Redis など) との間のネットワーク接続性を確認してください。 次のコマンドを実行して確認してください。

      telnet <database_instance_IP_or_domain> <database_instance_port>  

      例:

      telnet 192.168.XX.XX 3306
      • 次のメッセージが返された場合、ネットワーク接続は正常です。 詳細な調査のために DBGateway ログを確認してください。

        Connected to 192.168.XX.XX
        Escape character is '^]'.
      • 上記のメッセージが返されない場合は、ネットワーク接続に問題があります。 この問題は、多くの場合、サーバー間のネットワーク分離、ルーティング設定、ファイアウォール、またはリモート接続を拒否するように設定されたデータベースインスタンスが原因で発生します。

  • モニタリングの問題

    • DBGateway の実行ステータスを確認してください。

    • DBGateway を再起動し、モニタリングが再開されるかどうかを確認してください。

    • DBGateway を最新バージョンにアップグレードしてください。

  • ステータスが Authorized. Verifyingのままになる

    承認が成功すると、インスタンスのステータスは 1〜2 分以内に 通常の接続 に変わるはずです。 ステータスが 2 分以上 Authorized. Verifyingのままである場合は、次の手順を実行してください。

    • DBGateway の実行ステータスを確認してください。

    • DBGateway を再起動し、インスタンスが正常に承認されたかどうかを確認してください。

    • DBGateway を最新バージョンにアップグレードしてください。