前提
required_providers
で指定するhashicorp/aws
のバージョンは4.15以上でないとserverlessv2_scaling_configuration
が使用できないので注意
AuroraServerlessV2を構築
従来のAuroraを構築するコードに下記の指定を追加する。
-
engine_mode
をprovisioned
で追加 -
serverlessv2_scaling_configuration
を追加
引数はserverlessv2_scaling_configuration
を参考にする -
aws_rds_cluster_instance
のinstance_class
をdb.serverless
で指定する
例
resource "aws_rds_cluster" "example" {
cluster_identifier = "example"
engine = "aurora-postgresql"
engine_mode = "provisioned"
engine_version = "13.6"
database_name = "test"
master_username = "test"
master_password = "must_be_eight_characters"
serverlessv2_scaling_configuration {
max_capacity = 1.0
min_capacity = 0.5
}
}
resource "aws_rds_cluster_instance" "example" {
cluster_identifier = aws_rds_cluster.example.id
instance_class = "db.serverless"
engine = aws_rds_cluster.example.engine
engine_version = aws_rds_cluster.example.engine_version
}
serverlessv2_scaling_configuration
引数は下記の2つで指定する。
max_capacity
(必須) プロビジョニングされた DB エンジン モードでの Aurora DB クラスターの最大容量です。最大容量は最小容量以上である必要があります。有効な容量値は0.5から128までの範囲で、0.5刻みで指定します。
min_capacity
(必須) プロビジョニングされたDBエンジンモードでのAurora DBクラスターの最小容量です。最小容量は最大容量以下である必要があります。有効な容量値は0.5から128の範囲で、0.5刻みで指定します。
例
resource "aws_rds_cluster" "example" {
# ... other configuration ...
serverlessv2_scaling_configuration {
max_capacity = 128.0
min_capacity = 0.5
}
}
まとめ
既存でAurora構築のコードがある場合は殆どの設定を流用できました。
マルチAZについては別途対応が必要になりますので、記事を纏めれたらと思います。