share facebook facebook facebook twitter twitter menu hatena pocket slack

2021.08.04 WED

TerraformでAWS backupの設定を入れる

Shimpei Chiba

WRITTEN BY Shimpei Chiba

これは何

TerraformでAWS backupの設定を入れた際の記録です。

早速やってみた

$ vi aws_backup.tf
resource "aws_backup_plan" "bastion" {
  name = "tf_backup_plan_bastion"

  rule {
    rule_name         = "tf_backup_plan_rule_bastion"
    target_vault_name = aws_backup_vault.bastion.name

        #UTC 17時 = JTC 2時
        schedule          = "cron(0 17 * * ? *)"

        #二日後に削除
    lifecycle {
      delete_after = 2
    }
  }
}

resource "aws_backup_vault" "bastion" {
  name = "tf_backup_plan_vault_bastion"
}

resource "aws_backup_selection" "bastion" {
  iam_role_arn = "arn:aws:iam::<Account ID>:role/service-role/AWSBackupDefaultServiceRole"
  name         = "aws_backup_selection_bastion"
  plan_id      = aws_backup_plan.bastion.id

#<VolumeのID>は、コンソール上のEC2>Volume から確認できます。

resources = [
    "arn:aws:ec2:ap-northeast-1:<Account ID>:volume/<VolumeのID>"
  ]
}

総じて

構築している最中は、aws_backup_selectionのresourceでvolumeの指定の仕方がよくわからず、苦戦していたのですが、どうやらRegion,Account ID,Volume IDを指定すればいけるっぽいですね。
*実環境で運用される際には、バックアップが実際に取れるか、まで確認してからをオススメいたしますm(__)m

参考

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/backup_selection
https://www.jisakeisan.com/?y=2021&m=08&d=02&hh=02&mm=00&t1=jst&t2=utc

元記事はこちら

https://qiita.com/namely_/items/793730ec9607adabb093

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。