AWS アカウント間でのバックアップコピーの作成 - AWS Backup

AWS アカウント間でのバックアップコピーの作成

AWS Backup を使用すると、オンデマンドで複数の AWS アカウント にバックアップをコピーすることも、スケジュールされたバックアッププランの一部として自動的にコピーすることもできます。バックアップを運用上またはセキュリティ上の理由から、組織内にある 1 つまたは複数の AWS アカウント に安全にコピーするには、クロスアカウントバックアップを使用します。元のバックアップが誤って削除された場合は、コピー先アカウントからコピー元のアカウントにバックアップをコピーし、復元を開始できます。これを行うには、その前に、AWS Organizations サービスの同じ組織に属する 2 つのアカウントを持つ必要があります。詳細については、Organizations ユーザーガイドの「チュートリアル: 組織の作成と設定」を参照してください。

コピー先アカウントで、バックアップボールトを作成する必要があります。次に、コピー先アカウントのバックアップを暗号化するカスタマー管理キーと、許可するリソースベースのアクセスポリシーを割り当てます。AWS Backupをクリックして、コピーするリソースにアクセスします。ソースアカウントで、リソースがカスタマー管理キーで暗号化されている場合は、このカスタマー管理キーをコピー先アカウントと共有する必要があります。その後、バックアッププランを作成し、AWS Organizations で組織単位の一部であるコピー先アカウントを選択できます。

バックアップをクロスアカウントに初めてコピーすると、AWS Backup はバックアップを完全にコピーします。一般に、サービスで増分バックアップがサポートされている場合、そのバックアップの後続コピーは同じアカウントで増分になります。AWS Backup は、コピー先のボールトのカスタマー管理キーを使用してコピーを再暗号化します。

要件
  • AWS Backup の複数の AWS アカウント におけるリソースを管理する前に、アカウントが AWS Organizations サービスの同じ組織に属している必要があります。

  • AWS Backup がサポートされているリソースのほとんどは、クロスアカウントバックアップをサポートしています。詳細については、「リソース別の機能の可用性」を参照してください。

  • ほとんどの AWS リージョンで、クロスアカウントバックアップがサポートされています。詳細については、「AWS リージョン ごとの機能の可用性」を参照してください。

  • AWS Backup は、コールド階層のストレージ用のクロスアカウントコピーをサポートしていません。

クロスアカウントバックアップのセットアップ

クロスアカウントバックアップを作成するには何が必要か
  • ソースアカウント

    ソースアカウントは、本番環境のアカウントです。AWS リソースとプライマリバックアップが存在します。

    ソースアカウントユーザーがクロスアカウントのバックアップ操作を開始します。ソースアカウントユーザーまたはロールには、操作を開始するための適切な API 権限が必要です。適切なアクセス許可は、AWS 管理ポリシー AWSBackupFullAccess となる場合があり、これにより、AWS Backup オペレーション、または ec2:ModifySnapshotAttribute のようなアクションを許可するカスタマー管理ポリシーへのフルアクセスが可能になります。ポリシータイプの詳細については、「AWS Backup 管理ポリシー」を参照してください。

  • コピー先アカウント

    コピー先アカウントは、バックアップのコピーを保持するアカウントです。アカウントは複数選択できます。コピー先アカウントは、AWS Organizations のソースアカウントと同じ組織にある必要があります。

    コピー先バックアップボールトのアクセスポリシー backup:CopyIntoBackupVault を「許可」する必要があります。このポリシーが存在しない場合、コピー先アカウントへのコピーの試行は拒否されます。

  • AWS Organizations の管理アカウント

    管理アカウントは、AWS アカウント でクロスアカウントバックアップを管理するために使用する AWS Organizations によって定義された組織内のプライマリアカウントです。クロスアカウントバックアップを使用するには、サービスの信頼も有効にする必要があります。サービスの信頼を有効にすると、組織内の任意のアカウントをコピー先アカウントとして使用できます。コピー先アカウントから、クロスアカウントのバックアップに使用するボールトを選択できます。

  • AWS Backup コンソールでクロスアカウントバックアップを有効にする

