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

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

백업 정책 구문 및 예제

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

백업 정책 구문

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

AWS Backup 계획에 대한 자세한 내용은 AWS Backup 개발자 안내서CreateBackupPlan을 참조하세요.

고려 사항

정책 구문

JSON에서 중복된 키 이름은 거부됩니다.

정책은 백업할 AWS 리전 및 리소스를 지정해야 합니다.

정책은가 AWS Backup 수임하는 IAM 역할을 지정해야 합니다.

동일한 수준에서 @@assign 연산자를 사용하면 기존 설정을 덮어쓸 수 있습니다. 자세한 내용은 하위 정책이 상위 정책의 설정을 재정의를 참조하세요.

상속 연산자는 상속된 정책과 계정 정책이 계정의 유효 정책으로 병합되는 방법을 제어합니다. 이러한 연산자에는 값 설정 연산자와 하위 제어 연산자가 포함됩니다.

자세한 내용은 상속 연산자백업 정책 예제를 참조하세요.

IAM 역할

백업 계획을 처음 생성할 때 IAM 역할이 있어야 합니다.

IAM 역할에는 태그 쿼리로 식별된 리소스에 액세스할 수 있는 권한이 있어야 합니다.

IAM 역할에는 백업을 수행할 수 있는 권한이 있어야 합니다.

백업 저장소

백업 계획을 실행 AWS 리전 하려면 지정된 각에 볼트가 있어야 합니다.

볼트는 유효 정책을 수신하는 각 AWS 계정에 대해 존재해야 합니다. 자세한 내용은 AWS Backup 개발자 안내서백업 볼트 생성 및 삭제를 참조하세요.

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

할당량:

할당량 목록은 AWS Backup 개발자 안내서AWS Backup 할당량을 참조하세요.

백업 구문: 개요

백업 정책 구문에는 다음 구성 요소가 포함됩니다.

{ "plans": { "PlanName": { "rules": { ... }, "regions": { ... }, "selections": { ... }, "advanced_backup_settings": { ... }, "backup_plan_tags": { ... }, "scan_settings": { ... } } } }
백업 정책 요소
요소 설명 필수
규칙 백업 규칙 목록. 각 규칙은 백업이 시작되는 시기와 regionsselections 요소에 지정된 리소스의 실행 기간을 정의합니다.
리전 백업 정책이 리소스를 보호할 수 AWS 리전 있는 위치의 목록입니다.
선택 백업 rules이 보호하도록 지정된 regions 내에서 하나 이상의 리소스 유형.
advanced_backup_settings

특정 백업 시나리오에 대한 구성 옵션.

현재 지원되는 유일한 고급 백업 설정은 Amazon EC2 인스턴스에서 실행 중인 Windows 또는 SQL Server에 대해 Microsoft Volume Shadow Copy Service(VSS) 백업을 사용하는 것입니다.

아니요
backup_plan_tags

백업 계획과 연결할 태그. 각 태그는 사용자 정의 키와 값으로 구성된 레이블입니다.

태그를 사용하면 백업 계획을 손쉽게 관리, 식별, 정리, 검색, 필터링할 수 있습니다.

아니요
scan_settings

스캔 설정을 위한 구성 옵션입니다. 현재 지원되는 유일한 스캔 설정은 Amazon GuardDuty 맬웨어 보호를 활성화하는 것입니다 AWS Backup.

아니요

백업 구문: 규칙

rules 정책 키는 AWS Backup 이 선택한 리소스에서 수행하는 예약된 백업 작업을 지정합니다.

백업 규칙 요소
요소 설명 필수
schedule_expression

가 백업 작업을 AWS Backup 시작하는 시기를 지정하는 UTC의 Cron 표현식입니다.

Cron 표현식에 대한 자세한 정보는 Amazon EventBridge 사용 설명서Cron 및 rate 표현식을 사용하여 규칙 예약을 참조하세요.

target_backup_vault_name

백업이 저장되는 백업 볼트입니다.

백업 저장소는 백업 저장소를 생성하는 데 사용된 계정과 백업 저장소가 생성되는 AWS 리전 계정에 고유한 이름으로 식별됩니다.

