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

Simple Log Service:PostgreSQL データソースを関連付ける

最終更新日:Oct 30, 2025

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

前提条件

  • SLS でデータを収集済みであること。詳細については、「データ収集」をご参照ください。

  • SLS CLI をインストールし、サービスエンドポイントと AccessKey ペアを設定済みであること。

  • Alibaba Cloud RDS for PostgreSQL データベース、Alibaba Cloud ADB for PostgreSQL データベース、または Alibaba Cloud Hologres インスタンスにデータを保存済みであること。

  • PostgreSQL データベースが Alibaba Cloud Virtual Private Cloud (VPC) 内にあること。RDS インスタンス、ADB インスタンス、または Hologres インスタンスは、SLS プロジェクトと同じリージョンにある必要があります。

    重要

    PostgreSQL データベースには、インターネットエンドポイントを使用して接続できません。

背景情報

SLS の外部ストア機能を使用すると、SLS を Alibaba Cloud RDS for PostgreSQL データベース、Alibaba Cloud ADB for PostgreSQL データベース、または Alibaba Cloud Hologres インスタンスに関連付けることができます。クエリおよび分析結果を PostgreSQL データベースに書き込んで、さらに処理することもできます。

手順

1. ホワイトリストを設定する

RDS for PostgreSQL データベース

次の CIDR ブロックをホワイトリストに追加します: 100.104.0.0/16、11.194.0.0/16、および 11.201.0.0/16。詳細については、「ホワイトリストを設定する」をご参照ください。

Alibaba Cloud Hologres

次の CIDR ブロックをホワイトリストに追加します: 100.104.0.0/16、11.194.0.0/16、および 11.201.0.0/16。詳細については、「IP ホワイトリスト」をご参照ください。

ADB for PostgreSQL データベース

次の CIDR ブロックをホワイトリストに追加します: 100.104.0.0/16、11.194.0.0/16、および 11.201.0.0/16。詳細については、「ホワイトリストを設定する」をご参照ください。

2. ExternalStore を作成する

  1. CLI がインストールされているサーバーにログインします。コマンドラインで touch コマンドを実行して、/home/shell/config.json という名前の構成ファイルを作成しますconfig.json ファイルに次のスクリプトを追加します。regionvpc-idhostportusernamepassworddb、および table パラメーターの値を実際の値に置き換える必要があります。

    パラメーターの説明

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

    externalStoreName

    ExternalStore の名前。名前は小文字にする必要があります。

    storeType

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

    region

    リージョン (cn-wulanchabu や cn-hangzhou など)。

    重要

    RDS インスタンス、Hologres インスタンス、または ADB インスタンスは、SLS プロジェクトと同じリージョンにある必要があります。

    vpc-id

    データベースが配置されている VPC の ID。このパラメーターは、データベースのタイプによって異なります:

    • お使いの RDS for PostgreSQL インスタンスが VPC 内にある場合、vpc-id をその VPC の ID に設定します。

    • お使いの ADB for PostgreSQL データベースが VPC 内にある場合、vpc-id をインスタンスを含む VPC の ID に設定します。

    • VPC 内で Alibaba Cloud Hologres データベースを使用する場合、vpc-id を Hologres インスタンスの VPC の ID に設定します。

    host  

    データベースの内部エンドポイント。

    port

    データベースインスタンスのポート番号。

    username

    データベースのユーザー名。

    password

    データベースのパスワード。

    db

    データベースの名前。

    table

    データベーステーブルの名前。次のフォーマットがサポートされています:

    1. `table_name`、例: `test`。

    2. `schema_name.table_name`、例: `public.test`。

  1. コマンドラインで次のコマンドを実行して ExternalStore を作成します。コマンドで、project_name をお使いの SLS プロジェクトの名前に置き換えます。このトピックでは、log-rds-demo を例として使用します。

    aliyunlog log create_external_store --project_name="log-rds-demo" --config="file:///home/shell/config.json" 
  2. ExternalStore に関する情報をクエリします。コマンドが正常に実行された場合、応答は返されません。aliyunlog log get_external_store --project_name="log-rds-demo" --store_name="sls_join_meta_store" --format-output=json コマンドを実行して、外部データソースの詳細をクエリします。次の情報が返されます:

    {
     "externalStoreName": "sls_join_meta_store",
     "parameter": {
     "db": "postgres",
     "host": "rm-bp1******rm76.pg.rds.aliyuncs.com",
     "port": "5432",
     "region": "cn-wulanchabu",
     "table": "test",
     "timezone": "",
     "username": "user",
     "vpc-id": "vpc-m5eq4irc1pucp*******"
     },
     "storeType": "postgresql"
    }

3. 関連付けられた PostgreSQL データをクエリする

外部ストアを作成したら、SLS コンソールに移動します。log-rds-demo という名前のプロジェクトで、任意の Logstore をクリックし、* | select * from sls_join_meta_store クエリ文を実行して、関連付けられた PostgreSQL データをクエリします。

image

関連操作

  • PostgreSQL 外部ストアを更新します。

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

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