PostgreSQL
- 更新日2026-05-15
- 12分で読める
PostgreSQLは、ダッシュボードホストサービス、テストモニタサービス、およびダイナミックフォームフィールドサービスに必要です。
一般的な要件
PostgreSQLサーバを使用するようにサービスを構成する前に、以下を確認してください。
- プロビジョニングされたPostgreSQLサーバ。最高のパフォーマンスとセキュリティを得るには、PostgreSQLインスタンスを他のアプリケーションと共有するのではなくSystemLink専用にすることをお勧めします。
- PostgreSQLサーバのホスト名。
- 少なくとも1人のデータベースユーザの資格情報。
- データベースとユーザを作成するためのPostgreSQL管理者権限。
- 安全な接続のためのTLS証明書。(推奨)
初回起動時および一部のアップグレードシナリオでは、各サービスが必要なスキーマとテーブルを作成します。セットアップ後、ユーザの「作成」権限を取り消すことができます。以下の表は、通常の操作に必要な最小権限を示します。
| 場所 | 権限 |
|---|---|
| データベース | CONNECT |
| サービススキーマ | CREATE、USAGE |
| スキーマ内のテーブル | SELECT、INSERT、UPDATE、DELETE |
ダッシュボードホストサービスからのデータを外部のPostgreSQLサーバに保存する
データベースとユーザを作成し、そのユーザにデータベースに対するCREATE権限があることを確認します。デフォルトのデータベース名はgrafanaです。
Helmでシークレットを管理する場合は、systemlink-secrets.yamlにデータベース資格情報を追加します。
dashboardhost:
secrets:
database:
host: "<postgresql-hostname>:<port>"
user: "systemlink"
password: "<database-password>"systemlink-values.yamlで、デフォルトのdashboardhost.grafana.extraSecretMountsおよびdashboardhost.grafana.extraConfigmapMounts構成が有効になっていることを確認します。
dashboardhost:
grafana:
extraSecretMounts:
- name: *dashboardhostdbSecret
secretName: *dashboardhostdbSecret
defaultMode: 0440
mountPath: "/etc/secrets/dashboardhost"
readOnly: true
extraConfigmapMounts:
- name: *postgresCertificateConfigMap
mountPath: "/etc/ssl/certs/dashboardhost/"
subPath: *postgresCertificateFileName
configMap: *postgresCertificateConfigMap
readOnly: trueテストモニタサービスからのデータを外部のPostgreSQLサーバに保存する
データベースとユーザを作成し、そのユーザにデータベースに対するCREATE権限があることを確認します。
今後、テストモニタサービスチャートが更新されたときに、スキーマとテーブルの変更が必要になる場合があります。これらを変更するには、テストモニタサービスチャートがスキーマとテーブルを所有するユーザとして動作する必要があります。日常の操作を処理するユーザの他に、より高い権限を持つ別のユーザを指定して、データベースの移行を実行することができます。
PostgreSQL接続は、接続文字列 (推奨) または個々の接続パラメータを使用して構成できます。
接続文字列を使用する (推奨):- 資格情報をsystemlink-secrets.yamlに追加します。
testmonitorservice: secrets: database: connectionString: "Host=<postgresql-hostname>;Database=<database-name>;Username=<database-user>;Password=<database-password>;SslMode=Require" migrationConnectionString: "Host=<postgresql-hostname>;Database=<database-name>;Username=<migration-user>;Password=<migration-password>;SslMode=Require" - 次に、systemlink-values.yamlで接続を構成します。
testmonitorservice: database: connectionString: secretName: "testmonitorservicedb-connection" connectionStringKey: "connection-string" migrationConnectionStringKey: "migration-connection-string" tls: enabled: true existingConfigMap: *postgresCertificateConfigMap certificateSubPath: *postgresCertificateFileName
個々の接続パラメータを使用する:
- または、接続パラメータを個別に指定することもできます。資格情報をsystemlink-secrets.yamlに追加します。
testmonitorservice: secrets: database: connectionPassword: "<database-password>" migrationConnectionPassword: "<migration-password>" - 次に、systemlink-values.yamlで接続を構成します。デフォルトのデータベース名はnisystemlinkで、デフォルトのユーザはnisystemlinkです。
testmonitorservice: database: connectionInfo: host: "<postgresql-hostname>" port: "5432" dbName: "nisystemlink" user: "nisystemlink" migrationUser: "<migration-user>" secretName: "testmonitorservicedb-connection" passwordKey: "password" migrationPasswordKey: "migration-password" tls: enabled: true existingConfigMap: *postgresCertificateConfigMap certificateSubPath: *postgresCertificateFileName
ダイナミックフォームフィールドサービスからのデータを外部のPostgreSQLサーバに保存する
データベースとユーザを作成し、そのユーザにデータベースに対するCREATE権限があることを確認します。
今後、ダイナミックフォームフィールドサービスチャートが更新されたときに、スキーマとテーブルの変更が必要になる場合があります。これらを変更するには、ダイナミックフォームフィールドサービスチャートがスキーマとテーブルを所有するユーザとして動作する必要があります。日常の操作を処理するユーザの他に、より高い権限を持つ別のユーザを指定して、データベースの移行を実行することができます。
PostgreSQL接続は、接続文字列 (推奨) または個々の接続パラメータを使用して構成できます。
接続文字列を使用する (推奨):
- 資格情報をsystemlink-secrets.yamlに追加します。
dynamicformfields: secrets: database: connectionString: "Host=<postgresql-hostname>;Database=<database-name>;Username=<database-user>;Password=<database-password>;SslMode=Require" migrationConnectionString: "Host=<postgresql-hostname>;Database=<database-name>;Username=<migration-user>;Password=<migration-password>;SslMode=Require" - 次に、systemlink-values.yamlで接続を構成します。
dynamicformfields: database: connectionString: secretName: "dynamicformfields-db-connection" connectionStringKey: "connection-string" migrationConnectionStringKey: "migration-connection-string" tls: enabled: true existingConfigMap: *postgresCertificateConfigMap certificateSubPath: *postgresCertificateFileName
または、接続パラメータを個別に指定することもできます。
- 資格情報をsystemlink-secrets.yamlに追加します。
dynamicformfields: secrets: database: connectionPassword: "<database-password>" migrationConnectionPassword: "<migration-password>" - 次に、systemlink-values.yamlで接続を構成します。デフォルトのデータベース名はnisystemlinkで、デフォルトのユーザはnisystemlinkです。
dynamicformfields: database: connectionInfo: host: "<postgresql-hostname>" port: "5432" dbName: "nisystemlink" user: "nisystemlink" migrationUser: "<migration-user>" secretName: "dynamicformfields-db-connection" passwordKey: "password" migrationPasswordKey: "migration-password" tls: enabled: true existingConfigMap: *postgresCertificateConfigMap certificateSubPath: *postgresCertificateFileName"
関連コンテンツ
- SystemLink環境アーキテクチャ
SystemLink Enterpriseは、サービス指向アーキテクチャのアプリケーションです。Kubernetesでホストされるマイクロサービスがアーキテクチャを構成します。SystemLink Enterpriseは拡張性、耐障害性、高可用性を備えています。以下の表は、SystemLink Enterpriseアーキテクチャの主なコンポーネントの概要を示しています。
- SystemLink Enterpriseのホストおよび操作を準備する
SystemLink Enterpriseをインストールする前に、以下のネットワーク、コンピューティング、ストレージ、セキュリティインフラストラクチャが整っていることを確認してください。
- インストールを検証する
SystemLink Enterprise が正しくインストールされたことをテストします。
- SystemLink Enterpriseと外部依存項目の互換性
- Azure AKSにおけるSystemLink Enterprise
Azure Kubernetes Service (AKS) は、独自のKubernetesコントロールプレーンをインストールして操作することなく、Azure上でKubernetesを簡単に実行できるようにするマネージドKubernetesサービスです。
- 必須のシークレット
シークレットは、機密情報を格納するために使用されるKubernetesオブジェクトです。