セキュリティについては、「クロスアカウントバックアップのセキュリティに関する考慮事項」を参照してください。

クロスアカウントバックアップを使用するには、クロスアカウントバックアップ機能を有効にする必要があります。次に、アクセスポリシー backup:CopyIntoBackupVault をコピー先バックアップボールトに「許可」する必要があります。

クロスアカウントバックアップの有効化
  1. AWS Organizations 管理アカウントの認証情報を使用してログインします。クロスアカウントバックアップは、これらの認証情報を使用してのみ有効または無効にできます。

  2. https://console.aws.amazon.com/backup で AWS Backup コンソールを開きます。

  3. [マイアカウント] で、[設定] を選択します。

  4. [クロスアカウントバックアップ] で、[有効] を選択します。

  5. [バックアップボールト] で、コピー先ボールトを選択します。

    クロスアカウントコピーの場合、コピー元ボールトとコピー先ボールトは異なるアカウントにあります。必要に応じて、コピー先アカウントを所有するアカウントに切り替えます。

  6. [アクセスポリシー] セクションで、backup:CopyIntoBackupVault を [許可] します。たとえば、[アクセス許可の追加] を選択し、その後、[組織からのバックアップボールトへのアクセスを許可する] を選択します。backup:CopyIntoBackupVault 以外のクロスアカウントアクションは拒否されます。

  7. これで、組織内のどのアカウントでも、バックアップ保管庫の内容を組織内の他のアカウントと共有できるようになりました。詳細については、「バックアップボールトを別の AWS アカウントと共有する」を参照してください。他のアカウントのバックアップボールトの内容を受信できるアカウントを制限するには、アカウントをコピー先アカウントとして設定する を参照してください。

クロスアカウントバックアップのスケジュール

スケジュールバックアッププランを使用して、バックアップを AWS アカウント 間でコピーできます。

スケジュールバックアッププランを使用してバックアップをコピーするには
  1. https://console.aws.amazon.com/backup で AWS Backup コンソールを開きます。

  2. マイアカウントで、[バックアッププラン] を選択してから、「バックアッププランを作成する」を選択します。

  3. リポジトリの [バックアッププランの作成] ページで、[新しいプランを構築する] を選択します。

  4. [バックアッププラン名] で、バックアッププランの名前を入力します。

  5. [バックアップルールの設定] セクションで、バックアップスケジュール、バックアップウィンドウ、ライフサイクルルールを定義するバックアップルールを追加します。後でバックアップルールを追加できます。

    [ルール名] にルールの名前を入力します。

  6. [Frequency (頻度)] の [Schedule (スケジュール)] セクションで、バックアップを実行する頻度を選択します。

  7. バックアップウィンドウで、「バックアップウィンドウのデフォルトを使用する (推奨)」を選択します。バックアップウィンドウをカスタマイズできます。

  8. [バックアップボールト] で、リストから [ボールト] を選択します。このバックアップのリカバリポイントは、このボールトに保存されます。新しいバックアップボールトを作成します。

  9. コピーの生成-オプションセクションで、次の値を入力します。

    送信先リージョン

    送信先のバックアップボールトの AWS リージョン を選択します。バックアップはこのリージョンにコピーされます。コピーごとに新しいコピールールを新しい送信先に追加できます。

    別のアカウントのボールトにコピー

    このオプションを切り替えて選択します。このオプションを選択すると、青に変わります。外部ボールト ARN オプションが表示されます。

    外部ボールト ARN

    コピー先リソースの Amazon リソースネーム (ARN) に入力します。ARN は、アカウント ID とアカウント ID および AWS リージョン を含む文字列です。AWS Backup  は、コピー先アカウントのボールトにバックアップをコピーします。コピー先リージョンリストは、外部ボールト ARN 内のリージョンに自動的に更新されます。

    バックアップボールトのアクセスを許可するために、[許可] を選択します。次に開いたウィザードで [許可] を選択します。

    AWS Backup は、バックアップを指定された値にコピーするために外部アカウントにアクセスする権限が必要です。ウィザードには、このアクセスを提供する次のポリシー例が表示されます。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow account to copy into backup vault", "Effect": "Allow", "Action": "backup:CopyIntoBackupVault", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::account-id:root" } } ] }
    コールドストレージへの移行

    バックアップコピーをコールドストレージに移行するタイミングと、コピーの有効期限 (削除) を選択します。コールドストレージに移行されたバックアップは、そこに最低 90 日保存される必要があります。この値は、コピーがコールドストレージに移行された後は変更できません。

    コールドストレージに移行できるリソースの一覧については、リソース別の機能の可用性 表の「コールドストレージへのライフサイクル」セクションを参照してください。他のリソースでは、コールドストレージ式は無視されます。

    [有効期限切れ] で、コピーが作成されてから削除されるまでの日数を指定します。これは、[コールドストレージへの移行] の値より 90 日以上大きい数値にする必要があります。

    注記

    バックアップの有効期限が切れ、ライフサイクルポリシーの一部として削除のマークが付けられると、AWS Backup は、次の 8 時間にわたってランダムに選択された時点でバックアップを削除します。このウィンドウは、一貫したパフォーマンスを確保するのに役立ちます。

  10. リカバリポイントに追加されたタグをクリックして、リカバリポイントにタグを追加します。

  11. 詳細バックアップ設定で、Windows VSS を選択して、EC2 で実行されている選択したサードパーティソフトウェアのアプリケーション対応スナップショットを有効にします。

  12. [プランを作成] を選択します。

