DB-AURORA

Amazon Aurora のクラスタ、インスタンスの設定及び、データベース、ユーザの初期設定を行います。

Aurora 内に格納されたデータの所有権はユーザーに帰属するため、デフォルトではパッケージ削除時にクラスタ、インスタンス、データベースの削除は行いません。

設定値

Chart

db-aurora

対応データベースエンジン

  • Aurora MySQL

  • Aurora PostgreSQL

パッケージの機能

本パッケージでは、 Amazon Aurora のインスタンスに関する以下の機能を提供します。

  • Aurora クラスタの作成・設定。
    • クラスタのロケーション設定

    • クラスタのデーターベースエンジンのバージョン設定。

    • クラスタに割り当てるストレージ種別の設定。

    • クラスタのスケーリングに関する設定(サーバレスの場合のみ)

    • クラスタのバックアップに関する設定。

    • クラスタに接続する subnet の設定。

    • クラスタのセキュリティグループ設定。

    • Performance Insights

    • CloudWatch Logs にエクスポートするログの種類

    • ストレージ暗号化

    • タグ

  • 各クラスタにおける Aurora インスタンスの作成・設定。
    • インスタンスの個数設定

    • インスタンスのマシンタイプ(インスタンスクラス)の設定

    • 拡張モニタリング

  • Aurora インスタンス作成時の初期データベースの作成。
    • 単一のデータベースを作成可能。

  • 初期データベースユーザーの作成。
    • マスターユーザーを作成可能。

Database 接続

AWS マネジメントコンソールから作成した Aurora インスタンスのエンドポイントを確認し、接続先ホストとして設定します。

インスタンスクラスの変更

Values の instance.machineType を変更することで本パッケージで管理している Aurora クラスタ内のインスタンスクラスを変更することができます。

Values の applyImmediatelytrue の場合は変更が即時反映されます。 Values の applyImmediatelyfalse の場合は変更は即時には反映されず、メンテナンスウィンドウの範囲で変更が反映されます。 メンテナンスウィンドウを指定する場合は Values の maintenance.startMaintenanceWindow および maintenance.endMaintenanceWindow を指定してください。

クラスタのデーターベースエンジンのバージョン設定

Values の engineVersion を変更することで本パッケージで管理している Aurora クラスタのデーターベースエンジンのバージョンを変更することができます。

PostgreSQLでは、バージョンを固定する場合、 15.4 のように指定します。下位のバージョンは省略して 1514 のように指定した場合、マイナーバージョンは自動でアップグレードされます。

MySQL の場合は、バージョンを固定する場合、 8.0.mysql_aurora.3.04.1 のように指定します。 8.05.7 のように指定した場合、パッチバージョンは自動でアップグレードされます( 8 のようにメジャーバージョンのみ指定することはできません。)。

ユーザパスワードの指定方法

  • values の user リストにユーザの名前、パスワードの登録された SecretManager の情報を指定します。

  • values の user.secret.name , user.secret.key には マスタユーザのパスワードが登録されている Secret Manager のシークレット名、およびデータベースパスワード情報のキー名を指定します。

  • パスワードを事前にキーマネージメントサービスに登録します。

サーバレスインスタンスの設定方法

サーバレスインスタンスを用いて Aurora クラスタを構築する場合は Values の machineTypedb.serverless を指定してください。

また、その場合 Values の engineMode には provisioned を指定してください。

Values

Default values

# Default values for MASTER-CONTAINER-HELM-DB-AURORA.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

########## リソース保持に関する設定 ##########
# パッケージアンインストール時にデータベースインスタンスを残す設定。 
# 誤操作によるインスタンスの削除を防ぐため、本パッケージでは true がデフォルトの値となっています。
# true の状態でパッケージをアンインストールしてもデータベースクラスターおよびインスタンスは残るため、
# 実際に削除する際は、false に更新した後でアンインストールを行う必要があります。
keepOnDelete: true


# 設定変更を即時に反映するかを指定します。
# false の場合、次のメンテナンスウィンドウで適用されます。
applyImmediately: false

# globalCluster:
#   create: true
#   id: global

########## DBクラスタ・インスタンス設定 ##########
# DB クラスター識別子を指定します。
# AWS アカウントが現在の AWS リージョンで一意である必要があります。
# DBインスタンスは name-1 という名前になります。
name: 

########## データベースの種別設定 ##########
# database の種別を指定する。以下を指定可能。
# mysql, postgresql
databaseType: mysql