target_logically_air_gapped_backup_vault_arn

백업이 저장되는 논리적 에어 갭 저장소 ARN입니다.

제공된 경우, 지원되는 완전 관리형 리소스는 논리적 에어 갭 저장소에 직접 백업되는 반면, 지원되는 다른 리소스는 백업 저장소에 임시(청구 가능한) 스냅샷을 생성한 다음 논리적 에어 갭 저장소에 복사합니다. 지원되지 않는 리소스는 지정된 백업 볼트에만 백업됩니다.

ARN은 특수 자리 표시자 $region 및를 사용해야 합니다$account. 예를 들어 이름이 인 볼트AirGappedVault의 경우 올바른 값은 입니다arn:aws:backup:$region:$account:backup-vault:AirGappedVault.

아니요
start_backup_window_minutes

백업 작업이 성공적으로 시작되지 않으면 작업을 취소하기 전에 대기하는 시간(분)입니다.

이 값이 포함된 경우 오류를 방지하려면 60분 이상이어야 합니다.

아니요
complete_backup_window_minutes 백업 작업이 성공적으로 시작된 후 AWS Backup에 의해 취소되기 전에 완료되어야 하는 시간(분)입니다. 아니요
enable_continuous_backup

가 연속 백업을 AWS Backup 생성할지 여부를 지정합니다.

True AWS Backup 는 point-in-time 복원(PITR)이 가능한 연속 백업을 생성합니다. False (또는 지정되지 않음)은가 스냅샷 백업 AWS Backup 을 생성합니다.

연속 백업에 대한 자세한 내용은 AWS Backup 개발자 안내서특정 시점으로 복구를 참조하세요.

참고: PITR 지원 백업의 최대 보존 기간은 35일입니다.

아니요
lifecycle

가 백업을 콜드 스토리지로 AWS Backup 전환하는 시기와 만료되는 시기를 지정합니다.

콜드 스토리지로 전환할 수 있는 리소스 유형은 AWS Backup 개발자 안내서의 리소스별 기능 가용성 테이블 리소스별 기능 가용성에 나열되어 있습니다.

각 수명 주기에는 다음 요소가 포함됩니다.

  • move_to_cold_storage_after_days: 백업이 발생한 후 복구 시점을 콜드 스토리지로 AWS Backup 이동하기까지 남은 일수입니다.

  • delete_after_days: 백업이 발생한 후가 복구 시점을 AWS Backup 삭제하기 전의 일수입니다.

  • opt_in_to_archive_for_supported_resources: 값을 true로 지정하면 백업 계획은 지원되는 리소스를 수명 주기 설정에 따라 아카이브(콜드) 스토리지 계층으로 전환합니다.

참고: 콜드 스토리지로 전환된 백업은 콜드 스토리지에서 최소 90일 이상 저장되어야 합니다.

즉, delete_after_daysmove_to_cold_storage_after_days보다 90일 커야 합니다.

아니요
copy_actions

가 하나 이상의 추가 위치에 백업을 AWS Backup 복사할지 여부를 지정합니다.

각 복사 작업에는 다음 요소가 포함됩니다.

  • target_backup_vault_arn: AWS Backup 이 백업의 추가 복사본을 저장할 볼트입니다.

    • 동일 계정 사본에 $account 사용

    • 교차 계정 사본에 실제 계정 ID 사용

  • lifecycle:가 백업을 콜드 스토리지로 AWS Backup 전환하는 시기와 만료되는 시기를 지정합니다.

    각 수명 주기에는 다음 요소가 포함됩니다.

    • move_to_cold_storage_after_days: AWS Backup 이 백업 후 복구 지점을 콜드 스토리지로 이동할 때까지 기간(일)입니다.

    • delete_after_days:가 복구 시점을 AWS Backup 삭제하기 전 백업이 발생한 후의 일수입니다.

참고: 콜드 스토리지로 전환된 백업은 콜드 스토리지에서 최소 90일 이상 저장되어야 합니다.

즉, delete_after_daysmove_to_cold_storage_after_days보다 90일 커야 합니다.