オンデマンドのクロスアカウントバックアップの実行

オンデマンドでバックアップを別の AWS アカウント にコピーできます。

バックアップをオンデマンドでコピーするには
  1. https://console.aws.amazon.com/backup で AWS Backup コンソールを開きます。

  2. マイアカウントで、[バックアップボールト] をクリックして、すべてのバックアップボールトを一覧表示します。バックアップボールトの名前またはタグでフィルタリングできます。

  3. コピーするバックアップの [復旧ポイント ID] を選択します。

  4. [コピー] を選択します。

  5. [バックアップの詳細] を開いて、コピーするリカバリポイントに関する情報を表示します。

  6. [設定のコピー] セクションで、[コピー先リージョン] リストからオプションを選択します。

  7. [別のアカウントのボールトにコピー] をオンにします。このオプションを選択すると、青に変わります。

  8. コピー先リソースの Amazon リソースネーム (ARN) に入力します。ARN は、アカウント ID とアカウント ID および AWS リージョン を含む文字列です。AWS Backup  は、コピー先アカウントのボールトにバックアップをコピーします。コピー先リージョンリストは、外部ボールト ARN 内のリージョンに自動的に更新されます。

  9. バックアップボールトのアクセスを許可するために、[許可] を選択します。次に開いたウィザードで [許可] を選択します。

    コピーを作成するには、AWS Backup では、ソースアカウントにアクセスするためのアクセス許可が必要です。ウィザードには、このアクセスを提供するポリシーの例が表示されます。このポリシーを以下に示します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow account to copy into backup vault", "Effect": "Allow", "Action": "backup:CopyIntoBackupVault", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::account-id:root" } } ] }
  10. コールドストレージへの移行については、バックアップコピーをコールドストレージに移行するタイミングと、コピーの有効期限 (削除) を選択します。コールドストレージに移行されたバックアップは、そこに最低 90 日保存される必要があります。この値は、コピーがコールドストレージに移行された後は変更できません。

    コールドストレージに移行できるリソースの一覧については、リソース別の機能の可用性 表の「コールドストレージへのライフサイクル」セクションを参照してください。他のリソースでは、コールドストレージ式は無視されます。

    [有効期限切れ] で、コピーが作成されてから削除されるまでの日数を指定します。これは、[コールドストレージへの移行] の値より 90 日以上大きい数値にする必要があります。

  11. IAM ロールで、バックアップをコピーできるようにする権限を持つ IAM ロール (デフォルトロールなど) を指定します。コピーの行為は、コピー先アカウントのサービスにリンクされたロールによって実行されます。

  12. [コピー] を選択します。コピーするリソースのサイズによっては、この処理が完了するまでに数時間かかる場合があります。コピージョブが完了すると、[ジョブ] メニュー内の [コピージョブ] タブ内にコピーされます。

