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

MySQLカタログ

MySQL Catalogを作成することで、VeloDB Cloud内でMySQLデータベース内のデータを直接クエリし、データソース間での連合クエリを可能にします。

前提条件

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

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

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

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

  2. AWS RDS Consoleにサインインします。

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

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

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

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

    Auroraクラスターのヒント: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モード:VeloDB CloudはVPC Private Link経由でVPCのIPアドレス範囲に接続します。
        • BYOCモード: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;

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

ネットワーク要件

  • VeloDB Cloud in SaaSモード: MySQLサービスにアクセスするには、VeloDBがあなたのVPCにアクセスできるようにする必要があります。velodb-accesses-your-vpcを参照してください。
  • VeloDB Cloud in BYOCモード: 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;