
RDS 自動バックアップにタグを付けるには?既存バックアップと保持期間変更時の違い
はじめに
Amazon RDS では、DB インスタンスやスナップショットだけでなく、自動バックアップ(auto-backup リソース)にもタグを付けられます。
そこで、保持期間 14 日で自動バックアップを有効にしている DB インスタンスに対し、modify-db-instance --tag-specifications でタグを付けようとしたところ、次のエラーになりました。
An error occurred (InvalidParameterCombination) when calling the ModifyDBInstance operation:
RDS can't tag auto-backup because the backup retention period is set to 0
保持期間は 14 日なのに、メッセージには「0 に設定されている」と表示されています。
本記事では、自動バックアップにタグを付けられる条件を実機で検証し、ドキュメントと照らし合わせて整理します。
いきなり結論
自動バックアップにタグを付ける方法は、自動バックアップがすでに存在するかどうかで異なります。
| 自動バックアップ | 方法 | 可否 |
|---|---|---|
| 存在する(保持期間 1 以上) | add-tags-to-resource |
⭕️ |
| 存在する(保持期間 1 以上) | modify-db-instance --tag-specifications |
❌(InvalidParameterCombination) |
| 存在しない(保持期間 0) | modify-db-instance --backup-retention-period N --tag-specifications |
⭕️ |
- 既存の自動バックアップには、
add-tags-to-resourceで ARN を指定してタグを付けます。 modify-db-instanceで--tag-specificationsを指定できるのは、保持期間を 0 から 1 以上に変更する場合のみです。- 保持期間を一度 0 にすると既存の自動バックアップは削除され、付与していたタグも引き継がれません。
なお、保持期間が 1 以上の DB インスタンスに --tag-specifications を指定すると、「backup retention period is set to 0」というエラーになります。これは、タグ付けの条件を満たしていないことを示していると推測されます。
検証してみる
検証環境
今回は、次の環境で検証しました。
- リージョン:ap-northeast-1
- エンジン:RDS for MySQL 8.4
自動バックアップは保持期間 14 日で有効になっています。
REGION=ap-northeast-1
DB=yutaka-test1
aws rds describe-db-instances --region "$REGION" --db-instance-identifier "$DB" \
--query "DBInstances[0].BackupRetentionPeriod"
14