# データベースエンジンのバージョンを指定する
# PostgreSQLでは、バージョンを固定する場合、 "15.4"のように指定します。
# 下位のバージョンは省略して "15" や "14" のように指定した場合、マイナーバージョンは自動でアップグレードされます。
# MySQL の場合は、バージョンを固定する場合、 "8.0.mysql_aurora.3.04.1"のように指定します。
# "8.0" や "5.7" のように指定した場合、パッチバージョンは自動でアップグレードされます( "8" のようにメジャーバージョンのみ指定することはできません。)。
engineVersion: ""


# 配置先のリージョンを指定する。 
location: ""

# 配置先のAZを指定する。指定しない場合は、locationで指定したリージョンのAZが指定されます。
availabilityZones: []
# availabilityZones: 
#   - "ap-northeast-1a"
#   - "ap-northeast-1c"
#   - "ap-northeast-1d"

# multimaster, parallelquery, provisioned. Defaults to: provisioned
# provisioned:  通常、サーバーレス(Aurora Serverless v2)
# Serverless v1 は非サポートです。
engineMode: "provisioned"

instance:
  # 作成するインスタンスの個数
  count: 1

  # マシンタイプ(インスタンスクラス)を指定する。
  # 指定可能な値は以下参照。https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
  # engine versionとサポートするマシンタイプの組合せ https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html#Concepts.DBInstanceClass.SupportAurora
  # AWS リージョンごとに組み合わせが異なるため、aws rds describe-orderable-db-instance-options での確認を推奨します。
  # サーバレスDBインスタンス(Aurora Serverless v2)を利用する場合、"db.serverless" を指定してください。
  machineType: ""

  # Aurora サーバレスの場合の容量範囲の設定です。
  # https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2-examples-setting-capacity-range-for-cluster
  # 各値は0.5から128.0まで0.5刻みで設定可能です。
  serverlessScalingConfiguration:
    maxCapacity: 1.0
    minCapacity: 0.5


# DBに割り当てるストレージについて設定する。
storage:
  encrypt:
    # ストレージ暗号化の有効化設定
    enabled: false

    # 暗号化に使用する KMS キーの ARN(事前にカスタマー管理型のキーを作成する必要があります)。指定しない場合は、AWS マネージド型キーの aws/rdsが使用されます。(注意)データベース作成後に変更するとデータベースの再作成が行われます。
    kmsKeyId: ""

logging:
  # CloudWatch Logs にエクスポートするログの種類(配列)
  cloudwatchLogsExports: []

monitoring:
  performanceInsights:
    # Performance Insights の有効化設定
    enabled: false
    # Performance Insights データの保持期間
    retentionPeriod: 7
    # Performance Insights の暗号化に使用する KMS キーの ARN(事前にカスタマー管理型のキーを作成する必要があります)。指定しない場合は、AWS マネージド型キーの aws/rdsが使用されます。
    kmsKeyId: ""

  enhancedMonitoring:
    # 拡張モニタリングの有効化設定
    enabled: false
    # 拡張モニタリングの収集間隔
    interval: 60

# リソースに割り当てるタグ(キーと値のペア)
# tags: 
#   key: "value"


########## ネットワーク設定 ##########
# インスタンスに接続するネットワークに関する設定を行う。
network:
  # インスタンスに接続する subnet を指定する。必須。
  # subnets: 
  #   - subnet-12345678
  #   - subnet-23456789
  # # インスタンスに設定するセキュリティグループを指定する。
  # # 指定がない場合、default VPC の default セキュリティグループ が設定されます。
  # securityGroups:
  #   - sg-12345678
  #   - sg-23456789

# バックアップについて設定する。
backup:
  # バックアップの保持期間を日数で設定する。各クラウドごとに以下の値を設定できます。
  # * AWS          : 0〜35
  #                  0を指定した場合バックアップ自体が無効になります。
  retentionPeriod: 7
  # 以下に指定している時間(UTC)の範囲でバックアップ処理を開始する。
  # startBackupWindow: "17:00"
  # endBackupWindow: "17:30"

# メンテナンスについて設定する。
maintenance:
  # メンテナンスウィンドウの開始・終了時刻(UTC)を設定します。
  # 形式:"ddd:hh24:mi". Eg: "Mon:00:00".
  # DBエンジンのアップグレード、インサンスクラスの変更などのメンテナンスは、メンテナンスウィンドウ中にスタートされます。
  # startMaintenanceWindow: "Mon:00:00"
  # endMaintenanceWindow: "Mon:00:30"


