メインコンテンツまでスキップ

MySQLカタログ

MySQL Catalogを作成することで、VeloDB Cloud内でMySQLデータベース内のデータを直接クエリできるようになり、データソース間でのフェデレーテッドクエリが可能になります。

前提条件

  • MySQLデータベースインスタンスが稼働していること。
  • クエリ権限を持つデータベースユーザーが準備されていること。
  • VeloDB CloudがネットワークからMySQLインスタンスにアクセスできること。

AWS RDS/Aurora設定(オプション)

Amazon RDS for MySQLまたはAmazon Aurora MySQLを使用している場合は、以下の準備を完了する必要があります:

  1. データベースのエンドポイントとポートを取得します。

  2. AWS RDSコンソールにサインインします。

  3. 左のナビゲーションバーでDatabasesを選択します。

  4. データベースインスタンス名をクリックします。

  5. Connectivity & securityタブで以下を確認します:

    • Endpoint:データベース接続アドレス(例:mydb.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com)。
    • Port:データベースポート(MySQLのデフォルトは3306)。

    Aurora Cluster Tip:Auroraを使用している場合は、実際のニーズに応じてReaderエンドポイント(読み取り専用クエリ)またはClusterエンドポイント(読み書き)の使用を推奨します。

  6. Security Groupの設定

    RDSインスタンスのsecurity groupがVeloDB Cloudからのアクセスを許可するように設定します:

    • RDSインスタンス詳細ページのConnectivity & securityタブで、VPC security groupsの下にあるsecurity groupのリンクをクリックします。
    • Inbound rulesタブを選択し、Edit inbound rulesをクリックします。
    • ルールを追加します:
      • Type:MySQL/Aurora
      • Port range:3306(またはカスタムポート)
      • Source
        • SaaS Mode:VeloDB CloudがVPC Private Link経由でVPCのIPアドレス範囲に接続します。
        • BYOC Mode:VPC CIDRまたはsecurity group。
    • Save rulesをクリックします。
  7. データベースユーザー権限の設定

    RDSインスタンスに接続し、適切な権限を持つユーザーを作成します:

    -- Create user
    CREATE USER 'velodb_user'@'%' IDENTIFIED BY 'your_password';
    -- Grant read-only permissions (recommended for query scenarios)
    GRANT SELECT ON your_database.* TO 'velodb_user'@'%';
    -- Or grant read-write permissions (if data writing is needed)
    GRANT SELECT, INSERT, UPDATE, DELETE ON your_database.* TO 'velodb_user'@'%';
    -- Flush privileges
    FLUSH PRIVILEGES;

セキュリティアドバイス: 最小権限の原則に従い、必要なデータベースとテーブルの権限のみを付与してください。

ネットワーク要件

  • SaaS モードの VeloDB Cloud: MySQL サービスにアクセスするには、VeloDB があなたの VPC にアクセスできるようにする必要があります。Grant VeloDB Access to Your VPC を参照してください。
  • BYOC モードの VeloDB Cloud: MySQL サービスにアクセスするには、デプロイ時のネットワークポリシーを参照する必要があります。Create VPC Network Resources を参照してください。

Catalog の作成

ステップ 1: 作成ページに移動

  1. VeloDB Cloud Console にサインインします。
  2. 左のナビゲーションバーで Catalogs をクリックします。
  3. Add External Catalog ボタンをクリックします。
  4. Database カテゴリの下で MySQL を選択します。

ステップ 2: 接続情報の設定

mysql-1

フィールド必須説明
Catalog NameCatalog の一意な名前。SQL クエリでデータソースを識別するために使用されます。
Commentオプションの説明。
JDBC URLMySQL の JDBC 接続文字列。形式は jdbc:mysql://<host>:<port> で、オプションでデータベース名を指定できます。
Userデータベースのユーザー名。
Passwordデータベースのパスワード。

JDBC URL の例:

  • 基本形式: jdbc:mysql://mysql.example.com:3306
  • データベース指定: jdbc:mysql://mysql.example.com:3306/mydb
  • パラメータ付き: jdbc:mysql://mysql.example.com:3306/mydb?useSSL=true

ステップ 3: 詳細設定(オプション)

Advanced Settings をクリックして、接続プールサイズ、タイムアウト設定などの追加オプションを設定します。

ステップ 4: 作成の確認

  1. 設定情報を確認します。
  2. Confirm ボタンをクリックして Catalog を作成します。

Catalog の使用

-- View database list
SHOW DATABASES FROM mysql_catalog;

-- View table list
SHOW TABLES FROM mysql_catalog.my_database;

-- Query data
SELECT * FROM mysql_catalog.my_database.my_table LIMIT 100;