翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
バックアップポリシーの構文と例
このページでは、バックアップポリシーの構文について説明し、例を示します。
バックアップポリシーの構文
バックアップポリシーは、 のルールに従って構造化されたプレーンテキストファイルですJSON
バックアップポリシーの大部分は、バックアッププランとそのルールで構成されます。バックアップポリシー内の AWS Organizations バックアッププランの構文は、 で使用される構文と構造的に同じですが AWS Backup、キー名は異なります。以下のポリシーキー名の説明では、それぞれに同等の AWS Backup プランキー名が含まれています。 AWS Backup プランの詳細については、「 AWS Backup デベロッパーガイドCreateBackupPlan」の「」を参照してください。
注記
を使用するとJSON、重複するキー名は拒否されます。1 つのポリシーに複数の計画、ルール、または選択を含める場合は、各キーの名前が一意であることを確認してください。
完全であり、かつ機能するには、有効なバックアップポリシーに、スケジュールとルールを備えたバックアッププラン以上のものを含める必要があります。このポリシーでは、バックアップする AWS リージョン とリソース、およびバックアップの実行 AWS Backup に使用できる AWS Identity and Access Management (IAM) ロールも識別する必要があります。
次の機能的に完全なポリシーは、基本的なバックアップポリシーの構文を示します。この例が アカウントに直接アタッチされている場合、 は、 PII
または RED
の値dataType
を持つ タグを持つ us-east-1
および eu-north-1
リージョンで、そのアカウントのすべてのリソースをバックアップ AWS Backup します。これらのリソースを毎日午前 5:00 に My_Backup_Vault
にバックアップし、My_Secondary_Vault
にコピーを保存します。これらのボールトは両方ともリソースと同じアカウントにあります。また、明示的に指定された別の My_Tertiary_Vault
にバックアップのコピーを保存します。ボールトは、有効なポリシーを受け取る各 AWS リージョン に指定された各 に既に存在 AWS アカウント している必要があります。バックアップされたリソースのいずれかがEC2インスタンスの場合、それらのインスタンスのバックアップに対して Microsoft Volume Shadow Copy Service (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"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} }, "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"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} } }, "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"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} } } } } }, "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
変数は、バックアップを保存するバックアップボールトを指定するものや、バックアップを実行するアクセス許可を持つIAMロールなど、Amazon リソースネーム (ARN) を含めることができるポリシー要素でのみ使用できます。例えば、以下では、ポリシーが適用される各 に という名前 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 つのポリシーには複数のプランを含めることができ、それぞれに独自のrules
、regions
、selections
、tags
を設定できます。バックアップポリシーのこのバックアッププランキー名は、 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
。 -
opt_in_to_archive_for_supported_resources
– このポリシーキーは、 AWS Backup プランのOptInToArchiveForSupportedResources
キーにマッピングされます。この値が として割り当てられている場合
true
、バックアッププランは、ライフサイクル設定に従って、サポートされているリソースをアーカイブ (コールド) ストレージ階層に移行します。Amazon Snapshots EBS Archive 階層の詳細については、「Amazon EBSユーザーガイド」の「Amazon EBSスナップショットのアーカイブ」を参照してください。この設定は、以下の条件が満たされている場合にのみ有効にできます。
バックアップポリシーの頻度は 1 か月以上です。
move_to_cold_storage_after_days
が存在している必要があります。move_to_cold_storage_after_days
マイナスmove_to_cold_storage_after_days
は 90 日以上です。
このキーには、@@assign継承値演算子と
true
または の値が含まれますfalse
。
-
-
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親キー名の のすべての小文字バージョンが使用されます。ARNs では大文字と小文字が区別されるため、この文字列は障害ARNの実際の文字列と一致しない場合があり、計画は失敗します。このため、このキーと値は常に指定することをお勧めします。
-
バックアップのコピー先にするバックアップボールトは、最初にバックアッププランを起動する時点ですでに存在している必要があります。 AWS CloudFormation スタックセットとその Organizations との統合を使用して、組織内の各メンバーアカウントのバックアップボールトとIAMロールを自動的に作成および設定することをお勧めします。詳細については、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 ARNの を含む文字列値が含まれます。 は、このロール AWS Backup を使用してリソースをクエリおよび検出し、バックアップを実行します。アカウント ID 番号ARNの代わりに の
$account
変数を使用できます。バックアッププランが によって実行されると AWS Backup、 変数はポリシーが実行され AWS アカウント ている の実際のアカウント ID 番号に自動的に置き換えられます。重要
このロールは、バックアッププランを最初に起動するときにすでに存在している必要があります。 AWS CloudFormation スタックセットとその Organizations との統合を使用して、組織内の各メンバーアカウントのバックアップボールトとIAMロールを自動的に作成および設定することをお勧めします。詳細については、AWS CloudFormation ユーザーガイドのセルフマネージド型のアクセス許可を持つスタックセットの作成を参照してください。
-
tag_key
- 検索するタグキー名を指定します。このキーには、@@assign 継承値演算子および文字列値が格納されます。 値では、大文字と小文字が区別されます。 -
tag_value
– と一致するキー名に関連付ける必要がある値を指定しますtag_key
。tag_key
と の両方が一致する場合にのみ、バックアップにリソース AWS Backup を含めますtag_value
。このキーには、継承値演算子、有効なポリシーの置換、追加、または削除する 1 つ以上の値が格納されます。これらの値は大文字と小文字が区別されます。
-
-
-
-
advanced_backup_settings
- 特定のバックアップシナリオの設定を指定します。このキーには 1 つ以上の設定が含まれます。各設定は、次の要素を含むJSONオブジェクト文字列です。-
オブジェクトキー名 - 次の詳細設定が適用されるリソースのタイプを指定する文字列。
-
オブジェクト値 – 関連付けられたリソースタイプに固有の 1 つ以上のバックアップ設定を含むJSONオブジェクト文字列。
現時点では、サポートされている高度なバックアップ設定のみが、Amazon EC2インスタンスで実行されている Windows または SQL Server の Microsoft Volume Shadow Copy Service (VSS) バックアップを有効にします。キー名は
"ec2"
リソースタイプでなければならず、 値は、これらの Amazon EC2インスタンスで実行されるバックアップdisabled
に対して"windows_vss"
enabled
または のサポートを指定するものです。この機能の詳細については、「 AWS Backup デベロッパーガイド」のVSS「 が有効な 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" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "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" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } }, "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" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "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式により、バックアップは 1 時間に 1 回実行されます。アカウント 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": { "delete_after_days": "2", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" }, "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": { "delete_after_days": "28", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } }, "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": { "delete_after_days": "28", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } } } } }, "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" }, "delete_after_days": { "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "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" }, "delete_after_days": { "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "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" }, "delete_after_days": { "@@assign": "365" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "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" }, "delete_after_days": { "@@assign": "365" }, "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "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": { "delete_after_days": "2", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "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", "delete_after_days": "180", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "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": { "delete_after_days": "365", "move_to_cold_storage_after_days": "30", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } }, "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", "delete_after_days": "365", "opt_in_to_archive_for_supported_resources": { "@@assign": "false" } } } } } }, "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" }, "delete_after_days": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "180" }, "opt_in_to_archive_for_supported_resources": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "false" } }, "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"], "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" }, "opt_in_to_archive_for_supported_resources": { "@@operators_allowed_for_child_policies": ["@@none"], "@@assign": "false" } } } } } }, "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": { "delete_after_days": "2", "move_to_cold_storage_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" }, "copy_actions": { "target_backup_vault_arn": "arn:aws:backup:us-east-1:123456789012:vault:secondary_vault", "lifecycle": { "move_to_cold_storage_after_days": "28", "delete_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } } } }, "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": { "delete_after_days": {"@@assign": "2"}, "move_to_cold_storage_after_days": {"@@assign": "180"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} }, "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"}, "delete_after_days": {"@@assign": "180"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} } } } } }, "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"}, "delete_after_days": {"@@assign": "365"}, "opt_in_to_archive_for_supported_resources": {"@@assign": false} } } } } } }
最終的に適用される有効なポリシー - 有効なポリシーには両方のポリシーの設定が含まれます。子ポリシーによって提供される設定が、親ポリシーから継承された設定をオーバーライドします。この例では、以下の変更が発生します。
-
リージョンのリストは、まったく別のリストに置き換えられます。継承リストにリージョンを追加する場合、子ポリシーで
@@assign
の代わりに@@append
を使用します。 -
AWS Backup は、1 時間単位ではなく 1 時間おきに実行します。
-
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": { "delete_after_days": "365", "move_to_cold_storage_after_days": "30", "opt_in_to_archive_for_supported_resources": "false" }, "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", "delete_after_days": "180", "opt_in_to_archive_for_supported_resources": "false" } } } } }, "selections": { "tags": { "datatype": { "iam_role_arn": "arn:aws:iam::$account:role/MyIamRole", "tag_key": "dataType", "tag_value": [ "PII", "RED" ] } } } } } }