AWS Organizations Policy 을 이용한 크로스어카운트 백업설정

AWS Organizations Policy 을 이용한 크로스어카운트 백업설정

2026.02.09

개요

AWS Organizations의 백업 정책를 사용하여 Cross-Account Backup을 중앙에서 관리하는 방법을 설명합니다.

아키텍처

[Management Account]

        ├── 백업 정책 생성 & OU에 배포


[Source Account (Member)]              [Destination Account (Member)]
        │                                       │
   EC2/EBS 등                              Backup Vault (CMK)
   Tag: Backup=true                             ▲
        │                                       │
        └────── 자동 Backup & Copy ─────────────┘

사전 요건

  • AWS Organizations 구성 완료
  • Source Account, Destination Account가 동일 Organization 소속
  • Management Account 접근 권한

Step 1: Management Account에서 Cross-account management 활성화

1-1. AWS Backup 콘솔 이동

Management Account → AWS Backup설정

1-2. 크로스 계정 관리 활성화

설정
계정 간 백업 켜기
크로스 계정 모니터링 켜기 (선택)

screenshot 2026-01-29 9.13.19

Step 2: Source , Destination Account에서 KMS CMK 생성

2-1. KMS 콘솔 이동

Source , Destination Account → KMS고객 관리형 키키 생성

2-2. Key 설정

항목
키 유형 대칭
키 사용 암호화 및 해독
별칭 backup-vault-key (예시)

2-3. 키 정책 설정

기본 Policy에 아래 Statement 추가:
Destination 어카운트

{
  "Sid": "AllowSourceAccountForCrossAccountBackup",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::<SOURCE_ACCOUNT_ID>:role/service-role/AWSBackupDefaultServiceRole"
  },
  "Action": [
    "kms:Encrypt",
    "kms:GenerateDataKey",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}

Source 어카운트

{
  "Sid": "AllowSourceAccountForCrossAccountBackup",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::<Destination_ACCOUNT_ID>:role/service-role/AWSBackupDefaultServiceRole"
  },
  "Action": [
    "kms:Encrypt",
    "kms:GenerateDataKey",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}

01_kms-cmk-list

Step 3: Source , Destination Account에서 Backup Vault 생성

3-1. Backup Vault 생성

Destination Account → AWS Backup볼트새 볼트 생성

항목
볼트 이름 test-destination-vault ,test-source-vault(예시)
암호화 키 Step 2에서 생성한 CMK 선택

02_vault-creation-destination

3-2. Vault Access Policy 설정

생성된 Vault 선택 → 액세스 정책 → **편집

Organization 또는 OU 전체 허용 (선택)**

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "backup:CopyIntoBackupVault",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalOrgID": "<YOUR_ORG_ID>"
        }
      }
    }
  ]
}

screenshot 2026-01-31 18.56.44

Step 4: Source Account에서 EBS 암호화용 CMK 설정

4-1. KMS CMK 생성 (또는 기존 CMK 사용)

Source Account → KMS고객 관리형 키키 생성

4-2. 키 정책에 Destination 권한 추가

{
  "Sid": "AllowDestinationAccountForCrossAccountBackup",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::<DESTINATION_ACCOUNT_ID>:role/aws-service-role/backup.amazonaws.com/AWSServiceRoleForBackup"
  },
  "Action": [
    "kms:Decrypt",
    "kms:DescribeKey",
    "kms:CreateGrant"
  ],
  "Resource": "*"
}

4-3. EBS 기본 암호화 설정 (권장)

Source Account → EC2설정EBS 암호화

항목
새 EBS 볼륨을 항상 암호화 활성화
기본 암호화 키 Step 4-1에서 생성한 CMK 선택

Step 5: Management Account에서 백업 정책 생성

5-1. 백업 정책 활성화

Management Account → AWS Organizations정책백업 정책활성화

5-2. 정책 생성

정책 생성 클릭

항목
Policy name CrossAccountBackupPolicy (예시)

5-3. Policy JSON

