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

Simple Log Service:Simple Log Service を MySQL データベースに関連付ける

最終更新日:Feb 14, 2025

このトピックでは、外部ストアを作成して Simple Log Service を MySQL データベースに関連付ける方法について説明します。

前提条件

  • データは Simple Log Service に収集されます。 詳細については、「データ収集の概要」をご参照ください。

  • データは、ApsaraDB RDS インスタンスまたは AnalyticDB インスタンス上に作成された MySQL データベース、あるいは Elastic Compute Service (ECS) インスタンス上でホストされている自己管理 MySQL データベースに保存されます。

  • MySQL データベースは、Alibaba Cloud 仮想プライベートクラウド (VPC) 内にあります。 使用される ApsaraDB RDS インスタンス、AnalyticDB インスタンス、または ECS インスタンスは、Simple Log Service プロジェクトと同じリージョンにあります。

    重要

    パブリックエンドポイント経由での MySQL データベースへの接続はサポートされていません。

背景情報

Simple Log Service の外部ストレージ機能を使用すると、Simple Log Service を ApsaraDB RDS インスタンスおよび AnalyticDB インスタンス上に作成された MySQL データベース、および ECS インスタンス上でホストされている自己管理 MySQL データベースに関連付けることができます。 また、外部ストレージ機能を使用すると、クエリと分析の結果を MySQL データベースに書き込んで、さらに処理することもできます。 以降の説明では、ApsaraDB RDS インスタンスは RDS インスタンスと呼ばれます。

手順

1. MySQL データベースのホワイトリストを構成する

RDS インスタンス上に作成された MySQL データベースを使用する

RDS インスタンス上に作成された MySQL データベースを使用する場合は、次の CIDR ブロックをホワイトリストに追加します: 100.104.0.0/16、11.194.0.0/16、および 11.201.0.0/16。 詳細については、「IP アドレスホワイトリストの構成」をご参照ください。

ECS インスタンス上でホストされている自己管理 MySQL データベースを使用する

ECS インスタンス上でホストされている自己管理 MySQL データベースを使用し、ECS インスタンスがセキュリティグループに追加されている場合は、次の CIDR ブロックからのアクセスを許可するようにセキュリティグループルールを構成します: 100.104.0.0/16、11.194.0.0/16、および 11.201.0.0/16。 詳細については、「セキュリティグループルールの追加」をご参照ください。

AnalyticDB インスタンス上に作成された MySQL データベースを使用する

AnalyticDB インスタンス上に作成された MySQL データベースを使用する場合は、次の CIDR ブロックをホワイトリストに追加します: 100.104.0.0/16、11.194.0.0/16、および 11.201.0.0/16。 詳細については、「IP アドレスホワイトリストの構成」をご参照ください。