########## データベース設定 ##########
# 1つのデータベースが自動的に作成されます。
database:
  # データベースの名前を指定します。
  name: default

########## ユーザー設定 ##########
# インスタンスに作成するユーザーの指定を行います。
# マスタユーザとして一つのユーザーを作成可能です。
user:
  # 作成するユーザー名を指定します。
  name:
  # 以下に設定した kms の値でユーザーのパスワードを設定します。
  secret:
    # シークレット名を指定する。
    key: aurora-admin
    # AWS SecretManagerではシークレット内に json 形式でキーを設定して値を保存するため、シークレット名の他にキー名の指定を行う。
    property: password

Schema reference

type

object

properties

  • keepOnDelete

true の場合パッケージアンインストール時に Aurora クラスタを保持する。

type

boolean

default

True

  • applyImmediately

true の場合は設定変更が即時に反映されます。

type

boolean

default

False

  • name

クラスター識別子

type

string

  • databaseType

データベース種別

type

string

enum

mysql, postgresql

default

mysql

  • engineVersion

PostgreSQLでは、バージョンを固定する場合、 15.4 のように指定します。下位のバージョンは省略して 1514 のように指定した場合、マイナーバージョンは自動でアップグレードされます。MySQL の場合は、バージョンを固定する場合、 8.0.mysql_aurora.3.04.1 のように指定します。 8.05.7 のように指定した場合、パッチバージョンは自動でアップグレードされます( 8 のようにメジャーバージョンのみ指定することはできません。)。

type

string

  • location

配置先のリージョン

type

string

  • availabilityZones

配置先のAZを指定する。指定しない場合は、locationで指定したリージョンのAZが指定される。

type

array

items

AZ 名

type

string

  • engineMode

インスタンス種別

type

string

enum

multimaster, parallelquery, provisioned

default

provisioned

  • instance

インスタンス設定

type

object

properties

  • count

作成するインスタンスの個数

type

number

  • machineType

インスタンスのマシンタイプ(インスタンスクラス)

type

string

  • serverlessScalingConfiguration

Aurora サーバレスの場合の容量範囲

type

object

properties

  • maxCapacity

最大容量設定

type

number

  • minCapacity

最小容量設定

type

number

  • storage

データベースに割り当てるストレージの設定

type

object

properties

  • type

ディスクタイプ。指定なし(Aurora スタンダード) または、aurora-iopt1(Aurora I/O 最適化)

type

string

enum

, aurora-iopt1

default

  • encrypt

ストレージ暗号化の設定。

type

object

properties

  • enabled

ストレージ暗号化を有効にするかどうか。

type

boolean

default

False

  • kmsKeyId

暗号化に使用する KMS キーの ARN。

type

string

default

  • logging

ロギングの設定。

type

object

properties

  • cloudwatchLogsExports

CloudWatch Logs にエクスポートするログの種類。設定可能な値は、audit, error, general, slowquery, iam-db-auth-error, postgresql

type

array

default

items

type

string

  • monitoring

拡張モニタリングの設定。

type

object

properties

  • performanceInsights

Performance Insights の設定。

type

object

properties

  • enabled

Performance Insights を有効にするかどうか。

type

boolean

default

False

  • retentionPeriod

Performance Insights データを保持する日数。有効は値は、7 または、 month * 31 (31, 62, 93 など) です。

type

integer

default

7

  • kmsKeyId

Performance Insights の暗号化に使用する KMS キーの ARN。指定しなければ aws/rds が使用される

type

string

  • enhancedMonitoring

Enhanced Monitoring の設定。

type

object

properties

  • enabled

拡張モニタリングを有効にするかどうか。

type

boolean

default

False

  • interval

DB インスタンスの拡張モニタリングメトリクスを収集する間隔(秒単位)。デフォルトは 60 です。有効な値: 0, 1, 5, 10, 15, 30, 60。

type

integer

enum

0, 1, 5, 10, 15, 30, 60

default

60

  • tags

リソースに割り当てるタグのマップ。

type

object

default

additionalProperties

type

string

  • network

ネットワーク設定

properties

  • subnets

Aurora クラスタをデプロイするサブネット ID のリスト。

type

array

items

サブネット ID

type

string

  • securityGroups

