0
0

More than 1 year has passed since last update.

terraformでRDSを作成する

Posted at

作成するRDSの構造

image.png

image.png

パラメータグループ

rds.tf
# ---------------------------------------------
# RDS parameter group
# ---------------------------------------------
resource "aws_db_parameter_group" "mysql_standalone_parametergroup" {
  name   = "${var.project}-${var.environment}-mysql-standalone-parametergroup"
  family = "mysql8.0"

  parameter {
    name  = "character_set_database"
    value = "utf8mb4"
  }

  parameter {
    name  = "character_set_server"
    value = "utf8mb4"
  }
}


terraform apply -autoapprove
image.png

オプショングループ

※今回は空のオプショングループを作成

rds.tf
# ---------------------------------------------
# RDS option group
# ---------------------------------------------
resource "aws_db_option_group" "mysql_standalone_optiongroup" {
  name   = "${var.project}-${var.environment}-mysql-standalone-optiongroup"
  engine_name = "mysql"
  major_engine_version = "8.0"
}


terraform apply -autoapprove
image.png

サブネットグループ

RDSを展開する先を設定する

rds.tf
# ---------------------------------------------
# RDS subnet group
# ---------------------------------------------
resource "aws_db_subnet_group" "mysql_standalone_subnetgroup" {
  name       = "${var.project}-${var.environment}-mysql-standalone-subnetgroup"
  subnet_ids = [aws_subnet.private_subnet_1a.id, aws_subnet.private_subnet_1c.id]
  tags = {
    Name    = "${var.project}-${var.environment}-mysql-standalone-subnetgroup"
    Project = var.project
    Env     = var.environment
  }
}


terraform apply -autoapprove
image.png

RDS作成

基本設定

項目 説明
engine string データベースエンジン
engine_version string データベースエンジンのバージョン
identifier string RDSインスタンスリソース名
instance_class string インスタンスタイプ
username string マスターDBのユーザー名
password string マスターDBのパスワード
tags object タグ

ストレージ

項目 説明
allocated_storage string 割り当てるストレージサイズ(ギガバイト)
max_allcated_storage string オートスケールさせる最大ストレージサイズ
storage_type enum "standard","gp2","io1"
storage_encrypted string DBを暗号化するKMS鍵IDまたはfalse

他にも設定は膨大にある。疲れたので割愛(ネットワーク、DB設定、etc...)

resourceクラスを作って同じように対応
ちなみにRDSインスタンス立ち上げはめちゃくちゃ時間かかる
image.png

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0