아니요
recovery_point_tags

백업에서 복원되는 리소스에 할당하려는 태그.

각 태그에는 다음 요소가 포함됩니다.

  • tag_key: 태그 이름(대소문자 구분)

  • tag_value: 태그 값(대소문자 구분)

아니요
index_actions

가 Amazon EBS 스냅샷 및/또는 Amazon S3 백업의 백업 인덱스를 AWS Backup 생성할지 여부를 지정합니다. 백업 인덱스는 백업의 메타데이터를 검색하기 위해 생성됩니다. 백업 인덱스 생성 및 백업 검색에 대한 자세한 내용은 백업 검색을 참조하세요.

참고: Amazon EBS 스냅샷 백업 인덱스를 생성하려면 추가 IAM 역할 권한이 필요합니다.

각 인덱스 작업에는 인덱싱에 지원되는 리소스 유형이 Amazon EBS 및 Amazon S3인 요소 resource_types가 포함되어 있습니다. 이 파라미터는 인덱싱에 옵트인할 리소스 유형을 지정합니다.

아니요
scan_actions

지정된 규칙에 대해 스캔 작업을 활성화할지 여부를 지정합니다. Malwarescanner 및를 지정해야 합니다ScanMode. 스캔 작업이 성공적으로 시작scan_actions되려면와 함께를 scan_settings 백업 정책 요소에 사용해야 합니다. 또한 올바른 IAM 역할 권한이 있는지 확인하십시오.

아니요

백업 구문: 리전

regions 정책 키는 selections 키의 조건과 일치하는 리소스를 찾기 위해 AWS 리전 에서 AWS Backup 찾을을 지정합니다.

백업 리전 요소
요소 설명 필수
regions

AWS 리전 코드를 지정합니다. 예를 들어 ["us-east-1", "eu-north-1"]입니다.

백업 구문: 선택

selections 정책 키는 백업 정책의 규칙에 의해 백업되는 리소스를 지정합니다.

상호 배타적인 요소는 tagsresources입니다. 유효 정책이 유효하려면 태그나 선택한 resources있어야have 합니다.

태그 조건과 리소스 조건이 모두 포함된 선택을 원하는 경우 resources 키를 사용합니다.

백업 선택 요소: 태그
요소 설명 필수
iam_role_arn 지정된 리전에서가 리소스를 쿼리, 검색 및 백업하도록 AWS Backup 수임하는 IAM 역할입니다.

역할에는 태그 조건에 따라 리소스를 쿼리하고 일치하는 리소스에 대한 백업 작업을 수행할 수 있는 충분한 권한이 있어야 합니다.

tag_key 검색할 태그 키 이름.
tag_value 일치하는 tag_key와 연결되어야 하는 값.

AWS Backup 에는 tag_key와 tag_value가 모두 일치하는 경우에만 리소스가 포함됩니다(대소문자 구분).

conditions

포함하거나 제외하려는 키 및 값에 태그 지정

string_equals 또는 string_not_equals를 사용하여 정확히 일치하는 태그를 포함하거나 제외합니다.

string_likestring_not_like를 사용하여 특정 문자를 포함하거나 포함하지 않는 태그를 포함하거나 제외합니다.

참고: 각 선택에 대해 30개의 조건으로 제한됩니다.

아니요
백업 선택 요소: 리소스
요소 설명 필수
iam_role_arn 지정된 리전에서가 리소스를 쿼리, 검색 및 백업하도록 AWS Backup 수임하는 IAM 역할입니다.

역할에는 태그 조건에 따라 리소스를 쿼리하고 일치하는 리소스에 대한 백업 작업을 수행할 수 있는 충분한 권한이 있어야 합니다.

참고:에서 ARN에 파티션 이름을 추가해야 AWS GovCloud (US) Regions합니다.

예를 들어 "arn:aws:ec2:*:*:volume/*"는 "arn:aws-us-gov:ec2:*:*:volume/*"여야 합니다.

resource_types 백업 계획에 포함할 리소스 유형.
not_resource_types 백업 계획에서 제외할 리소스 유형. 아니요
conditions

