백업 정책 구문 및 예제 - AWS Organizations

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

백업 정책 구문 및 예제

이 페이지에서는 백업 정책 구문에 대해 설명하고 예제를 제공합니다.

백업 정책 구문

백업 정책은 의 규칙에 따라 구조화된 일반 텍스트 파일입니다. JSON 백업 정책 구문은 모든 관리 정책 유형에 대한 구문을 따릅니다. 해당 구문에 대한 자세한 내용은 관리 정책 유형에 대한 정책 구문 및 상속을 참조하세요. 이 항목에서는 백업 정책 유형의 특정 요구 사항에 해당 일반 구문을 적용하는 방법을 중점적으로 설명합니다.

백업 정책의 대부분은 백업 계획과 그 규칙입니다. 백업 정책 내 백업 계획의 구문은 에서 사용하는 구문과 구조적으로 AWS Backup동일하지만 키 이름은 다릅니다. AWS Organizations 아래 정책 키 이름에 대한 설명에는 각 정책 키 이름에 해당하는 AWS Backup 계획 키 이름이 포함되어 있습니다. AWS Backup 플랜에 대한 자세한 내용은 AWS Backup 개발자 안내서를 참조하십시오 CreateBackupPlan.

참고

사용 JSON 시 중복된 키 이름은 거부됩니다. 단일 정책에 여러 계획, 규칙 또는 선택 항목을 포함하려면 각 키의 이름이 고유해야 합니다.

완전하고 제대로 작동하는 유효 백업 정책은 일정 및 규칙이 포함된 백업 계획 이상을 포함해야 합니다. 또한 정책은 백업할 대상 AWS 리전 및 리소스, 백업을 수행하는 데 사용할 AWS Backup 수 있는 AWS Identity and Access Management (IAM) 역할을 식별해야 합니다.

