기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
백업 정책 구문 및 예제
이 페이지에서는 백업 정책 구문에 대해 설명하고 예제를 제공합니다.
백업 정책 구문
백업 정책은 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 | 설명 | 필수 |
---|---|---|
규칙 | 백업 규칙 목록입니다. 각 규칙은 백업이 시작되는 시기와 regions 및 selections 요소에 지정된 리소스의 실행 기간을 정의합니다. |
예 |
리전 | 백업 정책이 리소스를 보호할 수 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 생성할지 여부를 지정합니다.
연속 백업에 대한 자세한 내용은 AWS Backup 개발자 안내서의 특정 시점으로 복구를 참조하세요. 참고: PITR 지원 백업의 최대 보존 기간은 35일입니다. |
아니요 |
lifecycle |
가 백업을 콜드 스토리지로 AWS Backup 전환하는 시기와 만료되는 시기를 지정합니다. 콜드 스토리지로 전환할 수 있는 리소스 유형은 AWS Backup 개발자 안내서의 리소스별 기능 가용성 테이블 리소스별 기능 가용성에 나열되어 있습니다. 각 수명 주기에는 다음 요소가 포함됩니다.
참고: 콜드 스토리지로 전환된 백업은 최소 90일 동안 콜드 스토리지에 저장해야 합니다. 즉,는 보다 90일 커 |
아니요 |
copy_actions |
가 하나 이상의 추가 위치에 백업을 AWS Backup 복사할지 여부를 지정합니다. 각 복사 작업에는 다음 요소가 포함됩니다.
참고: 콜드 스토리지로 전환된 백업은 최소 90일 동안 콜드 스토리지에 저장해야 합니다. 즉,는 보다 90일 커 |
아니요 |
recovery_point_tags |
백업에서 복원되는 리소스에 할당하려는 태그입니다. 각 태그에는 다음 요소가 포함됩니다.
|
아니요 |
index_actions |
가 Amazon EBS 스냅샷 및/또는 Amazon S3 백업의 백업 인덱스를 AWS Backup 생성할지 여부를 지정합니다. 백업 인덱스는 백업의 메타데이터를 검색하기 위해 생성됩니다. 백업 인덱스 생성 및 백업 검색에 대한 자세한 내용은 백업 검색을 참조하세요. 참고: Amazon EBS 스냅샷 백업 인덱스를 생성하려면 추가 IAM 역할 권한이 필요합니다. 각 인덱스 작업에는 인덱싱에 지원되는 리소스 유형이 Amazon EBS 및 Amazon S3인 요소가 포함되어 |
아니요 |
백업 구문: 리전
regions
정책 키는 selections
키의 조건과 일치하는 리소스를 찾기 위해에서 AWS 리전 AWS Backup 찾을을 지정합니다.
Element | 설명 | 필수 |
---|---|---|
regions |
AWS 리전 코드를 지정합니다. 예를 들어 |
예 |
백업 구문: 선택
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_like 및 string_not_like을 사용하여 특정 문자를 포함하거나 포함하지 않는 태그를 포함하거나 제외합니다. 참고: 각 선택에 대해 30개의 조건으로 제한됩니다. |
아니요 |
Element | 설명 | 필수 |
---|---|---|
iam_role_arn |
가 지정된 리전에서 리소스를 쿼리, 검색 및 백업하기 위해 AWS Backup 수임하는 IAM 역할입니다. 역할에는 태그 조건에 따라 리소스를 쿼리하고 일치하는 리소스에 대한 백업 작업을 수행할 수 있는 충분한 권한이 있어야 합니다. 참고:에서 파티션의 이름을 ARN에 추가해야 AWS GovCloud (US) Regions합니다. 예를 들어 " |
예 |
resource_types |
백업 계획에 포함할 리소스 유형입니다. | 예 |
not_resource_types |
백업 계획에서 제외할 리소스 유형입니다. | 아니요 |
conditions |
포함하거나 제외하려는 태그 키 및 값 string_equals 또는 string_not_equals를 사용하여 정확히 일치하는 태그를 포함하거나 제외합니다. string_like 및 string_not_like을 사용하여 특정 문자를 포함하거나 포함하지 않는 태그를 포함하거나 제외합니다. 참고: 각 선택에 대해 30개의 조건으로 제한됩니다. |
아니요 |
지원되는 리소스 유형
Organizations는 resource_types
및 not_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) 백업을 활성화하는 것입니다. 각 고급 백업은 다음 요소를 설정합니다.
|
아니요 |
예:
"advanced_backup_settings": { "ec2": { "windows_vss": { "@@assign": "enabled" } } },
백업 구문: 백업 계획 태그
backup_plan_tags
정책 키는 백업 계획 자체에 연결된 태그를 지정합니다. 이는 rules
또는에 지정된 태그에는 영향을 주지 않습니다selections
.
Element | 설명 | 필수 |
---|---|---|
backup_plan_tags |
각 태그는 사용자 정의 키와 값으로 구성된 레이블입니다.
|
아니요 |
백업 정책 예제
다음 백업 정책 예제는 정보 제공 용도로만 제공됩니다. 다음 예제 중 일부에서는 공간을 절약하기 위해 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
블록을 사용하여 리소스를 지정하는 예제입니다.