포함하거나 제외하려는 키 및 값에 태그 지정

string_equals 또는 string_not_equals를 사용하여 정확히 일치하는 태그를 포함하거나 제외합니다.

string_likestring_not_like를 사용하여 특정 문자를 포함하거나 포함하지 않는 태그를 포함하거나 제외합니다.

참고: 각 선택에 대해 30개의 조건으로 제한됩니다.

아니요

지원되는 리소스 유형

Organizations는 resource_typesnot_resource_types 요소에 대해 다음과 같은 리소스 유형을 지원합니다.

  • AWS Backup gateway 가상 머신: "arn:aws:backup-gateway:*:*:vm/*"

  • AWS CloudFormation 스택: "arn:aws:cloudformation:*:*:stack/*"

  • Amazon DynamoDB 테이블: "arn:aws:dynamodb:*:*:table/*"

  • Amazon EC2 인스턴스: "arn:aws:ec2:*:*:instance/*"

  • Amazon EBS 볼륨: "arn:aws:ec2:*:*:volume/*"

  • Amazon EFS 파일 시스템: "arn:aws:elasticfilesystem:*:*:file-system/*"

  • Amazon Aurora/Amazon DocumentDB/Amazon Neptune 클러스터: "arn:aws:rds:*:*:cluster:*"

  • Amazon RDS 데이터베이스: "arn:aws:rds:*:*:db:*"

  • Amazon Redshift 클러스터: "arn:aws:redshift:*:*:cluster:*"

  • Amazon S3: "arn:aws:s3:::*"

  • AWS Systems Manager for SAP HANA 데이터베이스: "arn:aws:ssm-sap:*:*:HANA/*"

  • AWS Storage Gateway 게이트웨이: "arn:aws:storagegateway:*:*:gateway/*"

  • Amazon Timestream 데이터베이스: "arn:aws:timestream:*:*:database/*"

  • Amazon FSx 파일 시스템: "arn:aws:fsx:*:*:file-system/*"

  • Amazon FSx 볼륨: "arn:aws:fsx:*:*:volume/*"

코드 예제

자세한 내용은 태그 블록을 사용하여 리소스 지정리소스 블록을 사용하여 리소스 지정을 참조하세요.

백업 구문: 고급 백업 설정

advanced_backup_settings 키는 특정 백업 시나리오에 대한 구성 옵션을 지정합니다. 각 설정은 다음 요소가 포함됩니다.

고급 백업 설정 요소
요소 설명 필수
advanced_backup_settings 특정 백업 시나리오에 대한 설정을 지정합니다. 이 키에는 하나 이상의 설정이 있습니다. 각 설정은 다음 요소를 포함하는 JSON 객체 문자열입니다.

현재 지원되는 유일한 고급 백업 설정은 Amazon EC2 인스턴스에서 실행 중인 Windows 또는 SQL Server에 대해 Microsoft Volume Shadow Copy Service(VSS) 백업을 사용하는 것입니다.

각 고급 백업은 다음 요소를 설정합니다.

  • Object key name: 다음 고급 설정이 적용되는 리소스 유형을 지정하는 문자열입니다.

    키 이름은 "ec2" 리소스 유형이어야 합니다

  • Object value: 연결된 리소스 유형과 관련된 하나 이상의 백업 설정을 포함하는 문자열입니다.

    값은 Amazon EC2 인스턴스에서 실행되는 백업에 대해 "windows_vss" 지원이 enabled 또는 disabled인지 지정합니다.

아니요

예시:

"advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } },

백업 구문: 백업 계획 태그

backup_plan_tags 정책 키는 백업 계획 자체에 연결되는 태그를 지정합니다. 이는 rules 또는 selections에 지정된 태그에는 영향을 주지 않습니다.

백업 계획 태그 요소
요소 설명 필수
backup_plan_tags 각 태그는 사용자 정의 키와 값으로 구성된 레이블입니다.
  • tag_key: 검색할 태그 키 이름. 이 값은 대소문자를 구분합니다.

  • tag_value: 백업 계획에 연결되고 tag_key와 연결되는 값. 이 값은 대소문자를 구분합니다.