다음의 기능적으로 완전한 정책은 기본 백업 정책 구문을 보여 줍니다. 이 예제를 계정에 직접 연결한 경우 값이 PII 또는 인 태그가 dataType 있는 us-east-1eu-north-1 지역에서 해당 계정의 모든 리소스를 RED 백업합니다. AWS Backup 이러한 리소스를 매일 오전 5시에 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 계정 변수로 자동 대체됩니다.

    중요

    Amazon Resource Name (ARN) 을 포함할 수 있는 정책 요소 (예: 백업을 저장할 백업 저장소를 지정하거나 백업을 수행할 권한이 있는 IAM 역할) 를 포함할 수 있는 정책 요소에서만 $account 변수를 사용할 수 있습니다.

    예를 들어, 다음과 같은 경우에는 정책이 AWS 계정 적용되는 각 저장소에 이름이 지정된 My_Vault 저장소가 있어야 합니다.

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

    AWS CloudFormation 스택 세트 및 Organization과의 통합을 사용하여 조직의 각 구성원 계정에 대한 백업 저장소와 IAM 역할을 자동으로 만들고 구성하는 것이 좋습니다. 자세한 내용은 AWS CloudFormation 사용 설명서자체 관리 권한으로 스택 세트 만들기를 참조하세요.

  • 상속 연산자 - 백업 정책은 상속 값-설정(value-setting) 연산자하위 제어 연산자를 모두 사용할 수 있습니다.

  • plans

    정책의 최상위 키에는 plans 키가 있습니다. 백업 정책은 항상 정책 파일의 맨 위에 있는 이 고정 키 이름으로 시작해야 합니다. 이 키 아래에 하나 이상의 백업 계획을 둘 수 있습니다.

  • plans 최상위 키 아래의 각 계획은 사용자가 할당한 백업 계획 이름으로 구성된 키 이름을 갖습니다. 위의 예제에서 백업 계획 이름은 PII_Backup_Plan입니다. 한 정책에 각각 고유한 rules, regions, selections, tags를 가진 여러 계획을 둘 수 있습니다.

    백업 정책의 이 백업 계획 키 이름은 AWS Backup 계획의 BackupPlanName 키 값에 매핑됩니다.

    각 객체에는 다음의 요소가 포함될 수 있습니다.

    • rules - 이 키에는 규칙 모음이 들어 있습니다. 각 규칙은 예약된 작업으로 변환되며, 유효 백업 정책의 selectionsregions 요소로 식별된 리소스를 백업할 시작 시간 및 기간이 포함됩니다.

    • regions- 이 키에는 이 정책으로 리소스를 백업할 수 있는 AWS 리전 사람의 배열 목록이 들어 있습니다.

    • selections – 이 키에는 지정된 rules에 의해 백업되는 리소스 모음(지정된 regions에 있음)이 하나 이상 들어 있습니다.

    • advanced_backup_settings- 이 키에는 특정 리소스에서 실행되는 백업에 특정한 설정이 포함되어 있습니다.

    • backup_plan_tags - 백업 계획 자체에 연결되는 태그를 지정합니다.

  • rules

    rules 정책 키는 AWS Backup 계획의 Rules 키에 매핑됩니다. rules 키 아래에 하나 이상의 규칙을 포함할 수 있습니다. 각 규칙은 선택한 리소스에 대한 백업을 수행하는 예약된 작업이 됩니다.

    각 규칙에는 이름이 규칙 이름인 키가 포함됩니다. 위의 예제에서 규칙 이름은 “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 ? * * *)는 매일 매시 정각에 백업을 시작합니다.

    • target_backup_vault_name— 이 정책 키는 AWS Backup 계획의 TargetBackupVaultName 키에 매핑됩니다.

      백업을 저장할 백업 볼트의 이름을 지정합니다. 를 사용하여 가치를 AWS Backup창출합니다. 이 키에는 @@assign 상속 값 연산자와 볼트 이름이 포함된 문자열 값이 들어 있습니다.

      중요

      백업 계획을 처음 시작할 때 볼트가 이미 있어야 합니다. AWS CloudFormation 스택 세트 및 Organization과의 통합을 사용하여 조직의 각 구성원 계정에 대한 백업 저장소와 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 point-in-time 복원 (PITR) 이 가능한 연속 백업을 생성하는 원인 AWS Backup . False(또는 지정하지 않음) 하면 AWS Backup 스냅샷 백업이 생성됩니다.

      참고

      PITR-enabled 백업은 최대 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 - 이 정책 키는 계획의 키에 MoveToColdStorageAfterDays 매핑됩니다. AWS Backup

        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 EBS 스냅샷 아카이브 티어에 대한 자세한 내용은 Amazon EBS사용 설명서의 Amazon EBS 스냅샷 보관을 참조하십시오.

        다음 조건이 충족되는 경우에만 이 설정을 활성화할 수 있습니다.

        • 백업 정책의 빈도는 1개월 이상입니다.

        • move_to_cold_storage_after_days존재해야 합니다.

        • move_to_cold_storage_after_daysmove_to_cold_storage_after_days마이너스는 90일 이상이거나 그 이상입니다.

        이 키에는 @@assign상속 값 연산자와 true 또는 false 값이 포함됩니다.

    • copy_actions— 이 정책 키는 AWS Backup 계획의 CopyActions 키에 매핑됩니다.

      (선택 사항) 백업을 하나 이상의 추가 위치에 복사하도록 AWS Backup 지정합니다. 각 백업 복사본 위치는 아래에 설명되어 있습니다.

      • 이름으로 해당 복사 작업을 고유하게 식별할 수 있는 키입니다. 이때 키 이름은 백업 저장소의 Amazon 리소스 이름 (ARN) 이어야 합니다. 이 키는 두 항목을 포함합니다.

        • target_backup_vault_arn – 이 정책 키는 AWS Backup 계획의 DestinationBackupVaultArn 키에 매핑됩니다.

          (선택 사항) 백업의 추가 사본을 AWS Backup 저장하는 저장소를 지정합니다. 이 키의 값에는 저장소의 @@assign상속 값 연산자와 상속 값 연산자가 포함됩니다. ARN

          • 백업 정책이 실행되는 저장소를 참조하려면 계정 ID 번호 대신 $account 변수를 사용하십시오. AWS 계정 ARN 백업 계획을 실행하면 변수가 정책이 AWS Backup 실행되고 있는 계정의 계정 ID 번호로 자동 대체됩니다. AWS 계정 이렇게 하면 백업 정책을 조직의 둘 이상의 계정에 적용할 때 백업이 올바르게 실행됩니다.

          • 같은 조직의 다른 저장소를 참조하려면 AWS 계정 의 실제 계정 ID 번호를 사용하십시오. ARN

          중요
          • 이 키가 누락된 경우 상위 키 이름의 모든 소문자 버전이 사용됩니다. ARN 대소문자를 구분하기 때문에 ARNs 이 문자열은 실제 ARN 오류와 일치하지 않아 계획이 실패할 수 있습니다. 따라서 항상 이 키 및 값을 제공하는 것이 좋습니다.

          • 백업 계획을 처음 시작할 때 백업을 복사하려는 백업 볼트가 사전에 존재해야 합니다. AWS CloudFormation 스택 세트 및 Organization과의 통합을 사용하여 조직의 각 구성원 계정에 대한 백업 저장소와 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 첨부되는 태그를 지정합니다. 이 키의 값에는 다음 요소 중 하나 이상이 포함됩니다.

      • 이 키 이름/값 페어의 식별자. tag_key의 대/소문자 처리가 다르더라도 recovery_point_tags 아래의 각 요소에 대한 이 이름은 모두 소문자로 표시된 태그 키 이름입니다. 이 식별자는 대소문자를 구분하지 않습니다. 위의 예제에서 이 키 페어는 이름 Owner로 식별되었습니다. 각 키 페어에는 다음 요소가 들어 있습니다.

        • tag_key – 백업 계획에 연결할 태그 키 이름을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 문자열 값이 들어 있습니다. 값은 대소문자를 구분합니다.

        • tag_value - 백업 계획에 연결되고 tag_key와 연결되는 값을 지정합니다. 이 키에는 상속 값 연산자와 유효 정책에서 대체, 추가 또는 제거할 하나 이상의 값이 들어 있습니다. 이러한 값은 대소문자를 구분합니다.

  • regions

    regions정책 키는 키의 조건에 맞는 리소스를 찾기 위해 검색할 대상을 지정합니다. AWS 리전 AWS Backup selections 이 키에는 모든 상속 값 연산자와 하나 이상의 AWS 리전 코드 문자열 값이 포함됩니다 (예:["us-east-1", "eu-north-1"].

  • selections

    selections 정책 키는 이 정책의 계획 규칙에 의해 백업되는 리소스를 지정합니다. 이 키는 대략 의 BackupSelection 객체에 해당합니다 AWS Backup. 리소스는 태그 키 이름 및 값을 일치시키는 쿼리에 의해 지정됩니다. selections 키는 그 아래에 하나의 키(tags)를 포함합니다.

    • tags— 리소스를 식별하는 태그와 리소스를 쿼리하고 백업할 권한이 있는 IAM 역할을 지정합니다. 이 키의 값에는 다음 요소 중 하나 이상이 포함됩니다.

      • 이 태그 요소의 식별자. 쿼리할 태그의 대/소문자 처리가 다르더라도 tags 아래의 이 식별자는 모두 소문자로 표시된 태그 키 이름입니다. 이 식별자는 대소문자를 구분하지 않습니다. 위의 예제에서 한 요소가 이름 My_Backup_Assignment로 식별되었습니다. tags의 각 식별자에는 다음 요소가 들어 있습니다.

        • iam_role_arnregions 키로 AWS 리전 지정된 태그 쿼리로 식별된 리소스에 액세스할 권한이 있는 IAM 역할을 지정합니다. 이 값에는 @@assign상속 값 연산자와 역할이 포함된 문자열 값이 포함됩니다. ARN AWS Backup 이 역할을 사용하여 리소스를 쿼리 및 검색하고 백업을 수행합니다.

          계정 ID 번호 대신 $account 변수를 사용할 수 있습니다. ARN 에서 백업 계획을 실행하면 변수가 정책이 실행되고 있는 실제 계정 ID 번호로 자동 대체됩니다. AWS Backup AWS 계정

          중요

          백업 계획을 처음 시작할 때 역할이 이미 존재해야 합니다. AWS CloudFormation 스택 세트 및 Organization과의 통합을 사용하여 조직의 각 구성원 계정에 대한 백업 저장소와 IAM 역할을 자동으로 만들고 구성하는 것이 좋습니다. 자세한 내용은 AWS CloudFormation 사용 설명서자체 관리 권한으로 스택 세트 만들기를 참조하세요.

        • tag_key - 검색할 태그 키 이름을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 문자열 값이 들어 있습니다. 값은 대소문자를 구분합니다.

        • tag_value- 일치하는 tag_key 키 이름과 연결되어야 하는 값을 지정합니다. AWS Backup 와 가 모두 tag_value 일치하는 경우에만 백업에 tag_key 리소스를 포함합니다. 이 키에는 상속 값 연산자와 유효 정책에서 대체, 추가 또는 제거할 하나 이상의 값이 들어 있습니다. 이러한 값은 대소문자를 구분합니다.

  • advanced_backup_settings – 특정 백업 시나리오에 대한 설정을 지정합니다. 이 키에는 하나 이상의 설정이 있습니다. 각 설정은 다음 요소가 포함된 JSON 개체 문자열입니다.

    • 객체 키 이름 - 다음 고급 설정이 적용되는 리소스 유형을 지정하는 문자열입니다.

    • 개체 값 - 연결된 리소스 유형과 관련된 하나 이상의 백업 설정이 포함된 JSON 개체 문자열입니다.

    현재 지원되는 유일한 고급 백업 설정은 Amazon EC2 인스턴스에서 실행되는 Windows 또는 SQL 서버에 대한 Microsoft 볼륨 섀도 복사본 서비스 (VSS) 백업을 활성화할 수 있습니다. 키 이름은 "ec2" 리소스 유형이어야 하며, 값은 해당 Amazon EC2 인스턴스에서 수행된 백업 중 하나 enabled 또는 disabled 그 중 하나를 "windows_vss" 지원한다고 지정합니다. 이 기능에 대한 자세한 내용은 AWS Backup 개발자 안내서의 VSS -Enabled Windows 백업 만들기를 참조하십시오.

    "advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } }
  • backup_plan_tags – 백업 계획 자체에 연결되는 태그를 지정합니다. 규칙 또는 선택 사항에 지정된 태그에는 영향을 주지 않습니다.

    (선택 사항) 백업 계획에 태그를 연결할 수 있습니다. 이 키의 값은 요소의 모음입니다.

    쿼리할 태그의 대/소문자 처리가 다르더라도 backup_plan_tags 아래의 각 요소에 대한 키 이름은 모두 소문자로 표시된 태그 키 이름입니다. 이 식별자는 대소문자를 구분하지 않습니다. 이러한 각 항목의 값은 다음 키로 구성됩니다.

    • tag_key – 백업 계획에 연결할 태그 키 이름을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 문자열 값이 들어 있습니다. 이 값은 대소문자를 구분합니다.

    • tag_value - 백업 계획에 연결되고 tag_key와 연결되는 값을 지정합니다. 이 키에는 @@assign 상속 값 연산자와 문자열 값이 들어 있습니다. 이 값은 대소문자를 구분합니다.

백업 정책 예제

다음 백업 정책 예제는 정보 제공 용도로만 제공됩니다. 다음 예시 중 일부에서는 JSON 공간을 절약하기 위해 공백 서식을 압축할 수 있습니다.

예제 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표현식을 사용하면 한 시간에 한 번씩 백업이 실행됩니다. 계정 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" ] } } } } } } }

최종 유효 정책 – 계정에 적용되는 유효 정책에는 각각 자체 규칙 집합과 규칙을 적용할 리소스 집합이 있는 두 개의 계획이 포함됩니다.

{ "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: 상위 정책이 하위 정책에 의한 한 백업 계획의 변경을 금지

다음 예제에서 상속된 상위 정책은 하위 제어 연산자를 사용하여 단일 계획의 설정을 강제 적용하고 하위 정책이 해당 설정을 변경 또는 재정의하는 것을 금지합니다. 하위 정책은 여전히 추가 계획을 추가할 수 있습니다.

상위 정책 – 이 정책은 조직의 루트 또는 모든 상위 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: 하위 정책이 상위 정책의 설정을 재정의

다음 예제에서 하위 정책은 값-설정(value-setting) 연산자를 사용하여 상위 정책에서 상속된 설정 일부를 재정의합니다.

상위 정책 – 이 정책은 조직의 루트 또는 모든 상위 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 매시간이 아닌 매 시간마다 수행합니다.

  • 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" ] } } } } } }