暗号化キーとクロスアカウントコピー

クロスアカウントコピーの暗号化キーは、リソースタイプによって異なります。フル AWS Backup 管理 を持つリソースは、ソースバックアップボールトの暗号化キーを使用します。カスタマー管理 KMS キーは、これらのリソースタイプのクロスアカウントコピーの暗号化に使用できます。

AWS Backup によって完全に管理されていないリソースタイプには、同じソース KMS キーとリソース KMS キーがあります。AWS マネージド KMS キーを使用したクロスアカウントコピーは、AWS Backup によって完全に管理されていないこれらのタイプのリソースではサポートされていません。

クロスアカウントコピー失敗のトラブルシューティングに関するその他のヘルプについては、AWSナレッジセンターを参照してください。

クロスアカウントコピー中、ソースアカウントの KMS キーポリシーは、KMS キーポリシーでコピー先アカウントを許可する必要があります。

バックアップを 1 つの AWS アカウント から別に復元する

AWS Backup は、1 つの AWS アカウント から別のリソースのリカバリをサポートしていません。ただし、あるアカウントから別のアカウントにバックアップをコピーし、そのアカウントで復元することはできます。たとえば、アカウント A からアカウント B にバックアップを復元することはできませんが、アカウント A からアカウント B にバックアップをコピーし、アカウント B で復元できます。

あるアカウントから別のアカウントへのバックアップの復元は、2 つのステップです。

アカウントから別のアカウントにバックアップを復元するには
  1. ソース AWS アカウント から復元先のアカウントにバックアップをコピーします。手順については、「クロスアカウントバックアップのセットアップ」を参照してください。

  2. リソースに適切な指示に従って、バックアップを復元します。

バックアップボールトを別の AWS アカウントと共有する

AWS Backup は、バックアップボールトを 1 つまたは複数のアカウント、または AWS Organizations の組織全体で共有できます。コピー先のバックアップボールトをソース AWS アカウント、ユーザー、または IAM ロールと共有できます。

コピー先のBackup ボールトを共有するには
  1. [AWS Backup] を選択してから、[バックアップボールト] を選択します。

  2. 共有するバックアップボールトの名前を選択します。

  3. [アクセスポリシー] ペインで、[アクセス許可の追加] のドロップダウンを選択します。

  4. アカウントレベルのBackup ボールトへのアクセスを許可するを選択します。または、組織レベルまたはロールレベルのアクセスを許可するかを選択できます。

  5. このコピー先バックアップボールトと共有するアカウントのうち、AccountID を入力します。

  6. [ポリシーを保存]を選択します。

IAM ポリシーを使用して、バックアップボールトを共有できます。

コピー先のバックアップボールトを AWS アカウント または IAM ロールで共有します。

次のポリシーは、バックアップボールトとアカウント番号の 4444555566666 および SomeRoleアカウント番号 111122223333 の IAM ロールを共有します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS":[ "arn:aws:iam::444455556666:root", "arn:aws:iam::111122223333:role/SomeRole" ] }, "Action":"backup:CopyIntoBackupVault", "Resource":"*" } ] }
AWS Organizations でコピー先バックアップボールトを組織部門で共有する

