[小ネタ]AWS Backupのデフォルトサービスロールは初めから存在する訳ではありません。
こんにちは。中村です。
はじめに
最近、新規アカウントにてAWS BackupのリソースをCloud Formationで作成しました。
そして、稼働検証にて自動でバックアップを取得した際に、アクセス権限のエラーにてジョブが失敗する事象に遭遇しました。
対応としては、デフォルトのサービスロールを作成するのみでしたが、小ネタとして共有します。
やってみた
前提
- CloudFormationにてバックアッププランを作成
- リソース割り当ての設定として、以下のIAMロールを指定する
- arn:aws:iam::<アカウントID>:role/service-role/AWSBackupDefaultServiceRole
失敗
CloudFormationで作成したリソース設定内容にしたがってバックアップジョブが実行された後に、コンソールからジョブを確認すると「アクセスが拒否されました」としてエラーとなりました。
ここで「デフォルトのロール」のリンク先を確認すると、ロールが存在しないことが確認できます。
私はデフォルトのサービスロールが初めから存在していると誤認していました。
公式ドキュメントには下記の通りに案内があります。
デフォルトロールは、 AWS Management Consoleを使用すると自動的に作成されます。 AWS Command Line Interface (AWS CLI) を使用してデフォルトのロールを作成できますが、手動で行う必要があります。
今まで事前に検証していた際は、マネジメントコンソールからオンデマンドバックアップを取得する等をしており、あまり意識することなくデフォルトのサービスロールを作成していたのだと振り返っています。
サービスロールを作成する
今回の設定では、デフォルトのサービスロールを利用したいため、ロールを作成する必要があります。
※もちろん、カスタムロールを作成してバックアッププランに割り当てることも可能です。
公式ドキュメントに記載の通り、「コンソール内でデフォルトのサービスロールを作成する」ことができます。
2つ方法があります。
- バックアッププランを作成後、リソースを割り当てる際にデフォルトのロールを作成する
- オンデマンドバックアップを作成する際に、デフォルトのロールを作成する
今回の場合は、CloudFormationでバックアッププランをすでに作成しているため、オンデマンドバックアップを作成する手順を利用してサービスロールを作成します。
AWS Backup のデフォルトのロールが存在しない場合は、正しい許可を持つロールが作成されます。
注記があることが確認できます。
このオンデマンドバックアップを実行する過程でデフォルトのロールを作成するのですね。
「オンデマンドバックアップを作成」を押下します。
するとエラーとなりました。
ただし、この状態で、IAMロール「AWSBackupDefaultServiceRole」を検索してみると、作成されていることがわかります。
推測ですが、AWS内部で一度バックアップ処理を実行して、IAMロールがなかったためにエラー。続けてデフォルトのロールを作成という処理が実行されたのだと考えられます。
上記エラーの直後、再度「オンデマンドバックアップを作成」を押下するとバックアップジョブは進行します。
変則的な利用方法としては、1回目は押下し、2回目は押下しないという方法でデフォルトのサービスロールのみ作成するという小技もあるかもしれません。
2025/4/21時点での動作結果のため、今後処理内容が変更となる可能性がある点にはご留意ください。
次のジョブを見守る
サービスロールが作成されたことを確認して、当初CloudFormationで作成したバックアッププランを利用してジョブが成功することを確認します。
成功しました。
さいごに
今回の事象を通して、AWS Backupのサービスロールについて振り返るきっかけとなりました。
ニッチな事象かと思いましたが、どなたかの参考となれば嬉しいです。