Aurora クラスタに設定するセキュリティグループのリスト。

type

array

items

セキュリティグループ ID

type

string

  • backup

Aurora クラスタのバックアップ設定

type

object

properties

  • retentionPeriod

バックアップの保持期間(0〜35の間の日数を設定)

type

number

  • startBackupWindow

バックアップウィンドウの開始時刻

type

string

  • endBackupWindow

バックアップウィンドウの終了時刻

type

string

  • maintenance

メンテナンスの設定

type

object

properties

  • startMaintenanceWindow

メンテナンスウィンドウの開始時刻

type

string

  • endMaintenanceWindow

メンテナンスウィンドウの終了時刻

type

string

  • database

データベース設定

type

object

properties

  • name

データベース名

type

string

default

default

  • user

type

object

properties

  • name

ユーザー名

type

string

  • secret

マスタユーザーのパスワードを格納した KMS の情報

type

object

properties

  • property

ユーザーのパスワードを格納した KMS のシークレット内のプロパティ名

type

string

  • key

ユーザーのパスワードを格納した KMS のシークレット名

type

string

Example

Example1. MySQL (Serverless)

apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
  name: aurora-mysql
  namespace: staging
spec:
  chart:
    name: db-aurora
    version: <latest>
  settings:
    name: aurora-mysql
    databaseType: mysql
    engineVersion: "8.0.mysql_aurora.3.04.1"
    location: "ap-northeast-1"
    engineMode: "provisioned"
    instance:
      count: 1
      machineType: "db.serverless"
      serverlessScalingConfiguration:
        maxCapacity: 2.0
        minCapacity: 0.5
    network:
      subnets:
        - "subnet-XXXXXXXXXXXXXXXXX" 
        - "subnet-YYYYYYYYYYYYYYYYY"
      securityGroups:
        - "sg-ZZZZZZZZZZZZZZZZZ"
    backup:
      retentionPeriod: 7
      startBackupWindow: "17:00"
      endBackupWindow: "17:30"
    maintenance:
      startMaintenanceWindow: "Mon:00:00"
      endMaintenanceWindow: "Mon:00:30"
    database:
      name: db1
    storage:
      encrypt:
        enabled: true
    logging:
      cloudwatchLogsExports:
        - "error"
        - "general"
        - "slowquery"
    monitoring:
      performanceInsights:
        enabled: true
        retentionPeriod: 31
      enhancedMonitoring:
        enabled: true
        interval: 60
    user:
      name: admin
      secret:
        key: aurora-admin
        property: password
    tags:
      Environment: "staging"
      Project: "test-project"
      Owner: "test-team"

Example2. PostgreSQL

apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
  name: aurora-pg
  namespace: staging
spec:
  chart:
    name: db-aurora
    version: <latest>
  settings:
    name: aurora-postgresql
    databaseType: postgresql
    engineVersion: "15"
    location: "ap-northeast-1"
    engineMode: "provisioned"
    instance:
      count: 1
      machineType: "db.r6g.xlarge"
    network:
      subnets:
        - "subnet-XXXXXXXXXXXXXXXXX" 
        - "subnet-YYYYYYYYYYYYYYYYY"
      securityGroups:
        - "sg-ZZZZZZZZZZZZZZZZZ"
    backup:
      retentionPeriod: 7
      startBackupWindow: "17:00"
      endBackupWindow: "17:30"
    maintenance:
      startMaintenanceWindow: "Mon:00:00"
      endMaintenanceWindow: "Mon:00:30"
    database:
      name: db1
    user:
      name: adminuser
      secret:
        key: aurora-admin
        property: password

Change Log

0.1.18

Released on 2025-09-09

What's Changed

エンジンバージョンの指定方法により、マイナー/パッチバージョン自動アップグレード機能の有効/無効を切り替えるように変更になりました。

PostgreSQLでは、バージョンを固定する場合、 15.4のように指定します。
下位のバージョンは省略して 1514 のように指定した場合、マイナーバージョンは自動でアップグレードされます。

MySQL の場合は、バージョンを固定する場合、 8.0.mysql_aurora.3.04.1のように指定します。
8.05.7 のように指定した場合、パッチバージョンは自動でアップグレードされます( 8 のようにメジャーバージョンのみ指定することはできません。)。

0.1.17

Released on 2025-08-07

What's Changed

パッケージ内で利用しているライブラリの更新を行いました。