質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Terraform

Terraformは、インフラ構築のためのツールです。AWS/DigitalOcean/GoogleCloudといった様々なインフラに対応。インフラ構成のコード管理や変更の作業などの手間を自動化し、インフラ構築の効率化を図ることができます。

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

Q&A

解決済

1回答

1881閲覧

TerraformでのRDS構築時latest_restorable_timeが表示される意味について

GotHokLin

総合スコア34

Terraform

Terraformは、インフラ構築のためのツールです。AWS/DigitalOcean/GoogleCloudといった様々なインフラに対応。インフラ構成のコード管理や変更の作業などの手間を自動化し、インフラ構築の効率化を図ることができます。

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

0グッド

0クリップ

投稿2021/07/08 03:16

Terraform初心者です。現在TerraformでAWSの環境構築を行っております。
terraform planを行った後のRDSのlatest_restorable_timeが表示される理由について、お分かりになる方がいらっしゃればお教えください。

状況

2週間ほど前にTerraformでRDSを立ち上げたのですが、その後しばらく別の案件に関わっており、そのまま放置しておりました。
このとき利用していたTerraformのバージョンは0.15.3でした。

再度この環境に携わることになったのですが、Terraformが1.0を迎えたということで、アップデートを行いTerraform
のバージョンは1.0.2-1になりました。

ここで、Terraformのソースは変更せずにterraform planを行った際に以下の表示が出ました。

Note: Objects have changed outside of Terraform Terraform detected the following changes made outside of Terraform since the last "terraform apply": # aws_db_instance.stg-01 has been changed ~ resource "aws_db_instance" "stg-01" { id = "terraform-test-rds-stg-01" ~ latest_restorable_time = "2021-06-25T05:30:00Z" -> "2021-07-08T02:45:00Z" tags = { "Use" = "stg" } # (45 unchanged attributes hidden) } Unless you have made equivalent changes to your configuration, or ignored the relevant attributes using ignore_changes, the following plan may include actions to undo or respond to these changes.

また、RDSの立ち上げ時のTerraformのソースには、以下のように自動バックアップの設定は入れてあります。

backup_retention_period = 7

調べたこと

latest_restorable_timeは以下のドキュメントによると、データベースをリストアできる最新の日時とあります。
Resource: aws_db_instance

AWSのマネジメントコンソールを確認すると、「バックアップ」の項目で、「最も遅い復元可能な時刻」という箇所に「July 08, 2021, 2:50:00 AM UTC」と出ておりますので、latest_restorable_timeの変更後の値と合致しておりますので、ドキュメントにかかれている事との食い違いはありません。。

想定

自動でバックアップが作成され、前回Terraformにてapplyした日時から期間があいているために、最後のバックアップの日時が更新され、Terraforのstateファイルにある日時からずれ、Note: Objects have changed outside of Terraformという表示とともに挙げられたのではないかと推測しております。

疑問

ただ、自動バックアップは基本毎日バックアップされること、Terraformでのapplyはそうそう毎日は行わないことから、なにかの修正→applyするたびにこれが表示されるのではないかと思います。
そのためこの項目がTerraformで情報を取得・管理されている事自体にどのような意味があるのだろう、という疑問があります。

これが表示されるのにはどういった意味があるのでしょうか?単に新しくなったということを教えてくれているだけなのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance

Restore To Point In Time Note: You can restore to any point in time before the source DB instance's latest_restorable_time or a point up to the number of days specified in the source DB instance's backup_retention_period. For more information, please refer to the Developer Guide. This setting does not apply to aurora-mysql or aurora-postgresql DB engines. For Aurora, refer to the aws_rds_cluster resource documentation.

terraformにてPoint in time設定を利用して
当該RDSインスタンスからリカバリーオペレーションを実施する際に利用する値のようです。

投稿2021/07/15 04:32

fenethtool

総合スコア68

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GotHokLin

2021/07/21 04:55

ご回答ありがとうございます。 Terraformからリカバリを行うために、最新の値を取得している、ということなんですね。 大変参考になりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問