{
  "plans": {
    "CrossAccountBackupPlan": {
      "regions": {
        "@@assign": ["ap-northeast-1"]
      },
      "rules": {
        "DailyBackupRule": {
          "schedule_expression": {
            "@@assign": "cron(0 5 ? * * *)"
          },
          "start_backup_window_minutes": {
            "@@assign": "60"
          },
          "complete_backup_window_minutes": {
            "@@assign": "180"
          },
          "target_backup_vault_name": {
            "@@assign": "Default"
          },
          "lifecycle": {
            "delete_after_days": {
              "@@assign": "30"
            }
          },
          "copy_actions": {
            "arn:aws:backup:ap-northeast-1:<DEST_ACCOUNT_ID>:backup-vault:cross-account-vault": {
              "target_backup_vault_arn": {
                "@@assign": "arn:aws:backup:ap-northeast-1:<DEST_ACCOUNT_ID>:backup-vault:cross-account-vault"
              },
              "lifecycle": {
                "delete_after_days": {
                  "@@assign": "90"
                }
              }
            }
          }
        }
      },
      "selections": {
        "tags": {
          "BackupSelection": {
            "iam_role_arn": {
              "@@assign": "arn:aws:iam::$account:role/service-role/AWSBackupDefaultServiceRole"
            },
            "tag_key": {
              "@@assign": "Backup"
            },
            "tag_value": {
              "@@assign": ["true"]
            }
          }
        }
      }
    }
  }
}

Step 6: Policy를 OU 혹은 계정 에 Attach

6-1. Policy Attach

Management Account → AWS Organizations정책백업 정책

  1. 생성한 정책 선택
  2. 작업정책연결
  3. Source Account가 속한 OU 혹은 계정을 선택

screenshot 2026-02-01 0.54.33

6-2. 확인

Source Account → AWS Backup백업 계획

CrossAccountBackupPlan이 자동 생성되어 있으면 성공!


설정 요약

Account 설정 항목 내용
Management Cross-account management 활성화
Management 백업 정책 생성 & OU에 Attach
Destination KMS CMK 생성 + Source Role 권한 추가
Destination Backup Vault CMK로 생성 + Access Policy
Source KMS CMK 생성 + Destination Role 권한 추가
Source EBS 암호화 CMK로 설정
Source 리소스 Tag Backup=true

CMK가 필요한이유

Source EBS → CMK 필요

Destination의 AWSServiceRoleForBackup이 Source EBS를 Decrypt 해야 함


aws/ebs (Managed Key)는 키 정책 수정 불가 → 권한 부여 불가 ❌
CMK는 키 정책 수정 가능 → Destination Role 권한 추가 ✅

Destination Vault → CMK 필요

Source의 Role이 Destination Vault에 데이터를 Encrypt 해야 함


aws/backup (Managed Key)는 키 정책 수정 불가 → 권한 부여 불가 ❌
CMK는 키 정책 수정 가능 → Source Role 권한 추가 ✅

흔한 에러와 해결

에러 메시지 원인 해결
Cross-account backup is not enabled Management Account에서 미활성화 Step 1 수행
Access Denied trying to call AWS Backup service Vault Access Policy 누락 또는 Source IAM Role 권한 부족 Step 3-2 확인 / AWSBackupServiceRolePolicyForBackup 확인
KMS key access denied Source CMK 키 정책 미설정 Step 4-2 확인
Cannot use default vault Destination이 Default vault 사용 CMK로 새 Vault 생성
Snapshots encrypted with the AWS Managed CMK can't be shared Source EBS가 aws/ebs로 암호화됨 아래 대응 방법 참조
Backup plan not appearing in member account Policy가 OU에 미연결 Step 6 확인

콘솔 방식 vs Organizations Policy 비교

항목 콘솔 방식 Organizations Policy
설정 위치 각 Source Account Management Account (중앙)
Backup Plan 관리 Account별 개별 관리 중앙 집중 관리
신규 Account 적용 수동 설정 필요 OU설정시 자동 적용
대규모 환경 번거로움 효율적

この記事をシェアする

関連記事