3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

TerraformでRDSのスナップショットから復元(リストア)したことなかったので試した

Posted at

すでに取得されているスナップショットを元にTerraformから復元(リストア)したことがなかったな、ということで試しました。

今回は、RDSのスナップショットを元に新しいインスタンスを作成します。

1. スナップショットを作成する

必要であれば手動でスナップショットを作成してください。
手順は以下のドキュメントをご参照ください。

DB スナップショットの作成 - Amazon Relational Database Service

2. Terraformで1で取得したスナップショットからRDSインスタンスを作成する

2-1. dataでスナップショットを取り込む

既存リソースであるスナップショットを取り込みます。

data "aws_db_snapshot" "任意のリソース名" {
    db_snapshot_identifier = "{スナップショット名}"
}

aws_db_snapshot | Resources | hashicorp/aws | Terraform Registry

クラスターの場合はこちらだと思います。

aws_db_cluster_snapshot | Data Sources | hashicorp/aws | Terraform Registry

2-2. インスタンスの作成

snapshot_identifier で先程取得したスナップショットのIDを指定します。

resource "aws_db_instance" "任意のリソース名" {
  allocated_storage    = 10
  db_name              = "mydb"
  engine               = "mysql"
  engine_version       = "5.7"
  instance_class       = "db.t3.micro"
  username             = "foo"
  password             = "foobarbaz"
  parameter_group_name = "default.mysql5.7"
  skip_final_snapshot  = true
  snapshot_identifier = "${data.aws_db_snapshot.上記で付けたリソース名.id}"
}

aws_db_instance | Resources | hashicorp/aws | Terraform Registry

2-3. 実行

$ terraform apply

以上です。

参考

TerraformでスナップショットからRDSを復元・リストアする | Hodalog

TerraformでRDS Auroraクラスタのリストアをする - そうなんでげす

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?