백업 정책 구문 및 예제 - 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": { ... } } } }
백업 정책 요소
Element 설명 필수
규칙 백업 규칙 목록입니다. 각 규칙은 백업이 시작되는 시기와 regionsselections 요소에 지정된 리소스의 실행 기간을 정의합니다.
리전 백업 정책이 리소스를 보호할 수 AWS 리전 있는 위치의 목록입니다.
선택 백업이 rules 보호regions하도록 지정된 내에서 하나 이상의 리소스 유형입니다.
고급_백업_설정

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

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

아니요
backup_plan_tags

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

태그는 백업 계획을 관리, 식별, 구성, 검색 및 필터링하는 데 도움이 될 수 있습니다.

아니요

백업 구문: 규칙

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

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

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

cron 표현식에 대한 자세한 내용은 Amazon EventBridge 사용 설명서cron 및 rate 표현식을 사용하여 규칙 예약 섹션을 참조하세요.

target_backup_vault_name

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

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

start_backup_window_minutes

백업 작업이 성공적으로 시작되지 않으면 백업 작업을 취소하기 전에 기다려야 하는 분 수가 취소됩니다.

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

아니요
complete_backup_window_minutes N백업 작업이 성공적으로 시작된 후 완료되거나 취소될 때까지의 분 수입니다 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일 동안 콜드 스토리지에 저장해야 합니다.

즉,는 보다 90일 커delete_after_days야 합니다move_to_cold_storage_after_days.

아니요
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일 동안 콜드 스토리지에 저장해야 합니다.

즉,는 보다 90일 커delete_after_days야 합니다move_to_cold_storage_after_days.

아니요
recovery_point_tags

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

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

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

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

아니요
index_actions

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

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

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

아니요

백업 구문: 리전

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

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

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

백업 구문: 선택

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

상호 배타적인 요소는 tags 및 입니다resources. 유효 정책은 have 태그 또는 선택 resources 항목에 있어야 유효합니다.

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

백업 선택 요소: 태그
Element 설명 필수
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개의 조건으로 제한됩니다.

아니요
백업 선택 요소: 리소스
Element 설명 필수
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 키는 특정 백업 시나리오에 대한 구성 옵션을 지정합니다. 각 설정에는 다음 요소가 포함됩니다.

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

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

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

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

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

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

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

아니요

예:

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

백업 구문: 백업 계획 태그

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

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

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

아니요

백업 정책 예제

다음 백업 정책 예제는 정보 제공 용도로만 제공됩니다. 다음 예제 중 일부에서는 공간을 절약하기 위해 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" }, "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", "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"} } } } } }, ...