次のポリシーでは、PrincipalOrgPaths を使用してバックアップボールトを組織部門と共有します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":"*", "Action":"backup:CopyIntoBackupVault", "Resource":"*", "Condition":{ "ForAnyValue:StringLike":{ "aws:PrincipalOrgPaths":[ "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-def0-awsbbbbb/", "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-def0-awsbbbbb/ou-jkl0-awsddddd/*" ] } } } ] }
コピー先バックアップボールトを AWS Organizations 内の組織と共有する

次のポリシーは、バックアップボールトを組織とPrincipalOrgID "o-a1b2c3d4e5"で共有します。

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

アカウントをコピー先アカウントとして設定する

AWS Organizations の管理アカウントを使用してクロスアカウントバックアップを初めて有効にしたときの場合、メンバーアカウントのすべてのユーザーは、自分のアカウントをコピー先アカウントに設定できます。AWS Organizations で次のサービスコントロールポリシー (SCP) を 1 つ以上設定し、コピー先アカウントを制限することをお勧めします。サービスコントロールポリシーを AWS Organizations ノードにアタッチする方法について詳しくは、「サービスコントロールポリシーのアタッチとデタッチ」を参照してください。

タグを使用してコピー先アカウントを制限する

AWS Organizations ルート、OU、または個々のアカウントにアタッチされている場合、このポリシーは、そのルート、OU、またはアカウントからのコピー先を、DestinationBackupVault をタグ付けしたバックアップボルートのあるアカウントのみに制限します。アクセス許可 "backup:CopyIntoBackupVault" は、バックアップボールトの動作を制御し、この場合はどのコピー先バックアップボールトが有効かを制御します。このポリシーと、承認されたコピー先ボールトに適用される対応するタグを使用して、クロスアカウントコピーのコピー先を承認済みアカウントとバックアップボールトのみに制限します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":"backup:CopyIntoBackupVault", "Resource":"*", "Condition":{ "Null":{ "aws:ResourceTag/DestinationBackupVault":"true" } } } ] }
アカウント番号とボールト名を使用してコピー先アカウントを制限する

AWS Organizations ルート、OU、または個人アカウントにアタッチした場合、このポリシーは、そのルート、OU、またはアカウントからのコピーを 2 つのコピー先アカウントのみに制限します。アクセス許可 "backup:CopyFromBackupVault" は、バックアップボールト内の復旧ポイントの動作を制御します。この場合は、その復旧ポイントをコピーできるコピー先も制御されます。コピー元のボールトは、1 つまたは複数のコピー先のバックアップボールト名が cab- で始まる場合のみ、最初のコピー先アカウント (112233445566) へのコピーを許可します。コピー元のボールトは、コピー先が fort-knox という名前の単一バックアップボールトである場合、2 つ目のコピー先アカウント (123456789012) へのコピーのみ許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":"backup:CopyFromBackupVault", "Resource":"arn:aws:ec2:*:snapshot/*", "Condition":{ "ForAllValues:ArnNotLike":{ "backup:CopyTargets":[ "arn:aws:backup:*:112233445566:backup-vault:cab-*", "arn:aws:backup:us-west-1:123456789012:backup-vault:fort-knox" ] } } } ] }
AWS Organizations で組織単位を使用してコピー先アカウントを制限する

ソースアカウントを含む AWS Organizations ルートまたは OU にアタッチされている場合、またはソースアカウントにアタッチされている場合、次のポリシーは、コピー先アカウントを、指定した 2 つの OU 内のアカウントのみに制限します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":"backup:CopyFromBackupVault", "Resource":"*", "Condition":{ "ForAllValues:StringNotLike":{ "backup:CopyTargetOrgPaths":[ "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-def0-awsbbbbb/", "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-def0-awsbbbbb/ou-jkl0-awsddddd/*" ] } } } ] }

クロスアカウントバックアップのセキュリティに関する考慮事項

AWS Backup でクロスアカウントバックアップを実行する場合は、次の点に注意してください。

  • デスティネーションボールトを既定のボールトにすることはできません。これは、デフォルトのボールトが他のアカウントと共有できないキーで暗号化されているためです。

  • クロスアカウントバックアップを無効にした後も、クロスアカウントバックアップが最大 15 分間実行されることがあります。これは結果整合性が原因で、クロスアカウントバックアップを無効にした後でも、クロスアカウントジョブが開始または完了することがあります。

  • コピー先アカウントが後で組織を離れる場合、そのアカウントはバックアップを保持します。潜在的なデータ漏洩を回避するには、コピー先アカウントにアタッチされたサービスコントロールポリシー (SCP) 内の organizations:LeaveOrganization アクセス許可を拒否します。SCP の詳細については、Organizations ユーザーガイドの「組織からのメンバーアカウントの削除」を参照してください。

  • クロスアカウントコピー中にコピージョブのロールを削除すると、AWS Backup はコピージョブの完了時に、ソースアカウントからスナップショットの共有を解除できません。この場合、バックアップジョブは終了しますが、コピージョブのステータスは「スナップショットの共有解除に失敗しました。」と表示されます。