バックアップポリシーの構文と例 - AWS Organizations

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

バックアップポリシーの構文と例

このページでは、バックアップポリシーの構文について説明し、例を示します。

バックアップポリシーの構文

バックアップポリシーは、JSON のルールに従って構造化されたプレーンテキストファイルです。バックアップポリシーの構文は、すべての管理ポリシータイプの構文に従います。この構文の詳細については、「ポリシー構文と管理ポリシータイプの継承」を参照してください。このトピックでは、一般的な構文をバックアップポリシータイプの特定の要件に適用することを重点的に扱っています。

バックアップポリシーの大部分は、バックアッププランとそのルールで構成されます。バックアップポリシー内の AWS Organizations バックアッププランの構文は、 で使用される構文と構造的に同じですが AWS Backup、キー名は異なります。以下のポリシーキー名の説明には、それぞれに同等の AWS Backup プランキー名が含まれています。 AWS Backup プランの詳細については、「 AWS Backup デベロッパーガイドCreateBackupPlan」の「」を参照してください。

注記

JSON を使用すると、重複するキー名は拒否されます。1 つのポリシーに複数のプラン、ルール、または選択を含める場合は、各キーの名前が一意であることを確認してください。

完全であり、かつ機能するには、有効なバックアップポリシーに、スケジュールとルールを備えたバックアッププラン以上のものを含める必要があります。このポリシーでは、バックアップする AWS リージョン とリソース、およびバックアップの実行に AWS Backup が使用できる AWS Identity and Access Management (IAM) ロールも特定する必要があります。

次の機能的に完全なポリシーは、基本的なバックアップポリシーの構文を示します。この例がアカウントに直接アタッチされている場合、 または の値dataTypeの タグを持つ us-east-1および eu-north-1リージョンで、そのアカウントのすべてのリソースをバックアップ AWS Backup しますPIIRED。これらのリソースを毎日午前 5:00 に My_Backup_Vault にバックアップし、My_Secondary_Vault にコピーを保存します。これらのボールトは両方ともリソースと同じアカウントにあります。また、明示的に指定された別の My_Tertiary_Vault にバックアップのコピーを保存します。ボールトは、有効なポリシーを受け取る各 AWS リージョン の指定された各 に既に存在 AWS アカウント している必要があります。バックアップされたリソースに EC2 インスタンスが含まれている場合、それらのインスタンスのバックアップに対し、Microsoft ボリュームシャドウコピーサービス (VSS) のサポートが有効になります。バックアップは、各復旧ポイントにタグ Owner:Backup を適用します。

{ "plans": { "PII_Backup_Plan": { "rules": { "My_Hourly_Rule": { "schedule_expression": {"@@assign": "cron(0 5 ? * * *)"}, "start_backup_window_minutes": {"@@assign": "60"}, "complete_backup_window_minutes": {"@@assign": "604800"}, "enable_continuous_backup": {"@@assign": false}, "target_backup_vault_name": {"@@assign": "My_Backup_Vault"}, "recovery_point_tags": { "Owner": { "tag_key": {"@@assign": "Owner"}, "tag_value": {"@@assign": "Backup"} } }, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "180"}, "delete_after_days": {"@@assign": "270"} }, "copy_actions": { "arn:aws:backup:us-west-2:$account:backup-vault:My_Secondary_Vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-west-2:$account:backup-vault:My_Secondary_Vault" }, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "180"}, "delete_after_days": {"@@assign": "270"} } }, "arn:aws:backup:us-east-1:$account:backup-vault:My_Tertiary_Vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:111111111111:backup-vault:My_Tertiary_Vault" }, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "180"}, "delete_after_days": {"@@assign": "270"} } } } } }, "regions": { "@@append": [ "us-east-1", "eu-north-1" ] }, "selections": { "tags": { "My_Backup_Assignment": { "iam_role_arn": {"@@assign": "arn:aws:iam::$account:role/MyIamRole"}, "tag_key": {"@@assign": "dataType"}, "tag_value": { "@@assign": [ "PII", "RED" ] } } } }, "advanced_backup_settings": { "ec2": { "windows_vss": {"@@assign": "enabled"} } }, "backup_plan_tags": { "stage": { "tag_key": {"@@assign": "Stage"}, "tag_value": {"@@assign": "Beta"} } } } } }