検証 1:既存の自動バックアップに --tag-specifications
まず、modify-db-instance の --tag-specifications で、既存の自動バックアップにタグを付けてみます。
aws rds modify-db-instance --region "$REGION" \
--db-instance-identifier "$DB" \
--tag-specifications 'ResourceType=auto-backup,Tags=[{Key=Project,Value=copytag-test}]' \
--apply-immediately
An error occurred (InvalidParameterCombination) when calling the ModifyDBInstance operation: RDS can't tag auto-backup because the backup retention period is set to 0
冒頭のエラーが再現されました。
公式ドキュメントには、次のように記載されています。
インスタンスの自動バックアップのタグ付け
自動バックアップが有効になっている DB インスタンスを作成または変更するときは、ResourceType=auto-backup を指定した --tag-specifications を使用します。
(中略)
DB インスタンスの変更中の自動バックアップのタグ付け
バックアップ保持期間を 0 から 0 より大きい値に設定する場合のみ、--tag-specifications を使用して自動バックアップにタグを付けることができます。自動バックアップが既に存在する場合は、代わりに AddTagsToResource API を使用します。
つまり、modify-db-instance で --tag-specifications が使えるのは、保持期間を 0 から 1 以上に変更する場合です。
今回は自動バックアップがすでに存在していたためエラーになったと考えられ、ドキュメントの記載とも一致します。
上記を踏まえると、エラーメッセージの「backup retention period is set to 0」は、現在の保持期間ではなく、--tag-specifications でタグを付けられる条件(保持期間を 0 から変更すること)を満たしていない、という意図のメッセージだと推測されます。
検証 2:add-tags-to-resource でタグ付け
ドキュメントのとおり、既存の自動バックアップがある場合は add-tags-to-resource を使います。
2-1. 自動バックアップの ARN を取得
describe-db-instance-automated-backups で、自動バックアップの ARN を取得します。
AB_ARN=$(aws rds describe-db-instance-automated-backups --region "$REGION" --db-instance-identifier "$DB" --query "DBInstanceAutomatedBackups[0].DBInstanceAutomatedBackupsArn" --output text)
echo "AB_ARN=[$AB_ARN]"
AB_ARN=[arn:aws:rds:ap-northeast-1:123456789012:auto-backup:ab-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
現在、対象の自動バックアップにはタグは付いていません。
aws rds list-tags-for-resource --region "$REGION" \
--resource-name "$AB_ARN"
{
"TagList": []
}

2-2. タグを付与
取得した ARN を指定して、タグを付与します。
aws rds add-tags-to-resource --region "$REGION" \
--resource-name "$AB_ARN" \
--tags Key=Project,Value=copytag-test
2-3. タグを確認
既存の自動バックアップにタグを付与できました。
aws rds list-tags-for-resource --region "$REGION" \
--resource-name "$AB_ARN"
{
"TagList": [
{
"Key": "Project",
"Value": "copytag-test"
}
]
}

検証 3:自動バックアップ有効化と同時にタグ付け
続いて、ドキュメントにある「保持期間を0から0より大きい値に設定する場合」に、--tag-specifications でタグを付けられるかを確認してみます。
3-1. 保持期間を 0 にする
aws rds modify-db-instance --region "$REGION" --db-instance-identifier "$DB" \
--backup-retention-period 0 --apply-immediately
変更後、describe-db-instances で確認します。
aws rds describe-db-instances --region "$REGION" --db-instance-identifier "$DB" \
--query "DBInstances[0].BackupRetentionPeriod"
0
保持期間が 0 となり、自動バックアップが無効になりました。

3-2. 有効化と同時にタグを指定
再度自動バックアップを有効化するため、--backup-retention-period 14 と --tag-specifications を同時に指定します。検証 2 と区別するため、タグの値は copytag-test2 とします。
aws rds modify-db-instance --region "$REGION" --db-instance-identifier "$DB" \
--backup-retention-period 14 \
--tag-specifications 'ResourceType=auto-backup,Tags=[{Key=Project,Value=copytag-test2}]' \
--apply-immediately
今度はエラーになりませんでした。反映後に、保持期間を確認します。
aws rds describe-db-instances --region "$REGION" --db-instance-identifier "$DB" \
--query "DBInstances[0].BackupRetentionPeriod"
14
保持期間が 14 となり、自動バックアップが有効になりました。

3-3. 新しい自動バックアップのタグを確認
新しく作成された自動バックアップの ARN を取得し、タグを確認します。
AB_ARN2=$(aws rds describe-db-instance-automated-backups --region "$REGION" --db-instance-identifier "$DB" --query "DBInstanceAutomatedBackups[0].DBInstanceAutomatedBackupsArn" --output text)
echo "AB_ARN2=[$AB_ARN2]"
AB_ARN2=[arn:aws:rds:ap-northeast-1:123456789012:auto-backup:ab-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy]
aws rds list-tags-for-resource --region "$REGION" --resource-name "$AB_ARN2"
{
"TagList": [
{
"Key": "Project",
"Value": "copytag-test2"
}
]
}
--tag-specifications で指定したタグが、新しい自動バックアップに付与されました。

なお、検証 2 の結果と比較したところ、次の 2 点が確認できました。
- 自動バックアップの ARN の末尾(識別子)が変わっていた
検証2:arn:aws:rds:ap-northeast-1:123456789012:auto-backup:ab-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
検証3:arn:aws:rds:ap-northeast-1:123456789012:auto-backup:ab-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- 検証 2 で付与した
copytag-testタグが残っていなかった
これはドキュメントに記載のとおり、保持期間を 0 にしたことで既存の自動バックアップがすべて削除されたためです。
DB インスタンスまたはマルチ AZ DB クラスターの自動バックアップを無効にすると、データベースの既存の自動バックアップがすべて削除されます。自動バックアップを無効にしてから再度有効にすると、自動バックアップを再度有効にした時点からリストアをスタートできます。
保持期間を 14 に戻した時点で新しい自動バックアップが作成されたため、以前付与したタグは引き継がれませんでした。
まとめ
今回は、Amazon RDS の自動バックアップにタグを付ける方法を検証しました。
保持期間 14 日の DB インスタンスで modify-db-instance --tag-specifications を実行すると、「backup retention period is set to 0」というエラーが表示されます。このメッセージは実際の保持期間とは一致しませんが、--tag-specifications でタグを付けられる条件(保持期間を 0 から 1 以上に変更すること)を満たしていないことを示していると推測されます。
既存の自動バックアップにタグを付けたい場合は、add-tags-to-resource を使用してください。
本ブログの内容が、どなたかの参考になれば幸いです。
参考情報
- Amazon RDS リソースのタグ付け - 自動バックアップリソースのタグ付け
- 保持している自動バックアップの削除 - 自動バックアップの無効化
- Perform a backup of Amazon RDS MySQL DB instance | AWS re:Post
- add-tags-to-resource — AWS CLI 2.38.2 Command Reference
- describe-db-instance-automated-backups — AWS CLI 2.38.2 Command Reference
クラスメソッドオペレーションズ株式会社について
クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました








