バックアッププランへのリソースの割り当て - AWS Backup

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

バックアッププランへのリソースの割り当て

リソース割り当ては AWS Backup 、バックアッププランを使用して保護するリソースを指定します。 AWS Backup では、シンプルなデフォルト設定と、バックアッププランにリソースを割り当てるためのきめ細かなコントロールの両方が提供されます。バックアッププランを実行するたびに、リソース割り当て基準に一致するすべてのリソース AWS アカウント について をスキャンします。このレベルの自動化により、バックアッププランとリソース割り当てを 1 回だけ定義できます。 AWS Backup は、以前に定義したリソース割り当てに適した新しいリソースを検索してバックアップする作業を省くことができます。

が管理することをオプトインした AWS Backupがサポートするリソースタイプ AWS Backup を割り当てることができます。よりサポートされるリソースタイプにオプトインする方法については、 AWS Backup「開始方法 1: サービスオプトイン」を参照してください。

AWS Backup コンソールには、バックアッププランにリソースタイプを含める方法として、バックアッププランにリソースタイプを明示的に割り当てるか、すべてのリソースを含めるという 2 つの方法があります。これらの選択がサービスオプトインとどのように連携するかを理解するには、以下のポイントを参照してください。

  • リソースの割り当てがタグのみに基づいている場合は、サービスオプトイン設定が適用されます。

  • リソースタイプがバックアッププランに明示的に割り当てられている場合、その特定のサービスでオプトインが有効になっていなくても、バックアップに含まれます。これは、Aurora、Neptune、および Amazon DocumentDB には適用されません。これらのサービスを含めるには、オプトインを有効にする必要があります。

  • リソース割り当てでリソースタイプとタグの両方が指定されている場合、指定されたリソースタイプが最初にフィルタリングされ、タグはそれらのリソースをさらにフィルタリングします。

    ほとんどのリソースタイプでは、サービスオプトイン設定は無視されます。ただし、Aurora、Neptune、Amazon DocumentDB にはサービスオプトインが必要です。

  • アカウントがリージョンで を使用する AWS Backup (バックアップボールトまたはバックアッププランを作成する) 場合、そのアカウントは、その時点でリージョン AWS Backup で によってサポートされているすべてのリソースタイプに自動的にオプトインされます。後日そのリージョンに追加されたサポート対象サービスは、バックアッププランに自動的に含まれません。サポートされたら、これらのリソースタイプをオプトインできます。

  • Amazon FSx for NetApp ONTAP では、タグベースのリソース選択を使用する場合は、ファイルシステム全体ではなく個々のボリュームにタグを適用します。

リソースの割り当てには、リソースタイプリソースを含める (または除外する) ことができます。

  • リソースタイプには、 AWS Backupがサポートする AWS サービスまたはサードパーティーアプリケーションのすべてのインスタンスまたはリソースが含まれます。たとえば、DynamoDB リソースタイプはすべての DynamoDB テーブルを指します。

  • リソースは、DynamoDB テーブルの 1 つなど、リソースタイプの単一のインスタンスです。一意のリソース ID を使用してリソースを指定できます。

タグと条件演算子を使用して、リソースの割り当てをさらに絞り込むことができます。

コンソールを使用したリソースの割り当て

[リソースの割り当て] ページに移動するには:
  1. https://console.aws.amazon.com/backup で AWS Backup コンソールを開きます。

  2. [バックアッププラン] を選択します。

  3. [バックアッププランを作成)] を選択します。

  4. [テンプレートの選択] のドロップダウンリストで、任意のテンプレートを選択してから、[プランの作成] を選択します。

  5. バックアッププラン名を入力します。

  6. [プランの作成] を選択します。

  7. [リソースを割り当てる] を選択します。

リソースの割り当てを開始するには、[一般] セクションに追加します。
  1. リソースの割り当て名を入力します。

  2. [既定のロール] または [IAM ロールを選択] を選択します。

    注記

    IAM ロールを選択した場合は、割り当てるすべてのリソースをバックアップする権限があることを確認します。ロールがバックアップ権限のないリソースに遭遇すると、バックアッププランは失敗します。

リソースを割り当てるには、リソースの割り当てセクションの [リソース選択の定義] で 2 つのオプションのいずれかを選択します。

  • すべてのリソースタイプを含める。このオプションは、バックアッププランに割り当てられた現在および将来の AWS Backupでサポートされるすべてのリソースを保護するようにバックアッププランを設定します。このオプションを使用すると、データ資産をすばやく簡単に保護できます。

    このオプションを選択すると、オプションで次のステップとしてタグを使用して選択範囲を絞り込むことができます。

  • 特定のリソースタイプを含める。このオプションを選択する場合は、次のステップで特定のリソースタイプを選択する必要があります。

    1. [リソースタイプの選択] ドロップダウンメニューを使用して、1 つ以上のリソースタイプを割り当てます。

      重要

      RDS、Aurora、Neptune、および DocumentDB は同じ Amazon リソースネーム (ARN) を共有します。 AWS Backup を使用してこれらのリソースタイプの 1 つを管理するようにオプトインすると、バックアッププランに割り当てる際にすべてのリソースタイプがオプトインされます。選択を絞り込むには、タグと条件演算子を使用します。

      完了すると、 は選択したリソースタイプのリストとそのデフォルト設定 AWS Backup を表示します。これは、選択したリソースタイプごとにすべてのリソースを保護するためのものです。

    2. 必要に応じて、選択したリソースタイプから特定のリソースを除外する場合は、次の手順を実行します。

      1. [リソースの選択] ドロップダウンメニューを使用して、デフォルトオプションの選択を解除します。

      2. バックアッププランに割り当てる特定のリソースを選択します。

    3. オプションで、選択したリソースタイプから特定のリソース ID を除外することができます。このオプションは、前のステップで多くのリソースを選択するよりも高速になる可能性があるため、多数のリソースのうち 1 つまたは少数のリソースを除外する場合に使用します。リソースタイプからリソースを除外する前に、リソースタイプを含める必要があります。次のステップを使用して、リソース ID を除外します。

      1. [選択したリソースタイプから特定のリソース ID を除外する] で、リソースタイプの選択を使用して含めたリソースタイプを 1 つ以上選択します。

      2. リソースタイプごとに、リソースの選択メニューを使用して、除外するリソースを 1 つ以上選択します。

以前の選択肢に加えて、オプションのタグを使用して選択範囲を絞り込む機能を使用して、さらに詳細な選択を行うことができます。この機能を使用すると、タグを使用してリソースのサブセットを含めるように現在の選択を絞り込むことができます。

タグは、リソースの特定、整理、およびフィルタリングに役立つ特定のリソースに割り当てることができるキーと値のペアです。タグでは、大文字と小文字が区別されます。詳細については、AWS 全般リファレンスの「AWS リソースのタグ付け」を参照してください。

2 つ以上のタグを使用して選択範囲を絞り込むと、効果は AND 条件になります。たとえば、2 つのタグを使用して選択範囲を絞り込むと、env: prod および role: application では、両方のタグを持つリソースのみをバックアッププランに割り当てます。

タグを使用して選択を絞り込むには:
  1. [タグを使用して選択範囲を絞り込む] で、ドロップダウンリストから [キー] を選択します。

  2. ドロップダウンリストから [値の条件] を選択します。

    • は、次の入力、つまりキーと値のペア値を指します。

    • 条件EqualsContainsBegins with または Ends with、またその逆は Does not equalDoes not containDoes not begin with または Does not end with です。

  3. ドロップダウンリストから [] を選択します。

  4. 別のタグを使用してさらに絞り込むには、[タグの追加] を選択します。

プログラムによるリソースの割り当て

JSON ドキュメントでリソースの割り当てを定義できます。このサンプルリソース割り当ては、すべての Amazon EC2 インスタンスをバックアッププラン BACKUP-PLAN-ID に割り当てます。

{ "BackupPlanId":"BACKUP-PLAN-ID", "BackupSelection":{ "SelectionName":"resources-list-selection", "IamRoleArn":"arn:aws:iam::ACCOUNT-ID:role/IAM-ROLE-ARN", "Resources":[ "arn:aws:ec2:*:*:instance/*" ] } }

この JSON が backup-selection.json として保存されていると仮定すると、次の CLI コマンドを使用して、これらのリソースをバックアッププランに割り当てることができます。

aws backup create-backup-selection --cli-input-json file://PATH-TO-FILE/backup-selection.json

以下は、対応する JSON ドキュメントとともにリソース割り当ての例です。このテーブルを読みやすくするために、例ではフィールド "BackupPlanId""SelectionName"、および "IamRoleArn" を省略しています。ワイルドカード * は 0 個以上の空白でない文字を表します。

例: アカウント内のすべてのリソースを選択する
{ "BackupSelection":{ "Resources":[ "*" ] } }
例: アカウント内のすべてのリソースを選択するが、EBS ボリュームを除外する
{ "BackupSelection":{ "Resources":[ "*" ], "NotResources":[ "arn:aws:ec2:*:*:volume/*" ] } }
例: でタグ付けされたすべてのリソースを選択するが"backup":"true"、EBS ボリュームを除外する
{ "BackupSelection":{ "Resources":[ "*" ], "NotResources":[ "arn:aws:ec2:*:*:volume/*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" } ] } } }
例: すべての EBS ボリュームと、 と の両方のタグが付いた RDS DB インスタンスを選択する "backup":"true""stage":"prod"

ブール値の算術は IAM ポリシーの場合と同様であり、"Resources" はブール値 OR を使用して組み合わせ、"Conditions" はブール値 AND を使用して組み合わせます。

対応する Aurora、Neptune、または DocumentDB リソースがないため、"Resources""arn:aws:rds:*:*:db:*" では RDS DB インスタンスのみが選択されます。

{ "BackupSelection":{ "Resources":[ "arn:aws:ec2:*:*:volume/*", "arn:aws:rds:*:*:db:*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" }, { "ConditionKey":"aws:ResourceTag/stage", "ConditionValue":"prod" } ] } } }
例: タグ付けされている"backup":"true"がタグ付けされていないすべての EBS ボリュームと RDS インスタンスを選択する "stage":"test"
{ "BackupSelection":{ "Resources":[ "arn:aws:ec2:*:*:volume/*", "arn:aws:rds:*:*:db:*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" } ], "StringNotEquals":[ { "ConditionKey":"aws:ResourceTag/stage", "ConditionValue":"test" } ] } } }
例: でタグ付けされたすべてのリソース"key1"と、 で始まる"include"が で始まる値"key2"、および という単語を含む値ではない値を選択します。 "exclude"

ワイルドカード文字は文字列の先頭、最後、および途中で使用できます。上記の例の include* および *exclude* でワイルドカード文字 (*) を使用することに注意してください。前の例 arn:aws:rds:*:*:db:* のように、文字列の途中にワイルドカード文字を使用することもできます。

{ "BackupSelection":{ "Resources":[ "*" ], "Conditions":{ "StringLike":[ { "ConditionKey":"aws:ResourceTag/key1", "ConditionValue":"include*" } ], "StringNotLike":[ { "ConditionKey":"aws:ResourceTag/key2", "ConditionValue":"*exclude*" } ] } } }
例: FSx ファイルシステムと RDS、Aurora、Neptune、DocumentDB リソース"backup":"true"を除く、 でタグ付けされたすべてのリソースを選択する

NotResources の項目は、ブール値 OR を使用して結合されます。

{ "BackupSelection":{ "Resources":[ "*" ], "NotResources":[ "arn:aws:fsx:*", "arn:aws:rds:*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" } ] } } }
例: タグ"backup"と任意の値でタグ付けされたすべてのリソースを選択する
{ "BackupSelection":{ "Resources":[ "*" ], "Conditions":{ "StringLike":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"*" } ] } } }
例: でタグ付けされたリソースを除く、すべての FSx ファイルシステム"my-aurora-cluster"、Aurora クラスター "backup":"true"、および でタグ付けされたすべてのリソースを選択します。 "stage":"test"
{ "BackupSelection":{ "Resources":[ "arn:aws:fsx:*", "arn:aws:rds:*:*:cluster:my-aurora-cluster" ], "ListOfTags":[ { "ConditionType":"StringEquals", "ConditionKey":"backup", "ConditionValue":"true" } ], "Conditions":{ "StringNotEquals":[ { "ConditionKey":"aws:ResourceTag/stage", "ConditionValue":"test" } ] } } }
例: でタグ付けされた EBS ボリューム"backup":"true"を除く、 タグでタグ付けされたすべてのリソースを選択する "stage":"test"

2 つの CLI コマンドを使用して、このリソースグループを選択するための 2 つの選択項目を作成します。最初の選択は、EBS ボリュームを除くすべてのリソースに適用されます。2 番目の選択は EBS ボリュームに適用されます。

{ "BackupSelection":{ "Resources":[ "*" ], "NotResources":[ "arn:aws:ec2:*:*:volume/*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" } ] } } }
{ "BackupSelection":{ "Resources":[ "arn:aws:ec2:*:*:volume/*" ], "Conditions":{ "StringEquals":[ { "ConditionKey":"aws:ResourceTag/backup", "ConditionValue":"true" } ], "StringNotEquals":[ { "ConditionKey":"aws:ResourceTag/stage", "ConditionValue":"test" } ] } } }

を使用したリソースの割り当て AWS CloudFormation

この end-to-end AWS CloudFormation テンプレートは、リソース割り当て、バックアッププラン、および宛先バックアップボールトを作成します。

  • という名前のバックアップボールトCloudFormationTestBackupVault

  • という名前のバックアッププランCloudFormationTestBackupPlan。このプランでは 2 つのバックアップルールが含まれており、どちらも毎日正午 12 時 (UTC) にバックアップを行い、それらを 210 日間保持します。

  • という名前のリソース選択BackupSelectionName

    • リソース割り当ては、次のリソースをバックアップします。

      • キーバリューのペア backupplan:dsi-sandbox-daily でタグ付けされた任意のリソース。

      • prod または prod/ で始まる値でタグ付けされたリソース。

    • リソースの割り当てでは、次のリソースはバックアップされません。

      • RDS、Aurora、Neptune、または DocumentDB クラスターのどれでもかまいません。

      • test または test/ で始まる値でタグ付けされたリソース。

Description: "Template that creates Backup Selection and its dependencies" Parameters: BackupVaultName: Type: String Default: "CloudFormationTestBackupVault" BackupPlanName: Type: String Default: "CloudFormationTestBackupPlan" BackupSelectionName: Type: String Default: "CloudFormationTestBackupSelection" BackupPlanTagValue: Type: String Default: "test-value-1" RuleName1: Type: String Default: "TestRule1" RuleName2: Type: String Default: "TestRule2" ScheduleExpression: Type: String Default: "cron(0 12 * * ? *)" StartWindowMinutes: Type: Number Default: 60 CompletionWindowMinutes: Type: Number Default: 120 RecoveryPointTagValue: Type: String Default: "test-recovery-point-value" MoveToColdStorageAfterDays: Type: Number Default: 120 DeleteAfterDays: Type: Number Default: 210 Resources: CloudFormationTestBackupVault: Type: "AWS::Backup::BackupVault" Properties: BackupVaultName: !Ref BackupVaultName BasicBackupPlan: Type: "AWS::Backup::BackupPlan" Properties: BackupPlan: BackupPlanName: !Ref BackupPlanName BackupPlanRule: - RuleName: !Ref RuleName1 TargetBackupVault: !Ref BackupVaultName ScheduleExpression: !Ref ScheduleExpression StartWindowMinutes: !Ref StartWindowMinutes CompletionWindowMinutes: !Ref CompletionWindowMinutes RecoveryPointTags: test-recovery-point-key-1: !Ref RecoveryPointTagValue Lifecycle: MoveToColdStorageAfterDays: !Ref MoveToColdStorageAfterDays DeleteAfterDays: !Ref DeleteAfterDays - RuleName: !Ref RuleName2 TargetBackupVault: !Ref BackupVaultName ScheduleExpression: !Ref ScheduleExpression StartWindowMinutes: !Ref StartWindowMinutes CompletionWindowMinutes: !Ref CompletionWindowMinutes RecoveryPointTags: test-recovery-point-key-1: !Ref RecoveryPointTagValue Lifecycle: MoveToColdStorageAfterDays: !Ref MoveToColdStorageAfterDays DeleteAfterDays: !Ref DeleteAfterDays BackupPlanTags: test-key-1: !Ref BackupPlanTagValue DependsOn: CloudFormationTestBackupVault TestRole: Type: "AWS::IAM::Role" Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: Service: - "backup.amazonaws.com" Action: - "sts:AssumeRole" ManagedPolicyArns: - !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup" BasicBackupSelection: Type: 'AWS::Backup::BackupSelection' Properties: BackupPlanId: !Ref BasicBackupPlan BackupSelection: SelectionName: !Ref BackupSelectionName IamRoleArn: !GetAtt TestRole.Arn ListOfTags: - ConditionType: STRINGEQUALS ConditionKey: backupplan ConditionValue: dsi-sandbox-daily NotResources: - 'arn:aws:rds:*:*:cluster:*' Conditions: StringEquals: - ConditionKey: 'aws:ResourceTag/path' ConditionValue: prod StringNotEquals: - ConditionKey: 'aws:ResourceTag/path' ConditionValue: test StringLike: - ConditionKey: 'aws:ResourceTag/path' ConditionValue: prod/* StringNotLike: - ConditionKey: 'aws:ResourceTag/path' ConditionValue: test/*

リソースの割り当てクォータ

次のクォータは、単一のリソースの割り当てに適用されます。

  • ワイルドカードを含まない 500 Amazon リソースネーム (ARN)

  • ワイルドカード表現の 30 ARN

  • 30 条件

  • リソース割り当てごとに 30 タグ (タグあたりのリソース数に制限はありません)