バックアップポリシー構文には、次のコンポーネントが含まれます。

  • $account 変数 - ポリシーの特定のテキスト文字列では、$account 変数を使用して現在の AWS アカウントを表すことができます。が有効なポリシーで計画 AWS Backup を実行すると、この変数は AWS アカウント 有効なポリシーとその計画が実行されている現在の に自動的に置き換えられます。

    重要

    $account 変数は、Amazon リソースネーム (ARN) を含めることができるポリシー要素でのみ使用できます。例えば、バックアップを格納するバックアップボールトを指定したり、バックアップを実行するアクセス許可を持つ IAM ロールを指定したりできるポリシー要素です。

    例えば、以下では、ポリシーが適用される各 に という名前 AWS アカウント のボールトMy_Vaultが存在する必要があります。

    arn:aws:backup:us-west-2:$account:vault:My_Vault"

    AWS CloudFormation スタックセットとその Organizations との統合を使用して、組織内の各メンバーアカウントのバックアップボールトと IAM ロールを自動的に作成および設定することをお勧めします。詳細については、AWS CloudFormation ユーザーガイドセルフマネージド型のアクセス許可を持つスタックセットの作成を参照してください。

  • 継承演算子 - バックアップポリシーでは、継承値設定演算子および子制御演算子の両方を使用できます。

  • plans

    ポリシーの最上位レベルにあるキーは plans キーです。バックアップポリシーは、常にポリシーファイルの先頭にこの固定キー名のある状態で開始する必要があります。このキーの下に、1 つ以上のバックアッププランを配置できます。

  • plans 最上位キーの下にある各プランには、ユーザーが割り当てたバックアッププラン名で構成されるキー名があります。前の例では、バックアッププラン名は PII_Backup_Plan です。1 つのポリシーには複数のプランを含めることができ、それぞれに独自の rulesregionsselectionstags を設定できます。

    バックアップポリシーのこのバックアッププランキー名は、 AWS Backup プランのBackupPlanNameキーの値にマッピングされます。

    各プランには次の要素を含めることができます。

    • rules - このキーには、ルールのコレクションが格納されます。各ルールは、開始時刻とウィンドウがスケジュールされたタスクに変換され、そのスケジュールに基づき、有効なバックアップポリシーの selections 要素と regions 要素によって識別されるリソースをバックアップします。

    • regions — このキーには、このポリシーでバックアップできるリソース AWS リージョン を持つ の配列リストが含まれています。

    • selections - このキーには、指定した rules によってバックアップされる (指定した regions 内にある) リソースのコレクションが 1 つ以上格納されます。

    • advanced_backup_settings - このキーには、特定のリソースで実行されるバックアップに固有の設定が格納されます。

    • backup_plan_tags - これは、バックアッププラン自体にアタッチされるタグを指定します。

  • rules

    rules ポリシーキーは、 AWS Backup プラン内の Rules キーにマッピングされます。rules キーの下に 1 つ以上のルールを設定できます。各ルールは、選択したリソースのバックアップを実行するスケジュールされたタスクになります。

    各ルールにはキーがあり、そのキー名がルールの名前です。前の例では、ルール名は「My_Hourly_Rule」です。ルールキーの値は、ルール要素の次のコレクションです。

    • schedule_expression – このポリシーキーは、 AWS Backup プランのScheduleExpressionキーにマッピングされます。

      バックアップの開始時刻を指定します。このキーには、@@assign継承値演算子と、 AWS Backup がバックアップジョブを開始するタイミングを指定する CRON 式を含む文字列値が含まれます。CRON 文字列の一般的な形式は「cron()」です。それぞれが、数字またはワイルドカードです。例えば、cron(0 5 ? * 1,3,5 *) は、毎週月曜日、水曜日、金曜日の午前 5 時にバックアップを開始します。cron(0 0/1 ? * * *) は、1 週間毎日、毎正時にバックアップを開始します。

    • target_backup_vault_name – このポリシーキーは、 AWS Backup プランのTargetBackupVaultNameキーにマッピングされます。

      バックアップを保存するバックアップボールトの名前を指定します。を使用して値を作成します AWS Backup。このキーには、@@assign 継承値演算子とボールト名を持つ文字列値が格納されます。

      重要

      バックアッププランを最初に起動するときには、ボールトがすでに存在している必要があります。 AWS CloudFormation スタックセットとその Organizations との統合を使用して、組織内の各メンバーアカウントのバックアップボールトと IAM ロールを自動的に作成および設定することをお勧めします。詳細については、AWS CloudFormation ユーザーガイドセルフマネージド型のアクセス許可を持つスタックセットの作成を参照してください。

    • start_backup_window_minutes - このポリシーキーは、 AWS Backup プランのStartWindowMinutesキーにマッピングされます。

      (オプション) 正常に開始しないジョブをキャンセルするまでの待機時間を分単位で指定します。このキーには、@@assign 継承値演算子と、整数の時間 (分) を持つ値が格納されます。

    • complete_backup_window_minutes - このポリシーキーは、 AWS Backup プランの CompletionWindowMinutes キーにマッピングされます。

      (オプション) バックアップジョブが正常に開始してから完了するか、 AWS Backupによってキャンセルされるまでの時間 (分) を指定します。このキーには、@@assign 継承値演算子と、整数の時間 (分) を持つ値が格納されます。

    • enable_continuous_backup - このポリシーキーは、 AWS Backup プランのEnableContinuousBackupキーにマッピングされます。

      (オプション) が継続的バックアップ AWS Backup を作成するかどうかを指定します。 Trueは、 AWS Backup が point-in-time 復元可能な継続的バックアップ (PITR) を作成することになり、 False (または指定されていない) は、 AWS Backup がスナップショットバックアップを作成することを表します。

      注記

      PITR 対応のバックアップは最大 35 日間保持されるため、次のいずれかのオプションを設定する場合は、False を選択するか、値を未指定にする必要があります。

      • delete_after_days を 35 より大きい値に設定する。

      • move_to_cold_storage_after_days を任意の値に設定する。

      継続的バックアップの詳細については、「 AWS Backup デベロッパーガイド」の「P oint-in-time 復旧」を参照してください。

    • lifecycle - このポリシーキーは、 AWS Backup プランのLifecycleキーにマッピングされます。

      (オプション) がこのバックアップをコールドストレージ AWS Backup に移行するタイミングと、期限切れになるタイミングを指定します。

      • move_to_cold_storage_after_days - このポリシーキーは、 AWS Backup プランのMoveToColdStorageAfterDaysキーにマッピングされます。

        バックアップが実行されてから、 AWS Backup が復旧ポイントをコールドストレージに移動するまでの日数を指定します。このキーには、@@assign 継承値演算子と、整数の日数を持つ値が格納されます。

      • delete_after_days - このポリシーキーは、 AWS Backup プランのDeleteAfterDaysキーにマッピングされます。

        バックアップが実行されてから、 AWS Backup が復旧ポイントを削除するまでの日数を指定します。このキーには、@@assign 継承値演算子と、整数の日数を持つ値が格納されます。バックアップをコールドストレージに移行する場合は、その場所に 90 日以上保持する必要があります。したがって、この値は move_to_cold_storage_after_days の値よりも 90 日以上大きくする必要があります。

    • copy_actions - このポリシーキーは、 AWS Backup プランのCopyActionsキーにマッピングされます。

      (オプション) がバックアップを 1 つ以上の追加の場所にコピー AWS Backup することを指定します。各バックアップコピーの場所は次のように記述されます。

      • そのコピーアクションを一意に識別する名前を持つキー。現時点で、キー名はバックアップボールトの Amazon リソースネーム (ARN) である必要があります。このキーには、2 つのエントリが含まれます。

        • target_backup_vault_arn - このポリシーキーは、 AWS Backup プランの DestinationBackupVaultArn キーにマッピングされます。

          (オプション) がバックアップの追加のコピー AWS Backup を保存するボールトを指定します。このキーの値には、@@assign 継承値演算子と、ボールトの ARN が格納されます。

          • バックアップポリシーが実行され AWS アカウント ている でボールトを参照するには、アカウント ID 番号の代わりに ARN の $account変数を使用します。がバックアッププラン AWS Backup を実行すると、変数 はポリシーが実行され AWS アカウント ている のアカウント ID 番号に自動的に置き換えられます。これにより、バックアップポリシーが組織内の複数のアカウントに適用される場合でも、バックアップが正常に実行されます。

          • 同じ組織内の異なる AWS アカウント のボールトを参照するには、実際のアカウント ID 番号を ARN に使用します。

          重要
          • このキーがない場合、親キーの名前をすべて小文字で表記したものが ARN に使用されます。ARN では大文字と小文字が区別されるため、この文字列がボールトの実際の ARN と一致せず、プランが失敗する可能性があります。このため、このキーと値は常に指定することをお勧めします。

          • バックアップのコピー先にするバックアップボールトは、最初にバックアッププランを起動する時点ですでに存在している必要があります。組織内の各メンバーアカウントのバックアップボールトと IAM ロールを自動的に作成および設定するには、 AWS CloudFormation StackSets、およびその Organizations との統合を使用することをお勧めします。詳細については、AWS CloudFormation ユーザーガイドセルフマネージド型のアクセス許可を持つスタックセットの作成を参照してください。

        • lifecycle – このポリシーキーは、 AWS Backup プランの Lifecycle キーの下にある CopyAction キーにマッピングされます。

          (オプション) がこのバックアップのコピーをコールドストレージ AWS Backup に移行するタイミングと、有効期限を指定します。

          • move_to_cold_storage_after_days - このポリシーキーは、 AWS Backup プランの MoveToColdStorageAfterDays キーにマッピングされます。

            がリカバリポイントをコールドストレージ AWS Backup に移動するまでのバックアップ発生からの日数を指定します。このキーには、@@assign 継承値演算子と、整数の日数を持つ値が格納されます。

          • delete_after_days - このポリシーキーは、 AWS Backup プランの DeleteAfterDays キーにマッピングされます。

            がリカバリポイント AWS Backup を削除するまでのバックアップ発生からの日数を指定します。このキーには、@@assign 継承値演算子と、整数の日数を持つ値が格納されます。バックアップをコールドストレージに移行する場合は、その場所に 90 日以上保持する必要があります。したがって、この値は move_to_cold_storage_after_days の値よりも 90 日以上大きくする必要があります。

    • recovery_point_tags - このポリシーキーは、 AWS Backup プランのRecoveryPointTagsキーにマッピングされます。

      (オプション) このプランから作成する各バックアップに がア AWS Backup タッチするタグを指定します。このキーの値には、以下の要素が 1 つ以上含まれます。

      • このキー名と値のペアの識別子。recovery_point_tags の下の各要素のこの名前は、tag_key で大文字と小文字の取り扱いが異なる場合でも、すべて小文字のタグキー名です。この識別子では、大文字と小文字は区別されません。前の例では、このキーペアは名前 Owner で識別されました。各キーペアには、以下の要素が含まれます。

        • tag_key - バックアッププランにアタッチするタグキー名を指定します。このキーには、@@assign 継承値演算子および文字列値が格納されます。 値では、大文字と小文字が区別されます。

        • tag_value - バックアッププランに適用され、tag_key に関連付けられている値を指定します。このキーには、継承値演算子、有効なポリシーの置換、追加、または削除する 1 つ以上の値が格納されます。これらの値は大文字と小文字が区別されます。

  • regions

    regions ポリシーキーは、 AWS リージョン が AWS Backup selectionsキーの条件に一致するリソースを検索するためにどの を検索するかを指定します。このキーには、継承値演算子のいずれかと、 AWS リージョン コードの 1 つ以上の文字列値が含まれます。例: ["us-east-1", "eu-north-1"]

  • selections

    selections ポリシーキーは、このポリシーのプランルールによってバックアップされるリソースを指定します。このキーは、 の BackupSelection オブジェクトにほぼ対応しています AWS Backup。リソースは、タグキー名と値をマッチングするためのクエリによって指定されます。selections キーの下には、tags という 1 つのキーが含まれています。

    • tags - リソースを識別するタグと、リソースに対してクエリおよびバックアップを実行するアクセス許可を持つ IAM ロールを指定します。このキーの値には、以下の要素が 1 つ以上含まれます。

      • このタグ要素の識別子。tags の下にあるこの識別子は、クエリするタグの大文字と小文字の取り扱いが異なる場合でも、すべて小文字のタグキー名です。この識別子では、大文字と小文字は区別されません。前の例では、1 つの要素が名前 My_Backup_Assignment で識別されました。tags の下の各識別子には、以下の要素が含まれています。

        • iam_role_arn - regions キーで指定された AWS リージョン で、タグクエリによって識別されるリソースへのアクセス許可を持つ IAM ロールを指定します。この値には、@@assign継承値演算子と role. AWS Backup uses の ARN を含む文字列値が含まれます。 はこのロールを使用して、リソースをクエリして検出し、バックアップを実行します。

          アカウント ID 番号の代わりに、ARN の $account 変数を使用できます。バックアッププランが によって実行されると AWS Backup、変数 はポリシーが実行され AWS アカウント ている の実際のアカウント ID 番号に自動的に置き換えられます。

          重要

          このロールは、バックアッププランを最初に起動するときにすでに存在している必要があります。 AWS CloudFormation スタックセットとその Organizations との統合を使用して、組織内の各メンバーアカウントのバックアップボールトと IAM ロールを自動的に作成および設定することをお勧めします。詳細については、AWS CloudFormation ユーザーガイドセルフマネージド型のアクセス許可を持つスタックセットの作成を参照してください。

        • tag_key - 検索するタグキー名を指定します。このキーには、@@assign 継承値演算子および文字列値が格納されます。 値では、大文字と小文字が区別されます。

        • tag_value – と一致するキー名に関連付ける必要がある値を指定しますtag_keytag_keyと の両方tag_valueが一致する場合にのみ、 はバックアップにリソース AWS Backup を含めます。このキーには、継承値演算子、有効なポリシーの置換、追加、または削除する 1 つ以上の値が格納されます。これらの値は大文字と小文字が区別されます。

  • advanced_backup_settings - 特定のバックアップシナリオの設定を指定します。このキーには 1 つ以上の設定が含まれます。各設定は、次の要素を持つ JSON オブジェクト文字列です。

    • オブジェクトキー名 - 次の詳細設定が適用されるリソースのタイプを指定する文字列。

    • オブジェクト値 - 関連付けられたリソースタイプに固有のバックアップ設定を 1 つ以上含む JSON オブジェクト文字列。

    現時点でサポートされている高度なバックアップ設定で利用可能なのは、Amazon EC2 インスタンスで実行される Windows または SQL Server の Microsoft ボリュームシャドウコピーサービス (VSS) バックアップだけです。キー名は "ec2" リソースタイプであるる必要があります。この値により、Amazon EC2 インスタンスで実行されるバックアップに対する "windows_vss" サポートを enabled にするか disabled にするかを指定できます。この機能について詳しくは、AWS Backup デベロッパーガイドCreating a VSS-Enabled Windows Backup を参照してください。

    "advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } }
  • backup_plan_tags - バックアッププラン自体にアタッチされるタグを指定します。これは、ルールまたは選択で指定されたタグには影響しません。

    (オプション) バックアッププランにタグをアタッチできます。このキーの値は、要素のコレクションです。

    backup_plan_tags の下の各要素のキー名は、クエリするタグの大文字と小文字の取り扱いが異なる場合でも、すべて小文字のタグキー名です。この識別子では、大文字と小文字は区別されません。これらの各エントリの値は、次のキーで構成されます。

    • tag_key - バックアッププランにアタッチするタグキー名を指定します。このキーには、@@assign 継承値演算子および文字列値が格納されます。この値では、大文字と小文字が区別されます。

    • tag_value - バックアッププランに適用され、tag_key に関連付けられている値を指定します。このキーには、@@assign 継承値演算子および文字列値が格納されます。この値では、大文字と小文字が区別されます。

バックアップポリシーの例

次のサンプルバックアップポリシーは、情報提供のみを目的としています。以下の例の一部では、スペースを節約するために JSON の空白書式が圧縮される場合があります。

例 1: 親ノードに割り当てられたポリシー

次の例は、アカウントの親ノードの 1 つに割り当てられているバックアップポリシーを示しています。

親ポリシー - このポリシーは、組織のルート、またはすべての対象アカウントの親である任意の OU にアタッチできます。

{ "plans": { "PII_Backup_Plan": { "regions": { "@@assign": [ "ap-northeast-2", "us-east-1", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": { "@@assign": "cron(0 5/1 ? * * *)" }, "start_backup_window_minutes": { "@@assign": "480" }, "complete_backup_window_minutes": { "@@assign": "10080" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "180" }, "delete_after_days": { "@@assign": "270" } }, "target_backup_vault_name": { "@@assign": "FortKnox" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:backup-vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "delete_after_days": { "@@assign": "120" } } }, "arn:aws:backup:us-west-1:111111111111:backup-vault:tertiary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-west-1:111111111111:backup-vault:tertiary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "delete_after_days": { "@@assign": "120" } } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": { "@@assign": "arn:aws:iam::$account:role/MyIamRole" }, "tag_key": { "@@assign": "dataType" }, "tag_value": { "@@assign": [ "PII", "RED" ] } } } }, "advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } } } } }

アカウントに他のポリシーが継承またはアタッチされていない場合、該当する各 でレンダリングされる有効なポリシーは次の例の AWS アカウント ようになります。CRON 式を使用すると、バックアップは毎正時に実行されます。アカウント ID 123456789012 は、各アカウントの実際のアカウント ID になります。

{ "plans": { "PII_Backup_Plan": { "regions": [ "us-east-1", "ap-northeast-3", "eu-north-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/1 ? * * *)", "start_backup_window_minutes": "60", "target_backup_vault_name": "FortKnox", "lifecycle": { "to_delete_after_days": "2", "move_to_cold_storage_after_days": "180" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:secondary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:vault:secondary_vault" }, "lifecycle": { "to_delete_after_days": "28", "move_to_cold_storage_after_days": "180" } }, "arn:aws:backup:us-west-1:111111111111:vault:tertiary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-west-1:111111111111:vault:tertiary_vault" }, "lifecycle": { "to_delete_after_days": "28", "move_to_cold_storage_after_days": "180" } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::123456789012:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } }, "advanced_backup_settings": { "ec2": { "windows_vss": "enabled" } } } } }

例 2: 親ポリシーが子ポリシーとマージされる

次の例では、継承された親ポリシーと子ポリシーが継承されたか、 AWS アカウント マージに直接アタッチされて有効なポリシーを形成しています。

親ポリシー - このポリシーは、組織のルートまたは任意の親 OU にアタッチできます。

{ "plans": { "PII_Backup_Plan": { "regions": { "@@append":[ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": { "@@assign": "cron(0 0/1 ? * * *)" }, "start_backup_window_minutes": { "@@assign": "60" }, "target_backup_vault_name": { "@@assign": "FortKnox" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "28" }, "to_delete_after_days": { "@@assign": "180" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:secondary_vault" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "28" }, "to_delete_after_days": { "@@assign": "180" } } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": { "@@assign": "arn:aws:iam::$account:role/MyIamRole" }, "tag_key": { "@@assign": "dataType" }, "tag_value": { "@@assign": [ "PII", "RED" ] } } } } } } }

子ポリシー - このポリシーは、アカウントに直接アタッチすることも、親ポリシーがアタッチされているより低いレベルの OU にアタッチすることもできます。

{ "plans": { "Monthly_Backup_Plan": { "regions": { "@@append":[ "us-east-1", "eu-central-1" ] }, "rules": { "Monthly": { "schedule_expression": { "@@assign": "cron(0 5 1 * ? *)" }, "start_backup_window_minutes": { "@@assign": "480" }, "target_backup_vault_name": { "@@assign": "Default" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "to_delete_after_days": { "@@assign": "365" } }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:Default" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:vault:Default" }, "lifecycle": { "move_to_cold_storage_after_days": { "@@assign": "30" }, "to_delete_after_days": { "@@assign": "365" } } } } } }, "selections": { "tags": { "MonthlyDatatype": { "iam_role_arn": { "@@assign": "arn:aws:iam::$account:role/MyMonthlyBackupIamRole" }, "tag_key": { "@@assign": "BackupType" }, "tag_value": { "@@assign": [ "MONTHLY", "RED" ] } } } } } } }

最終的に適用される有効なポリシー - アカウントに適用される有効なポリシーには、2 つのプランがあり、それぞれに独自のルールのセットとルールを適用するリソースのセットがあります。

{ "plans": { "PII_Backup_Plan": { "regions": [ "us-east-1", "ap-northeast-3", "eu-north-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/1 ? * * *)", "start_backup_window_minutes": "60", "target_backup_vault_name": "FortKnox", "lifecycle": { "to_delete_after_days": "2", "move_to_cold_storage_after_days": "180" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:secondary_vault" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:vault:secondary_vault" }, "lifecycle": { "move_to_cold_storage_after_days": "28", "to_delete_after_days": "180" } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::$account:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } } }, "Monthly_Backup_Plan": { "regions": [ "us-east-1", "eu-central-1" ], "rules": { "monthly": { "schedule_expression": "cron(0 5 1 * ? *)", "start_backup_window_minutes": "480", "target_backup_vault_name": "Default", "lifecycle": { "to_delete_after_days": "365", "move_to_cold_storage_after_days": "30" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:Default" : { "target_backup_vault_arn": { "@@assign" : "arn:aws:backup:us-east-1:$account:vault:Default" }, "lifecycle": { "move_to_cold_storage_after_days": "30", "to_delete_after_days": "365" } } } } }, "selections": { "tags": { "monthlydatatype": { "iam_role_arn": "arn:aws:iam::&ExampleAWSAccountNo3;:role/MyMonthlyBackupIamRole", "tag_key": "BackupType", "tag_value": [ "MONTHLY", "RED" ] } } } } } }

例 3: 親ポリシーが子ポリシーによる変更を防止する

次の例では、継承された親ポリシーが子制御演算子を使用してすべての設定を強制し、子ポリシーによって変更またはオーバーライドされないようにします。

親ポリシー - このポリシーは、組織のルートまたは任意の親 OU にアタッチできます。ポリシーのすべてのノードに "@@operators_allowed_for_child_policies": ["@@none"] が存在するということは、子ポリシーがどのような変更もプランに加えられないことを意味します。また、子ポリシーにより有効なポリシーにプランを追加することもできません。このポリシーは、関連付けられている OU の下にあるすべての OU およびアカウントに対して有効なポリシーになります。

{ "plans": { "@@operators_allowed_for_child_policies": ["@@none"], "PII_Backup_Plan": { "@@operators_allowed_for_child_policies": ["@@none"], "regions": { "@@operators_allowed_for_child_policies": ["@@none"], "@@append": [ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "@@operators_allowed_for_child_policies": ["@@none"], "Hourly": { "@@operators_allowed_for_child_policies": ["@@none"], "schedule_expression": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "cron(0 0/1 ? * * *)" }, "start_backup_window_minutes": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "60" }, "target_backup_vault_name": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "FortKnox" }, "lifecycle": { "@@operators_allowed_for_child_policies": ["@@none"], "move_to_cold_storage_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "28" }, "to_delete_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "180" } }, "copy_actions": { "@@operators_allowed_for_child_policies": ["@@none"], "arn:aws:backup:us-east-1:$account:vault:secondary_vault": { "@@operators_allowed_for_child_policies": ["@@none"], "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:vault:secondary_vault", "@@operators_allowed_for_child_policies": ["@@none"] }, "lifecycle": { "@@operators_allowed_for_child_policies": ["@@none"], "to_delete_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "28" }, "move_to_cold_storage_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "180" } } } } } }, "selections": { "@@operators_allowed_for_child_policies": ["@@none"], "tags": { "@@operators_allowed_for_child_policies": ["@@none"], "datatype": { "@@operators_allowed_for_child_policies": ["@@none"], "iam_role_arn": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "arn:aws:iam::$account:role/MyIamRole" }, "tag_key": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "dataType" }, "tag_value": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": [ "PII", "RED" ] } } } }, "advanced_backup_settings": { "@@operators_allowed_for_child_policies": ["@@none"], "ec2": { "@@operators_allowed_for_child_policies": ["@@none"], "windows_vss": { "@@assign": "enabled", "@@operators_allowed_for_child_policies": ["@@none"] } } } } } }

最終的に適用される有効なポリシー - 子バックアップポリシーが存在する場合、それらは無視され、親ポリシーが有効なポリシーになります。

{ "plans": { "PII_Backup_Plan": { "regions": [ "us-east-1", "ap-northeast-3", "eu-north-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/1 ? * * *)", "start_backup_window_minutes": "60", "target_backup_vault_name": "FortKnox", "lifecycle": { "to_delete_after_days": "2", "move_to_cold_storage_after_days": "180" }, "copy_actions": { "target_backup_vault_arn": "arn:aws:backup:us-east-1:123456789012:vault:secondary_vault", "lifecycle": { "move_to_cold_storage_after_days": "28", "to_delete_after_days": "180" } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::123456789012:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } }, "advanced_backup_settings": { "ec2": {"windows_vss": "enabled"} } } } }

例 4: 親ポリシーが、子ポリシーによる 1 つのバックアッププランへの変更を防止する

次の例では、継承された親ポリシーが子制御演算子を使用して単一のプランの設定を強制し、子ポリシーによって変更またはオーバーライドされないようにします。子ポリシーがプランを追加することはできます。

親ポリシー - このポリシーは、組織のルートまたは任意の親 OU にアタッチできます。この例は、plans 最上位レベルを除き、すべての子継承演算子がブロックされた前の例に似ています。このレベルでの @@append の設定により、子ポリシーが、有効なポリシーのコレクションに他の計画を追加できます。継承されたプランに対する変更は引き続きブロックされます。

プラン内のセクションは、わかりやすくするために切り捨てられています。

{ "plans": { "@@operators_allowed_for_child_policies": ["@@append"], "PII_Backup_Plan": { "@@operators_allowed_for_child_policies": ["@@none"], "regions": { ... }, "rules": { ... }, "selections": { ... } } } }

子ポリシー - このポリシーは、アカウントに直接アタッチすることも、親ポリシーがアタッチされているより低いレベルの OU にアタッチすることもできます。この子ポリシーは、新しいプランを定義します。

プラン内のセクションは、わかりやすくするために切り捨てられています。

{ "plans": { "MonthlyBackupPlan": { "regions": { ... }, "rules": { ... }, "selections": { … } } } }

最終的に適用される有効なポリシー - 有効なポリシーには、両方のプランが含まれます。

{ "plans": { "PII_Backup_Plan": { "regions": { ... }, "rules": { ... }, "selections": { ... } }, "MonthlyBackupPlan": { "regions": { ... }, "rules": { ... }, "selections": { … } } } }

例 5: 子ポリシーが親ポリシーの設定をオーバーライドする

次の例では、子ポリシーが値設定演算子を使用して、親ポリシーから継承された設定の一部をオーバーライドしています。

親ポリシー - このポリシーは、組織のルートまたは任意の親 OU にアタッチできます。どの設定も子ポリシーによりオーバーライドできます。これは、デフォルトの動作を禁止する子制御演算子がない場合は、子ポリシーに @@assign@@append、または@@remove が許可されるためです。親ポリシーには、有効なバックアッププランに必要なすべての要素が含まれているため、そのまま継承されていればリソースが正常にバックアップされます。

{ "plans": { "PII_Backup_Plan": { "regions": { "@@append": [ "us-east-1", "ap-northeast-3", "eu-north-1" ] }, "rules": { "Hourly": { "schedule_expression": {"@@assign": "cron(0 0/1 ? * * *)"}, "start_backup_window_minutes": {"@@assign": "60"}, "target_backup_vault_name": {"@@assign": "FortKnox"}, "lifecycle": { "to_delete_after_days": {"@@assign": "2"}, "move_to_cold_storage_after_days": {"@@assign": "180"} }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:t2": { "target_backup_vault_arn": {"@@assign": "arn:aws:backup:us-east-1:$account:vault:t2"}, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "28"}, "to_delete_after_days": {"@@assign": "180"} } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": {"@@assign": "arn:aws:iam::$account:role/MyIamRole"}, "tag_key": {"@@assign": "dataType"}, "tag_value": { "@@assign": [ "PII", "RED" ] } } } } } } }

子ポリシー - 子ポリシーには、継承された親ポリシーとは異なる必要がある設定のみが含まれます。有効なポリシーにマージするときは、その他の必須設定を提供する、継承された親ポリシーが必要です。それがないと、有効なバックアップポリシーには無効なバックアッププランが格納され、期待どおりにリソースがバックアップされません。

{ "plans": { "PII_Backup_Plan": { "regions": { "@@assign": [ "us-west-2", "eu-central-1" ] }, "rules": { "Hourly": { "schedule_expression": {"@@assign": "cron(0 0/2 ? * * *)"}, "start_backup_window_minutes": {"@@assign": "80"}, "target_backup_vault_name": {"@@assign": "Default"}, "lifecycle": { "move_to_cold_storage_after_days": {"@@assign": "30"}, "to_delete_after_days": {"@@assign": "365"} } } } } } }

最終的に適用される有効なポリシー - 有効なポリシーには両方のポリシーの設定が含まれます。子ポリシーによって提供される設定が、親ポリシーから継承された設定をオーバーライドします。この例では、以下の変更が発生します。

  • リージョンのリストは、まったく別のリストに置き換えられます。継承リストにリージョンを追加する場合、子ポリシーで @@assign の代わりに @@append を使用します。

  • AWS Backup は 1 時間ごとではなく、2 時間ごとに実行します。

  • AWS Backup では、バックアップが開始されるまでに 60 分ではなく 80 分かかります。

  • AWS Backup はDefault、 の代わりに ボールトを使用しますFortKnox

  • ライフサイクルは、コールドストレージへの転送とバックアップの最終的な削除の両方について延長されます。

{ "plans": { "PII_Backup_Plan": { "regions": [ "us-west-2", "eu-central-1" ], "rules": { "hourly": { "schedule_expression": "cron(0 0/2 ? * * *)", "start_backup_window_minutes": "80", "target_backup_vault_name": "Default", "lifecycle": { "to_delete_after_days": "365", "move_to_cold_storage_after_days": "30" }, "copy_actions": { "arn:aws:backup:us-east-1:$account:vault:secondary_vault": { "target_backup_vault_arn": {"@@assign": "arn:aws:backup:us-east-1:$account:vault:secondary_vault"}, "lifecycle": { "move_to_cold_storage_after_days": "28", "to_delete_after_days": "180" } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::$account:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } } } } }