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설정시 자동 적용
대규모 환경 번거로움 효율적

この記事をシェアする

FacebookHatena blogX

関連記事