아니요

백업 구문: 스캔 설정

scan_settings 정책 키는 백업 계획 자체에 연결되는 태그를 지정합니다. 이는 rules 또는 selections에 지정된 태그에는 영향을 주지 않습니다.

백업 계획 태그 요소
요소 설명 필수
scan_settings

각 태그는 사용자 정의 키와 값: 스캔 설정을 위한 구성 옵션으로 구성된 레이블입니다. 현재 지원되는 유일한 스캔 설정은 Amazon GuardDuty 맬웨어 보호를 활성화하는 것입니다 AWS Backup. Malwarescanner, ResourceTypes및를 지정해야 합니다ScannerRoleArn.

아니요

백업 정책 예제

다음 백업 정책 예제는 정보 제공 용도로만 제공됩니다. 다음 예제 중 일부에서는 공간을 절약하기 위해 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" }, "target_logically_air_gapped_backup_vault_arn": { "@@assign": "arn:aws:backup:$region:$account:backup-vault:AirGappedVault" }, "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "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", "target_logically_air_gapped_backup_vault_arn": "arn:aws:backup:$region:$account:backup-vault:AirGappedVault", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "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:backup-vault:secondary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:backup-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:backup-vault:tertiary_vault": { "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-west-1:111111111111:backup-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" }, "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "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: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": "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:backup-vault:Default" : { "target_backup_vault_arn" : { "@@assign" : "arn:aws:backup:us-east-1:$account:backup-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", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "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: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": "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:backup-vault:Default" : { "target_backup_vault_arn": { "@@assign" : "arn:aws:backup:us-east-1:$account:backup-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" }, "index_actions": { "@@operators_allowed_for_child_policies": ["@@none"], "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "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:backup-vault:secondary_vault": { "@@operators_allowed_for_child_policies": ["@@none"], "target_backup_vault_arn": { "@@assign": "arn:aws:backup:us-east-1:$account:backup-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", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "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:backup-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"}, "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "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:backup-vault:t2": { "target_backup_vault_arn": {"@@assign": "arn:aws:backup:us-east-1:$account:backup-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 는 시간당 대신 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", "index_actions": { "resource_types": { "@@assign": [ "EBS", "S3" ] } }, "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: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": "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" ] } } } } } }

예제 6: tags 블록을 사용하여 리소스 지정

다음 예제에는 tag_key = “env”, tag_value = "prod", "gamma"가 있는 모든 리소스가 포함됩니다. 이 예제에서는 tag_key = "backup"tag_value = "false"인 리소스를 제외합니다.

... "selections":{ "tags":{ "selection_name":{ "iam_role_arn": {"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "tag_key":{"@@assign": "env"}, "tag_value":{"@@assign": ["prod", "gamma"]}, "conditions":{ "string_not_equals":{ "condition_name1":{ "condition_key": { "@@assign": "aws:ResourceTag/backup" }, "condition_value": { "@@assign": "false" } } } } } } }, ...

예제 7: resources 블록을 사용하여 리소스 지정

다음은 resources 블록을 사용하여 리소스를 지정하는 예제입니다.

Example: Select all resources in my account

부울 로직은 IAM 정책에서 사용할 수 있는 것과 유사합니다. "resource_types" 블록은 부울 AND를 사용하여 리소스 유형을 결합합니다.

... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] } } }, ...
Example: Select all resources in my account, but exclude Amazon EBS volumes

부울 로직은 IAM 정책에서 사용할 수 있는 것과 유사합니다. "resource_types""not_resource_types" 블록은 부울을 사용하여 리소스 유형을 AND 결합합니다.

... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] }, "not_resource_types":{ "@@assign": [ "arn:aws:ec2:*:*:volume/*" ] } } }, ...
Example: Select all resources tagged with "backup" : "true", but exclude Amazon EBS volumes

부울 로직은 IAM 정책에서 사용할 수 있는 것과 유사합니다. "resource_types""not_resource_types" 블록은 부울을 사용하여 리소스 유형을 AND 결합합니다. "conditions" 블록은 부울 AND를 사용합니다.

... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] }, "not_resource_types":{ "@@assign": [ "arn:aws:ec2:*:*:volume/*" ] }, "conditions":{ "string_equals":{ "condition_name1":{ "condition_key": { "@@assign":"aws:ResourceTag/backup"}, "condition_value": { "@@assign":"true" } } } } } }, ...
Example: Select all Amazon EBS volumes and Amazon RDS DB instances tagged with both "backup" : "true" and "stage" : "prod"

부울 로직은 IAM 정책에서 사용할 수 있는 것과 유사합니다. "resource_types" 블록은 부울 AND을 사용하여 리소스 유형을 결합합니다. "conditions" 블록은 부울 AND을 사용하여 리소스 유형과 태그 조건을 결합합니다.

... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "arn:aws:ec2:*:*:volume/*", "arn:aws:rds:*:*:db:*" ] }, "conditions":{ "string_equals":{ "condition_name1":{ "condition_key":{"@@assign":"aws:ResourceTag/backup"}, "condition_value":{"@@assign":"true"} }, "condition_name2":{ "condition_key":{"@@assign":"aws:ResourceTag/stage"}, "condition_value":{"@@assign":"prod"} } } } } }, ...
Example: Select all Amazon EBS volumes and Amazon RDS instances tagged with "backup" : "true" but not "stage" : "test"

부울 로직은 IAM 정책에서 사용할 수 있는 것과 유사합니다. "resource_types" 블록은 부울 AND을 사용하여 리소스 유형을 결합합니다. "conditions" 블록은 부울 AND을 사용하여 리소스 유형과 태그 조건을 결합합니다.

... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "arn:aws:ec2:*:*:volume/*", "arn:aws:rds:*:*:db:*" ] }, "conditions":{ "string_equals":{ "condition_name1":{ "condition_key":{"@@assign":"aws:ResourceTag/backup"}, "condition_value":{"@@assign":"true"} } }, "string_not_equals":{ "condition_name2":{ "condition_key":{"@@assign":"aws:ResourceTag/stage"}, "condition_value":{"@@assign":"test"} } } } } }, ...
Example: Select all resources tagged with "key1" and a value which begins with "include" but not with "key2" and value that contains the word "exclude"

부울 로직은 IAM 정책에서 사용할 수 있는 것과 유사합니다. "resource_types" 블록은 부울 AND을 사용하여 리소스 유형을 결합합니다. "conditions" 블록은 부울 AND을 사용하여 리소스 유형과 태그 조건을 결합합니다.

이 예제에서는 include*, *exclude*, arn:aws:rds:*:*:db:*에서 와일드카드 문자 (*)를 사용한다는 점에 유의하세요. 문자열의 시작, 끝, 중간에 와일드카드 문자 (*)를 사용할 수 있습니다.

... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] }, "conditions":{ "string_like":{ "condition_name1":{ "condition_key":{"@@assign":"aws:ResourceTag/key1"}, "condition_value":{"@@assign":"include*"} } }, "string_not_like":{ "condition_name2":{ "condition_key":{"@@assign":"aws:ResourceTag/key2"}, "condition_value":{"@@assign":"*exclude*"} } } } } }, ...
Example: Select all resources tagged with "backup" : "true" except Amazon FSx file systems and Amazon RDS resources

부울 로직은 IAM 정책에서 사용할 수 있는 것과 유사합니다. "resource_types""not_resource_types" 블록은 부울을 사용하여 리소스 유형을 AND 결합합니다. "conditions" 블록은 부울 AND을 사용하여 리소스 유형과 태그 조건을 결합합니다.

... "resources":{ "resource_selection_name":{ "iam_role_arn":{"@@assign": "arn:aws:iam::$account:role/IAMRole"}, "resource_types":{ "@@assign": [ "*" ] }, "not_resource_types":{ "@@assign":[ "arn:aws:fsx:*:*:file-system/*", "arn:aws:rds:*:*:db:*" ] }, "conditions":{ "string_equals":{ "condition_name1":{ "condition_key":{"@@assign":"aws:ResourceTag/backup"}, "condition_value":{"@@assign":"true"} } } } } }, ...