2. 外部ストアを作成する

  1. Cloud Shell を起動する

  2. touch コマンドを実行して、/home/shell/config.json という名前の構成ファイルを作成します。 次のスクリプトを /home/shell/config.json ファイルに追加します。 ビジネス要件に基づいて、次のパラメーターの値を置き換えます: regionvpc-idhostportusernamepassworddb、および table

    {
        "externalStoreName":"sls_join_meta_store",
        "storeType":"rds-vpc",
        "parameter":{
            "region":"cn-qingdao",
            "vpc-id":"vpc-m5eq4irc1pucp*******",
            "host":"localhost",
            "port":"3306",
            "username":"user",
            "password":"****",
            "db":"scmc",
            "table":"join_meta"
        }
    }

    パラメーター

    説明

    externalStoreName

    外部ストアの名前。 名前は小文字にする必要があります。

    storeType

    データソースのタイプ。 値を rds-vpc に設定します。

    region

    リージョン。

    • RDS インスタンス上に作成された MySQL データベースを使用する場合は、region を RDS インスタンスが存在するリージョンに設定します。

    • AnalyticDB インスタンス上に作成された MySQL データベースを使用する場合は、region を AnalyticDB インスタンスが存在するリージョンに設定します。

    • VPC タイプの ECS インスタンス上でホストされている自己管理 MySQL データベースを使用する場合は、region を ECS インスタンスが存在するリージョンに設定します。

    重要

    使用される RDS インスタンス、AnalyticDB インスタンス、または ECS インスタンスは、Simple Log Service プロジェクトと同じリージョンに存在する必要があります。

    vpc-id

    VPC の ID。

    • VPC タイプの RDS インスタンス上に作成された MySQL データベースを使用する場合は、vpc-id を RDS インスタンスが属する VPC の ID に設定します。

    • VPC タイプの AnalyticDB インスタンス上に作成された MySQL データベースを使用する場合は、vpc-id を AnalyticDB インスタンスが属する VPC の ID に設定します。

    • VPC タイプの ECS インスタンス上でホストされている自己管理 MySQL データベースを使用する場合は、vpc-id を ECS インスタンスが属する VPC の ID に設定します。

    host

    MySQL データベースのアドレス。

    • VPC タイプの RDS インスタンス上に作成された MySQL データベースを使用する場合は、host を RDS インスタンスの内部エンドポイントまたはプライベート IP アドレスに設定します。

    • VPC タイプの AnalyticDB インスタンス上に作成された MySQL データベースを使用する場合は、host を AnalyticDB インスタンスの内部エンドポイントまたはプライベート IP アドレスに設定します。

    • VPC タイプの ECS インスタンス上でホストされている自己管理 MySQL データベースを使用する場合は、host を ECS インスタンスのプライベート IP アドレスに設定します。

    port

    ポート番号。

    • RDS インスタンス上に作成された MySQL データベースを使用する場合は、port を RDS インスタンスのポートに設定します。

    • AnalyticDB インスタンス上に作成された MySQL データベースを使用する場合は、port を AnalyticDB インスタンスのポートに設定します。

    • VPC タイプの ECS インスタンス上でホストされている自己管理 MySQL データベースを使用する場合は、port を ECS インスタンスの MySQL サービスポートに設定します。

    username

    MySQL データベースにログインするために使用するアカウントのユーザー名。

    password

    MySQL データベースにログインするために使用するアカウントのパスワード。

    db

    MySQL データベースの名前。

    table

    MySQL データベースで使用するテーブルの名前。

  3. 次のコマンドを実行して、外部ストアを作成します。 project_name の値を、使用するプロジェクトの名前に置き換えます。 このトピックでは、log-rds-demo を使用します。

    aliyunlog log create_external_store --project_name="log-rds-demo" --config="file:///home/shell/config.json" 
  4. 次のコマンドを実行して、外部ストアに関する情報をクエリします。 コマンドが正常に実行された場合、応答は返されません。 aliyunlog log get_external_store --project_name="log-rds-demo" --store_name="sls_join_meta_store" --format-output=json コマンドを実行して、作成された外部ストアの詳細をクエリできます。 次の例では、外部ストアは RDS インスタンス上に作成された MySQL データベースです。 出力:

    {
     "externalStoreName": "sls_join_meta_store",
     "parameter": {
     "db": "scmc",
     "host": "rm-bp1******rm76.mysql.rds.aliyuncs.com",
     "instance-id": "",
     "port": "3306",
     "region": "cn-qingdao",
     "table": "join_meta",
     "timezone": "",
     "username": "user",
     "vpc-id": "vpc-m5eq4irc1pucp*******"
     },
     "storeType": "rds-vpc"
    }

3. 関連付けられた MySQL データベースからデータをクエリする

外部ストアを使用して Simple Log Service を MySQL データベースに関連付けた後、log-rds-demo プロジェクトのログストアをクリックし、ログストアのクエリと分析ページで * | select * from sls_join_meta_store クエリ文を実行して、関連付けられた MySQL データベースからデータをクエリできます。

image

次のステップ

  • MySQL 外部ストアを更新する。

    aliyunlog log update_external_store --project_name="log-rds-demo" --config="file:///home/shell/config.json" 
  • MySQL 外部ストアを削除する。

    aliyunlog log delete_external_store --project_name="log-rds-demo" --store_name=sls_join_meta_store

関連情報