RDB¶
マネージド RDB のインスタンス初期化及び、データベースの初期設定を行います。
RDB 内に格納されたデータの所有権はユーザーに帰属するため、デフォルトでは パッケージ削除時にインスタンス及びデータベースの削除は行いません。
設定値 |
|
---|---|
Chart |
rdb |
重要
Google Cloud 環境では一旦インスタンスの削除を行なうと、同一名のインスタンスは7日間の間作成できなくなります。
対応サービス¶
Azure: Azure Database for MySQL (Flexible Server), Azure Database for PostgreSQL (Flexible Server), Azure SQL Database
Google Cloud: Cloud SQL
AWS: Amazon RDS
パッケージの機能¶
本パッケージでは、各クラウドの マネージド RDB のインスタンスに関する以下の機能を提供します。
- RDB インスタンスの作成。
インスタンスのマシンタイプに関する設定。
インスタンスのデーターベースエンジンのバージョン設定。
インスタンスに割り当てるストレージの設定。 (Azure/AWSのみ対応)
高可用性に関する設定。
バックアップに関する設定。
- RDBインスタンスに接続するネットワークの設定。
- Azureの場合
ファイヤーウォールルールの設定。
接続可能な VNET の設定。
パブリック・プライベートアクセスの制御。
- AWSの場合
接続可能な subnet の設定。
セキュリティグループの設定。
- Google Cloudの場合
- プライベートアクセスのみ許容する状態で構築。
パブリック・プライベートに関わらず、Cloud SQL Auth Proxy を利用してアクセスを行います。
- インスタンス作成時の初期データベースの作成。
- Google Cloudの場合
複数のデータベースを作成可能。
- Azureの場合
MySQL/PostgreSQLの場合、複数のデータベースを作成可能。
SQL Databaseの場合、単一のデータベースを作成可能。
- AWSの場合
単一のデータベースを作成可能。
- 初期データベースユーザーの作成。
Google Cloudの場合、複数の初期ユーザーを作成可能。
Azure/AWSの場合、単一の初期ユーザーを作成可能。
SQL Instance の追加¶
クラウドサービスのマネージド SQL インスタンスを作成できます。
values の
instance.create
を true に設定し、新規パッケージインストールを行うことでインスタンスが作成されます。instance.create
が false の場合は既存のインスタンスに対するネットワーク設定のみ行われます。
重要
インスタンスの作成には数分から数十分の時間がかかるため、初回インストール時にはデータベースを利用する他のアプリケーションがデータベースインスタンスの起動前にデータベースアクセスを行い、エラーにならないよう、インストール手順を考慮する必要があります。 (CNAP の提供するパッケージを利用してアプリケーションのデプロイを行う場合は、インスタンスの起動までコンテナの起動を待つため、アプリケーション起動に時間がかかる場合があります。)
重要
誤操作によるインスタンスの削除を防ぐため、本パッケージでは keepOnDelete
の値がデフォルトで true に設定されています。
true の状態でパッケージをアンインストールしてもデータベースインスタンスは残るため、実際に削除する際は、 keepOnDelete
を false に更新した後でアンインストールを行う必要があります。
重要
Azure ではインスタンスに設定した値が DB インスタンスのホスト名に使用されるので、インスタンス名は全 Azure アカウントで一意になるよう設定する必要があります。
Database 接続¶
Azure¶
[RELEASE_NAME].mysql.database.azure.com
を接続先ホストに設定します。
Google Cloud¶
作成したインスタンスへの接続には Cloud SQL Auth Proxy を利用します。
CNAP の提供する BASIC-DEPLOYMENT パッケージ等を利用する場合は、インスタンス名に本パッケージで設定した instance.name
の値を設定します。
AWS¶
AWS マネジメントコンソールから作成した RDS のエンドポイントを確認し、接続先ホストとして設定します。
database 追加¶
新規に作成するSQLインスタンスへデータベースを追加できます。
また、既存SQLインスタンスへのデータベースの追加は以下の2種類の方法で行うことができます。
values の
databases
リストにデータベースを追加し、パッケージのアップデートを行います。values の
instance.create
を false に設定し、新規パッケージインストールを行います。
重要
AWS と Azure SQL Database では 1 つの SQL インスタンスに対して作成できるデータベースが 1 つのため、values の databases
リストの第一要素のみが有効になります。
警告
Google Cloud SQL では異なるインスタンスに対してであっても同一 namespace に同じ名前の Database を作成することができません。 異なるインスタンスに同じ Database を作成したい場合は Application マニフェストを配置する namespace を分ける必要があります。
Database User 追加¶
データベースへユーザを追加できます。
Azure¶
values の
users
リストにユーザの名前、パスワードの登録されたSecret名を指定します。Azure では DB 作成時にサーバー管理者ユーザのみを作成するため values の
users
リストの第一要素のみが有効です。values の
users[0].secret.key
には external-secrets が参照するキーマネージメントサービスに保存されている、 データベースパスワード情報のキー名を指定します。external-secrets が参照するキーマネージメントサービスとは、Azureでは、cnap-顧客IDのキーコンテナです。
パスワードを事前にキーマネージメントサービスに登録します。
警告
Google Cloud SQL では異なるインスタンスに対してであっても同一 namespace に同じ名前の Database User を作成することができません。 異なるインスタンスに同じ Database User を設定したい場合は Application マニフェストを配置する namespace を分ける必要があります。
Google Cloud¶
values の
users
リストにユーザの名前、パスワードの登録されたSecret名を指定します。values の
users[].secret.key
には external-secrets が参照するキーマネージメントサービスに保存されている、 データベースパスワード情報のキー名を指定します。external-secrets が参照するキーマネージメントサービスとは、Google Cloudでは、クラスタの属するProjectのSecret Managerです。
パスワードを事前にキーマネージメントサービスに登録します。
AWS¶
values の
users
リストにユーザの名前、パスワードの登録された SecretManager の情報を指定します。AWS では DB 作成時にマスタユーザのみを作成するため values の
users
リストの第一要素のみが有効です。values の
users[0].secret.name
,users[0].secret.key
には マスタユーザのパスワードが登録されている Secret Manager のシークレット名、およびデータベースパスワード情報のキー名を指定します。パスワードを事前にキーマネージメントサービスに登録します。
Azure Resource Group の指定¶
Azure クラウドサービスのリソースグループは values の instance.owner.azure.resourceGroup.name
で指定できます。
リソースグループを指定する場合は、事前にリソースグループが作成されていることを確認してください。 リソースグループは UserConfig で作成可能です。
リソースグループを指定しない場合には、namespaceと同名のリソースグループにリソースが作成されます。
Azure Database Firewallルール の追加¶
Azure Databese に Firewallルールを追加できます。
values の
network.azure.firewallRules.name
にFirewallルール名を指定してください。values の
network.azure.firewallRules.startIpAddress
、azure.firewallRules.endIpAddress
で接続を許可するIPアドレス範囲を指定してください。0.0.0.0 - 0.0.0.0 を指定すると、[Azure サービスへのアクセスを許可]がオンに設定されます。
Azure プライベートエンドポイント の追加¶
プライベートエンドポイント、プライベートDNSゾーンを作成することができます。 VNET内のリソースから安全にデーターベースに接続するためには、プライベートエンドポイントを使用します。 以下のように、プライベートエンドポイントを作成するVNET, サブネットを指定します。
1つのVNETにプライベートエンドポイントを持つ2つ以上のSQL Serverを構築する場合など既存のプライベートDNSゾーンを利用する場合、 network.azure.privateEndpoint.privateDnsZone.create
をfalseに指定します。
既存のプライベートDNSゾーンのリソースグループが network.azure.privateEndpoint.vNetResourceGroup
と異なる場合、 network.azure.privateEndpoint.privateDnsZone.resourceGroupName
を指定します。
プライベートDNSゾーン名は privatelink.database.windows.net
固定です。
network:
azure:
privateEndpoint:
create: true
vNetResourceGroup: managed-common-rg
vNetName: cnap-vnet01
subnetName: cnap-db-subnet01
privateDnsZone:
create: true
マイグレーション¶
1.2.0¶
1.2.0 以前のバージョンから 1.2.0 以降のバージョンにアップデートすると、Azure Database VNETルールが利用できなくなります。 Azure Database VNETルールを利用していた場合、設定を削除して、プライベートエンドポイントを新たに設定する必要があります。
Values¶
Default values¶
# Default values for MASTER-CONTAINER-HELM-RDB.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
########## データベースの種別設定 ##########
# database の種別を指定する。各ベンダごとに以下を指定可能。
# Google Cloud: mysql, postgres
# Azure : mysql, postgres, sqlserver
# AWS : mysql, postgres
databaseType: mysql
########## リソース保持に関する設定 ##########
# パッケージアンインストール時にデータベースインスタンスを残す設定。
# 誤操作によるインスタンスの削除を防ぐため、本パッケージでは true がデフォルトの値となっています。
# true の状態でパッケージをアンインストールしてもデータベースインスタンスは残るため、
# 実際にインスタンス削除する際は、false に更新した後でアンインストールを行う必要があります。
# AWS, Azure SQLServer は未対応
keepOnDelete: true
########## インスタンス設定 ##########
instance:
create: true
name: default
# インスタンスのマシンタイプ(Azureの場合はSKU)を指定する。
#
# 設定可能な値は以下を参照
# AWS: https://aws.amazon.com/jp/rds/instance-types/
# Azure:
# Flexible: https://learn.microsoft.com/ja-jp/azure/mysql/flexible-server/concepts-service-tiers-storage#service-tiers-size-and-server-types
# SQLServer: `az sql db list-editions -l japaneast -o table` コマンドで利用可能な sku を確認します
# Google: https://cloud.google.com/sql/docs/postgres/instance-settings?hl=ja#machine-type-2ndgen
machineType: ""
# Azure にて MySQL/PostgreSQL(フレキシブルサーバ) の場合のみ使用する設定値。
# Azure の MySQL/PostgreSQL(フレキシブルサーバ) では tier を選択した上で、tier にて利用可能な machineTypeを選択します。
# 各 tier にて利用できる machineType は以下の通りです。
# - GeneralPurpose -> Standard_Dxxx
# - Burstable -> Standard_Bxxx
# - MemoryOptimized -> Standard_Exxx
# なお、instance.availability.highAvailability が true の場合、Burstableは選択不可です。
# また Azure の SQLServer で Zone 冗長を有効にする場合、選択できる machineType に制限があります。以下をご参照ください。
# https://learn.microsoft.com/en-us/azure/azure-sql/database/high-availability-sla?view=azuresql&tabs=azure-powershell#zone-redundant-availability
tier: GeneralPurpose
# インスタンスの配置先を指定する。
location: ""
# データベースエンジンのバージョンを指定する
# 8.0のようにバージョンを指定することで、databaseTypeと合わせて各ベンダーの適切な設定値に変換されデプロイされます。
engineVersion: "8.0"
# 可用性に関する値を設定する。
availability:
# 高可用性モードを有効化するかどうか設定する。各クラウドごとに以下の設定がなされます。
# * Google Cloud
# * true : プライマリのインスタンスとスタンバイのインスタンスがそれぞれ別のゾーンに構築されます。
# * false : プライマリのインスタンスのみ構築されます。
# * AWS
# * true : プライマリのインスタンスとスタンバイのインスタンスがそれぞれ別のAZに構築されます。
# * false : プライマリのインスタンスのみ構築されます。
# * Azure
# * true : instance.availability.azure の設定をもとにインスタンスが構築されます。
# * false : プライマリのインスタンスのみ構築されます。
highAvailability: true
# Azure では複数の高可用性オプションが選択可能なため、以下で設定を実施します。
azure:
# MySQL/PostgreSQL(フレキシブルサーバ) を利用する場合のみ有効。
# プライマリ サーバーの可用性ゾーンを指定する。
availabilityZone: "1"
# 設定する高可用性モードを選択する。 SameZone と ZoneRedundant が設定できます。
# * SameZone : プライマリインスタンスとスタンバイインスタンスが同一のAZに構築されます。
# * ZoneRedundant : プライマリインスタンスとスタンバイインスタンスがそれぞれ別のAZに構築されます。
# databaseType ごとに以下の値を設定可能です。
# * mysql : SameZone, ZoneRedundant
# * postgres : ZoneRedundant
# * sqlserver : SameZone, ZoneRedundant
highAvailabilityMode: ZoneRedundant
# DB instanceに割り当てるストレージについて設定する。
storage:
# AWS/Azureの場合に指定する。(今後はGCも使設定可能になる予定)
# storage size を GB で指定する。
size: 32
# AWSの場合に指定する。(今後、GCでも設定可能になる予定)
# storge の ディスクタイプを指定する。
# type: gp2
# インスタンスのバックアップについて設定する。
backup:
# バックアップの保持期間を日数で設定する。各クラウドごとに以下の値を設定できます。
# * Google Cloud : 0〜365
# 0を指定した場合バックアップ自体が無効になります。
# * AWS : 0〜35
# 0を指定した場合バックアップ自体が無効になります。
# * Azure : 1〜35
# Azureではバックアップを無効化することはできません。
retentionPeriod: 7
# GCP固有の設定を指定する。
gcp:
# 以下に指定された時刻にバックアップ処理を開始する。
startTime: 17:00
# AWS固有の設定を指定する。
aws:
# 以下に指定している時間の範囲でバックアップ処理を開始する。
startBackupWindow: 17:00
endBackupWindow: 17:30
azure:
# MySQL/PostgreSQL(フレキシブルサーバ) を利用する場合のみ有効。
# ジオ冗長バックアップを有効にする場合 true を設定する。
geoRedundantBackup: false
owner:
# Azure の場合のみ使用する設定値。
azure:
# インスタンスを作成するリソースグループに関する設定を行う
resourceGroup: {}
# # リソースグループの名前を指定する。
# name: staging
########## ネットワーク設定 ##########
# インスタンスに接続するネットワークに関する設定を行う。
network:
azure:
# データベースインスタンスに対する Firewall の設定を行います。
# 特に設定を指定しない場合全ネットワークからのアクセスを許容します。
# firewallRules:
# - name:
# startIpAddress:
# endIpAddress:
# パブリック ネットワーク アクセス利用する設定
# true の場合、パブリック ネットワーク アクセスを許可します。
# false の場合、プライベート リンクを介して行われた接続のみがこのサーバーに到達できます。
publicNetworkAccessEnabled: false
# プライベートエンドポイントを利用する設定(SQL Server の場合のみ有効)。
# create: true の場合、プライベートエンドポイントを作成します。vNetRule, firewallRulesは設定できません。
# create: false の場合、プライベートエンドポイントは作成しません。
# privateEndpoint:
# vNetResourceGroup:
# vNetName:
# subnetName:
# privateDnsZone:
# create: true
# create: true に設定した場合、作成するプラベートDNSゾーンのリソースグループを指定します。プライベートDNSゾーン名は固定です。
# create: false に設定した場合、既存のプラベートDNSゾーンのリソースグループを指定します。プライベートDNSゾーン名は固定です。
# resourceGroupName プライベートDNSゾーンのnetwork.azure.privateEndpoint.vNetResourceGroup が使用されます
# resourceGroupName:
# Azure にて SQLServer を利用する場合のみ使用する設定値。
# SQLデータベースおよびSQLデータウェアハウスデータベースの最小TLSバージョンを指定する。
# 有効な値は、1.0、1.1、1.2、およびDisabledです。
minimumTlsVersion: "1.2"
# SQLServerのコネクションポリシー
# Default, Proxy, Redirectのいずれか。デフォルトは Default
connectionPolicy: "Default"
aws: {}
# # インスタンスに接続する subnet を指定する。必須。
# subnets:
# - subnet-12345678
# - subnet-23456789
# # インスタンスに設定するセキュリティグループを指定する。
# # 指定がない場合、default VPC の default セキュリティグループ が設定されます。
# securityGroups:
# - sg-12345678
# - sg-23456789
########## データベース設定 ##########
# インスタンス作成時にデータベースを最初から作成したい場合に指定を行います。
# Google Cloud/Azure では複数のデータベースを作成可能です。
# AWS では1つのデータベースを作成可能です。リストに指定した最初の要素が反映されます。
databases: []
# -
# # 作成するデータベース名を指定します。
# name: testdb
# # 作成するデータベースの文字コード。Google Cloudでのみ有効な設定値です。
# # Postgres では UTF8 のみ指定可。MySQLでは utf8mb4 など https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html に記載されている値の中から設定可能です。
# charset: UTF8
# # 作成するデータベースに適用する照合順序。現在はAzureにてSQLServerを利用する場合のみ設定可能です。既存のデータベースの照合順序を変更した場合はデータベースが作り直されます。
# collation: SQL_Latin1_General_CP1_CI_AS
########## ユーザー設定 ##########
# インスタンスに作成する初期ユーザーの指定を行います。
# Google Cloud では 複数のユーザーを作成可能です。
# Azure/AWS ではマスタユーザとして一つのユーザーを作成可能です。リストに指定した最初の要素が反映されます。
users: []
# -
# # 作成するユーザー名を指定します。
# name:
# # 以下に設定した kms の値でユーザーのパスワードを設定します。
# secret:
# # シークレット名を指定する。英小文字・数字・ハイフンのみ使用可
# key: rdb-admin
# # AWSでのみ使用するパラメーター。
# # AWS SecretManagerではシークレット内に json 形式でキーを設定して値を保存するため、シークレット名の他にキー名の指定を行う。
# property: password
########## その他 HelmRelease用, external secret 用 ##########
# # HelmRelease構築時に自動で設定される設定なのでテスト実施時以外は触らない
# # クラウドのアカウント情報など設定
# global:
# azure:
# subscriptionID: 2d0ce241-563d-4082-8008-4ac0cbd394dd
# customerId: msp1234567890
# gcp:
# projectId: test-managed-project
# vendor: gcp
# RDBパッケージ内で利用する ServiceAccount に関する設定です。
# 基本的に変更の必要はありません。
serviceAccount:
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
# KMSとSecret情報を連携するための設定です。
# 基本的に変更の必要はありませんが変更する場合はVAULTパッケージにて作成したsecretStoreを設定します。
secretStore:
kind: ClusterSecretStore
name: default
Schema reference¶
type |
object |
|||||
properties |
||||||
|
データベース種別。 |
|||||
type |
string |
|||||
enum |
mysql, postgres, sqlserver |
|||||
default |
mysql |
|||||
|
true の場合パッケージアンインストール時にインスタンスを保持する。 |
|||||
type |
boolean |
|||||
default |
True |
|||||
|
インスタンス設定 |
|||||
type |
object |
|||||
properties |
||||||
|
Azure, Google Cloudの場合利用する。 |
|||||
type |
boolean |
|||||
default |
True |
|||||
|
Instance (Azureの場合Server)名を指定。 |
|||||
type |
string |
|||||
default |
default |
|||||
|
インスタンスの VM 種別 (Azureの場合には、sku ( Standard_B1ms, Standard_D2ds_v4 など)、SQLServerの例: GP_S_Gen5_2,HS_Gen4_1,BC_Gen5_2, ElasticPool, Basic,S0, P2 ,DW100c, DS100) |
|||||
type |
string |
|||||
|
インスタンスのロケーション。 GCP では Region に該当。 |
|||||
type |
string |
|||||
|
インスタンスで起動するデータベースのバージョン。Azure SQLServerの場合、有効な値は、2.0(v11サーバー用)および12.0(v12サーバー用) |
|||||
type |
string |
|||||
|
インスタンスの種別 (Azureの場合使用する)。選択したtierにより選択できるmachineTypeが異なる。Burstable -> Standard_Bxxx, GeneralPurpose -> Standard_Dxxx, MemoryOptimized -> Standard_Exxx。highAvailability=true(default)の場合、Burstableは選択不可 |
|||||
type |
string |
|||||
enum |
Burstable, GeneralPurpose, MemoryOptimized |
|||||
default |
GeneralPurpose |
|||||
|
データベースストレージ設定。 |
|||||
type |
object |
|||||
properties |
||||||
|
データベースストレージ種別 (AWSの場合使用する) |
|||||
type |
string |
|||||
|
データベースストレージ容量 (Azure, AWSの場合使用する) |
|||||
type |
number |
|||||
default |
32 |
|||||
|
可用性の設定。 |
|||||
type |
object |
|||||
properties |
||||||
|
true の場合高可用性オプションが有効になる。 |
|||||
type |
boolean |
|||||
default |
True |
|||||
|
Azure固有設定 |
|||||
type |
object |
|||||
properties |
||||||
|
可用性ゾーン。設定しない場合は優先設定なしとなる |
|||||
type |
string |
|||||
enum |
1, 2, 3 |
|||||
default |
1 |
|||||
|
高可用性モード。highAvailability を true に設定した場合のみ有効。mysqlの場合: SameZone, ZoneRedundant, postgresqlの場合: ZoneRedundant が設定可能。 |
|||||
type |
string |
|||||
enum |
SameZone, ZoneRedundant |
|||||
default |
ZoneRedundant |
|||||
|
自動バックアップ設定 |
|||||
type |
object |
|||||
properties |
||||||
|
自動バックアップの保持期間(日数)。Google Cloud の場合 0〜365、AWSの場合 0〜35、Azureの場合 1〜35 で指定する。 |
|||||
type |
number |
|||||
default |
7 |
|||||
|
Azure設定 |
|||||
type |
object |
|||||
properties |
||||||
|
バックアップの Geo 冗長を有効にする場合 true 。 MySQL/PostgreSQL(フレキシブルサーバ) を利用する場合のみ有効。 |
|||||
type |
boolean |
|||||
default |
False |
|||||
|
GCP設定 |
|||||
type |
object |
|||||
properties |
||||||
|
|
|||||
type |
string |
|||||
default |
17:00 |
|||||
|
AWS設定 |
|||||
type |
object |
|||||
properties |
||||||
|
自動バックアップのウインドウ時間の開始時刻。UTC で指定。startBackupWindow と endBackupWindow に指定された時刻の間でバックアップが開始される。 |
|||||
type |
string |
|||||
default |
17:00 |
|||||
|
自動バックアップのウインドウ時間の終了時刻。UTC で指定。startBackupWindow と endBackupWindow に指定された時刻の間でバックアップが開始される。 |
|||||
type |
string |
|||||
default |
17:30 |
|||||
|
ネットワーク設定 |
|||||
type |
object / null |
|||||
properties |
||||||
|
Azure固有設定 |
|||||
type |
object / null |
|||||
properties |
||||||
|
データベースネットワークの Firewall 設定。(デフォルトでは全ネットワークからのアクセスを許容する。) |
|||||
type |
array |
|||||
items |
type |
object |
||||
properties |
||||||
|
Firewall ルール名 |
|||||
type |
string |
|||||
|
IP アドレスレンジの開始アドレス。 |
|||||
type |
string |
|||||
|
IP アドレスレンジの終了アドレス。 |
|||||
type |
string |
|||||
|
プライベートエンドポイントの設定 |
|||||
type |
object |
|||||
properties |
||||||
|
プライベートエンドポイントを作成するVNETのリソースグループ名 |
|||||
type |
string |
|||||
|
プライベートエンドポイントを作成するVNET名 |
|||||
type |
string |
|||||
|
プライベートエンドポイントを作成するサブネット名 |
|||||
type |
string |
|||||
|
type |
object |
||||
properties |
||||||
|
プライベートDNSゾーンを作成するか。VNETに既存のdatabase用のプライベートDNSゾーンがリンクされている場合には、falseを指定します |
|||||
type |
boolean |
|||||
|
プライベートDNSゾーンのリソースグループ名。指定しない場合、network.azure.privateEndpoint.vNetResourceGroup のリソースグループ。 |
|||||
type |
string |
|||||
|
サーバーにパブリック ネットワーク アクセスを許可するかどうか |
|||||
type |
boolean |
|||||
|
サーバーに関連付けられたすべてのSQLデータベースおよびSQLデータウェアハウスデータベースの最小TLSバージョン。有効な値は、1.0、1.1、1.2、およびDisabledです。デフォルトは1.2です。 |
|||||
type |
string |
|||||
default |
1.2 |
|||||
|
SQLServerのコネクションポリシー。Default, Proxy, Redirectのいずれか。デフォルトは Default |
|||||
type |
string |
|||||
enum |
Default, Proxy, Redirect |
|||||
default |
Default |
|||||
|
AWS固有設定 |
|||||
type |
object / null |
|||||
properties |
||||||
|
RDB インスタンスをデプロイするサブネット ID のリスト。 |
|||||
type |
array |
|||||
items |
サブネット ID |
|||||
type |
string |
|||||
|
RDB インスタンスに設定するセキュリティグループのリスト。 |
|||||
type |
array |
|||||
items |
セキュリティグループ ID |
|||||
type |
string |
|||||
|
|
|||||
type |
array |
|||||
items |
type |
object |
||||
properties |
||||||
|
作成するデータベース名 |
|||||
type |
string |
|||||
|
作成するデータベースの文字コード。Google Cloudでのみ有効。Postgres では |
|||||
type |
string |
|||||
|
作成するデータベースに適用する照合順序。現在はAzureにてSQLServerを利用する場合のみ設定可能。既存のデータベースの照合順序を変更した場合はデータベースが作り直される |
|||||
type |
string |
|||||
default |
Japanese_CI_AS |
|||||
|
|
|||||
type |
array |
|||||
items |
type |
object |
||||
properties |
||||||
|
ユーザー名 |
|||||
type |
string |
|||||
|
マスタユーザーのパスワードを格納した KMS の情報 |
|||||
type |
object |
|||||
properties |
||||||
|
ユーザーのパスワードを格納した KMS のシークレット内のプロパティ名 (AWSの場合のみ使用) |
|||||
type |
string |
|||||
|
ユーザーのパスワードを格納した KMS のシークレット名。英小文字・数字・ハイフンのみ使用可 |
|||||
type |
string |
|||||
|
RDB アクセス権限を持つ k8s serviceAccount を作成する。(GCPのみ) |
|||||
type |
object |
|||||
properties |
||||||
|
ServiceAccunt に設定する追加の Annotation |
|||||
type |
object / null |
|||||
|
ServiceAccount 名。指定しない場合には名前を自動生成する |
|||||
type |
string |
|||||
|
参照する SecretStore の指定 |
|||||
type |
object |
|||||
properties |
||||||
|
SecretStore の名前 |
|||||
type |
string |
|||||
|
SecretStore の種類 |
|||||
type |
string |
|||||
enum |
SecretStore, ClusterSecretStore |
Example¶
Example1-1. Azure mysql¶
apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
name: mysql
namespace: staging
spec:
chart:
name: rdb
version: <latest>
settings:
databaseType: mysql
instance:
create: true
name: mysql-cnap-<customer id>-instance
location: japaneast
machineType: Standard_D2ds_v4
engineVersion: "8.0.21"
tier: GeneralPurpose
network:
azure:
firewallRules:
- name: allow-azure-services
startIpAddress: 0.0.0.0
endIpAddress: 0.0.0.0
privateEndpoint:
create: true
vNetResourceGroup: cnap-stg-az-common-rg
vNetName: cnap-vnet-01
subnetName: db-subnet-mysql-private-endpoint
privateDnsZone:
create: true
databases:
- name: staging-db
users:
- name: maintainer
secret:
key: rdb-maintainer-password
Example1-2. Azure SQL Database¶
apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
name: sqlserver
namespace: staging
spec:
chart:
name: rdb
version: <latest>
settings:
databaseType: sqlserver
instance:
create: true
name: sqlserver-cnap-<customer id>-name
location: japaneast
engineVersion: "12.0"
machineType: "P1"
storage:
size: 2
network:
azure:
firewallRules:
- name: allow-azure-services
startIpAddress: 0.0.0.0
endIpAddress: 0.0.0.0
publicNetworkAccessEnabled: true
minimumTlsVersion: "1.2"
connectionPolicy: "Redirect"
databases:
- name: cnap-sqldatabase-name
users:
- name: maintainer
secret:
key: rdb-maintainer-password
Example2. Google Cloud postgres¶
apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
name: postgres
namespace: staging
spec:
chart:
name: rdb
version: <latest>
settings:
databaseType: postgres
instance:
create: true
name: postgres
engineVersion: "15"
location: asia-northeast1
machineType: db-custom-1-3840
availability:
highAvailability: false
backup:
gcp:
enabled: true
databases:
- name: staging-db
charset: UTF8
users:
- name: admin1
secret:
key: rdb-admin-password
Example3. AWS mysql¶
apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
name: mysql
namespace: staging
spec:
chart:
name: rdb
version: <latest>
settings:
databaseType: mysql
instance:
name: mysql
machineType: db.t3.micro
location: ap-northeast-1
engineVersion: "8.0"
storage:
type: gp2
size: 20
backup:
retentionPeriod: 7
aws:
startTime: 16:00
endTime: 17:00
availability:
highAvailability: true
network:
aws:
subnets:
- "subnet-0076f20d6d9c2d164"
- "subnet-027f9b3f2470f697a"
databases:
- name: staging
users:
- name: admin
secret:
key: rdb-admin
property: password
Change Log¶
1.2.6¶
Released on 2025-08-07
What's Changed
パッケージ内で利用しているライブラリの更新を行いました。
1.2.5¶
Released on 2025-05-15
What's Changed
パッケージ内で利用しているライブラリの更新を行いました。
1.2.4¶
Released on 2025-04-03
What's Changed
- ドキュメントのvaluesの説明を変更しました
1.2.3¶
Released on 2025-03-03
What's Changed
AWSにおいて、network.aws.securityGroups を指定しない場合に、default セキュリティーグループを設定するように変更しました。