すべてのプロダクト
Search
ドキュメントセンター

Cloud Backup:アカウント間のバックアップ

最終更新日:Feb 18, 2025

Cloud Backup を使用すると、Alibaba Cloud アカウント間でリソースをバックアップおよび復元できます。これにより、ディザスタリカバリとコンプライアンス監査のために、一元化された統合ポリシーを使用できます。このトピックでは、Alibaba Cloud アカウント (アカウント A) を使用して別の Alibaba Cloud アカウント (アカウント B) のリソースをバックアップおよび復元する方法について説明します。これを行うには、アカウント B 内に Resource Access Management (RAM) ロールを作成し、アカウント A のサービスロール AliyunServiceRoleForHbrCrossAccountBackup にアカウント B のリソースにアクセスするための RAM ロールを引き受ける権限を付与する必要があります。

背景情報

典型的な Landing Zone アーキテクチャでは、企業は部門ごとに複数の Alibaba Cloud アカウントを持ち、開発環境またはテスト環境を分離する必要があります。ただし、企業はディザスタリカバリとコンプライアンス監査のために一元化された統合ポリシーを必要としています。

たとえば、企業は 2 つの Alibaba Cloud アカウントを持っています。アカウント A は本番環境用、アカウント B はテスト環境用です。企業はアカウント A とアカウント B のリソースを一元的にバックアップし、開発とテストのためにアカウント A のデータをアカウント B に復元し、バージョン更新のためにアカウント B のデータをアカウント A に復元する必要があります。この場合、企業はアカウント A またはアカウント B をバックアップアカウントとして選択するか、バックアップアカウント (アカウント C) を作成できます。必要な権限がバックアップアカウントに付与されると、バックアップアカウントはアカウント A とアカウント B のデータをバックアップおよび復元できます。

制限事項

重要
  • アカウント間のバックアップ機能は、Elastic Compute Service (ECS) インスタンスのバックアップ、ECS ファイルのバックアップ、NAS ファイルシステム (NAS) のバックアップ、Object Storage Service (OSS) のバックアップ、Tablestore のバックアップ、ECS データベースのバックアップ、および SAP HANA のバックアップのシナリオで使用できます。Alibaba Cloud アカウント間で ECS インスタンスをバックアップできます。ただし、ECS インスタンスをバックアップした後、インスタンスを復元できるのはソース Alibaba Cloud アカウントのみです。サポートされているシナリオの詳細については、Cloud Backup コンソールを参照してください。

  • アカウント間のバックアップは、バックアップパフォーマンス、データ重複除去、またはネットワーク転送効率に影響しません。

  • アカウント間のバックアップをサポートするリージョンの詳細については、「各リージョンで使用可能な機能」をご参照ください。

認証の仕組み

次の手順は、アカウント A にアカウント B のリソースをバックアップする権限を付与する方法を示しています。

  1. アカウント A は、AliyunServiceRoleForHbrCrossAccountBackup サービスロールを作成します。Cloud Backup は、このロールを使用してアカウント B の RAM ロールを引き受けてデータをバックアップします。

  2. アカウント B は、hbrcrossrole という名前の RAM ロールを作成し、次の手順を実行します。

    1. RAM ロールに詳細な権限を付与する: システムポリシー AliyunHBRRolePolicy を RAM ロール hbrcrossrole にアタッチします。このポリシーは、アカウント B のリソースにアクセスするための権限を付与します。次のスクリプトは、ポリシーの内容を示しています。

      {
        "Version": "1",
        "Statement": [
          {
            "Action": [
              "nas:DescribeFileSystems",
              "nas:CreateMountTargetSpecial",
              "nas:DeleteMountTargetSpecial",
              "nas:DescribeMountTargets",
              "nas:DescribeAccessGroups"
            ],
            "Resource": "*",
            "Effect": "Allow"
          },
          {
            "Action": [
              "ecs:RunCommand",
              "ecs:CreateCommand",
              "ecs:InvokeCommand",
              "ecs:DeleteCommand",
              "ecs:DescribeCommands",
              "ecs:StopInvocation",
              "ecs:DescribeInvocationResults",
              "ecs:DescribeCloudAssistantStatus",
              "ecs:DescribeInstances",
              "ecs:DescribeInstanceRamRole",
              "ecs:DescribeInvocations",
              "ecs:CreateSnapshotGroup",
              "ecs:DescribeSnapshotGroups",
              "ecs:DeleteSnapshotGroup",
              "ecs:CopySnapshot"
            ],
            "Resource": "*",
            "Effect": "Allow"
          },
          {
            "Action": "bssapi:QueryAvailableInstances",
            "Resource": "*",
            "Effect": "Allow"
          },
          {
            "Action": [
              "ecs:AttachInstanceRamRole",
              "ecs:DetachInstanceRamRole"
            ],
            "Resource": [
              "acs:ecs:*:*:instance/*",
              "acs:ram:*:*:role/aliyunecsaccessinghbrrole"
            ],
            "Effect": "Allow"
          },
          {
            "Action": [
              "ram:PassRole",
              "ram:GetRole",
              "ram:GetPolicy",
              "ram:ListPoliciesForRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
          },
          {
            "Action": [
              "hcs-sgw:DescribeGateways"
            ],
            "Resource": "*",
            "Effect": "Allow"
          },
          {
            "Action": [
              "oss:ListBuckets",
              "oss:GetBucketInventory",
              "oss:ListObjects",
              "oss:HeadBucket",
              "oss:GetBucket",
              "oss:GetBucketAcl",
              "oss:GetBucketLocation",
              "oss:GetBucketInfo",
              "oss:PutObject",
              "oss:CopyObject",
              "oss:GetObject",
              "oss:AppendObject",
              "oss:GetObjectMeta",
              "oss:PutObjectACL",
              "oss:GetObjectACL",
              "oss:PutObjectTagging",
              "oss:GetObjectTagging",
              "oss:InitiateMultipartUpload",
              "oss:UploadPart",
              "oss:UploadPartCopy",
              "oss:CompleteMultipartUpload",
              "oss:AbortMultipartUpload",
              "oss:ListMultipartUploads",
              "oss:ListParts"
            ],
            "Resource": "*",
            "Effect": "Allow"
          },
          {
            "Effect": "Allow",
            "Action": [
              "ots:ListInstance",
              "ots:GetInstance",
              "ots:ListTable",
              "ots:CreateTable",
              "ots:UpdateTable",
              "ots:DescribeTable",
              "ots:BatchWriteRow",
              "ots:CreateTunnel",
              "ots:DeleteTunnel",
              "ots:ListTunnel",
              "ots:DescribeTunnel",
              "ots:ConsumeTunnel",
              "ots:GetRange",
              "ots:ListStream",
              "ots:DescribeStream",
              "ots:CreateIndex",
              "ots:CreateSearchIndex",
              "ots:DescribeSearchIndex",
              "ots:ListSearchIndex"
            ],
            "Resource": "*"
          },
          {
            "Effect": "Allow",
            "Action": [
              "cms:QueryMetricList"
            ],
            "Resource": "*"
          },
          {
            "Action": [
              "ecs:DescribeSecurityGroups",
              "ecs:DescribeImages",
              "ecs:CreateImage",
              "ecs:DeleteImage",
              "ecs:DescribeSnapshots",
              "ecs:CreateSnapshot",
              "ecs:DeleteSnapshot",
              "ecs:DescribeSnapshotLinks",
              "ecs:DescribeAvailableResource",
              "ecs:ModifyInstanceAttribute",
              "ecs:CreateInstance",
              "ecs:DeleteInstance",
              "ecs:AllocatePublicIpAddress",
              "ecs:CreateDisk",
              "ecs:DescribeDisks",
              "ecs:AttachDisk",
              "ecs:DetachDisk",
              "ecs:DeleteDisk",
              "ecs:ResetDisk",
              "ecs:StartInstance",
              "ecs:StopInstance",
              "ecs:ReplaceSystemDisk",
              "ecs:ModifyResourceMeta"
            ],
            "Resource": "*",
            "Effect": "Allow"
          },
          {
            "Action": [
              "vpc:DescribeVpcs",
              "vpc:DescribeVSwitches"
            ],
            "Resource": "*",
            "Effect": "Allow"
          },
          {
            "Action": [
              "kms:ListKeys",
              "kms:ListAliases"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
    2. 信頼ポリシーを変更する: アカウント A のサービスロール AliyunServiceRoleForHbrCrossAccountBackup のみがアカウント B の RAM ロールを引き受けてアカウント B のリソースにアクセスできるようにします。

  3. アカウント A で Cloud Backup コンソールにログインし、アカウント B をバックアップアカウントとして追加します。ロール名hbrcrossrole パラメーターを に設定します。これは、アカウント B のリソースにアクセスする権限があります。

  4. Cloud Backup コンソールで、ログインアカウントをアカウント A からアカウント B に切り替えます。その後、アカウント A を使用してアカウント B のリソースをバックアップおよび復元できます。

次の表は、アカウント A を使用してアカウント B のリソースをバックアップおよび復元する場合に、アカウント A とアカウント B が実行できる操作について説明しています。

アカウント B のリソース

アカウント A (バックアップ管理アカウント) が実行できる操作

アカウント B (バックアップ対象リソースの所有者) が実行できる操作

ECS インスタンス

  • アカウント B のバックアップ対象の ECS インスタンスを表示する

  • ECS インスタンスに作成されたバックアップポリシーを管理する

  • アカウント A の ECS インスタンスのバックアップポリシーを構成し、バックアップジョブを実行する

  • ECS バックアップポイントを管理し、復元ジョブを実行する

  • バックアップ対象の ECS インスタンスを表示する

  • ECS コンソールで ECS インスタンスのバックアップによって作成されたスナップショットを表示または使用する

その他のリソース

  • アカウント B のバックアップ対象のリソースを表示する

  • バックアッププランとバックアップポリシーを管理する

  • アカウント B のリソースのバックアップジョブまたは復元ジョブを実行する

  • バックアップ対象のリソースを表示する

課金

Cloud Backup のアカウント間のバックアップ機能の使用については課金されません。ただし、データのバックアップと復元のために使用されるアカウント A は、バックアップと復元の料金を支払います。ECS インスタンスのバックアップでは、アカウント B はスナップショットサービス料金と OSS リクエスト料金を支払います。詳細については、「課金方法と課金項目」をご参照ください。

次の表は、アカウント A を使用してアカウント B のリソースをバックアップおよび復元する場合に課金されるアカウント A とアカウント B の課金項目について説明しています。

アカウント B のリソース

アカウント A (バックアップ管理アカウント) の課金項目

アカウント B (バックアップ対象リソースの所有者) の課金項目

ECS インスタンス

  • ECS インスタンスバックアップ用の Cloud Backup クライアント

  • ECS スナップショットのストレージ使用量

  • [クロスリージョンレプリケーション] が有効になっている場合に生成されるクロスリージョンレプリケーショントラフィック、およびターゲットリージョンにレプリケートされた ECS スナップショットのストレージ使用量

ECS ファイル

  • ファイルバックアップ用の Cloud Backup クライアント

  • バックアップボールトのストレージ使用量

  • ミラーボールトのストレージ使用量、およびクロスリージョンレプリケーションが有効になっている場合に生成されるクロスリージョンレプリケーショントラフィック

/

NAS

  • バックアップボールトのストレージ使用量

  • ミラーボールトのストレージ使用量、およびクロスリージョンレプリケーションが有効になっている場合に生成されるクロスリージョンレプリケーショントラフィック

  • NAS ファイルシステムの低頻度アクセス (IA) データにアクセスする際に Cloud Backup によって生成される読み取りおよび書き込みトラフィック

OSS

  • バックアップボールトのストレージ使用量

  • ミラーボールトのストレージ使用量、およびクロスリージョンレプリケーションが有効になっている場合に生成されるクロスリージョンレプリケーショントラフィック

  • OSS に送信される HTTP リクエスト

Tablestore

  • バックアップボールトのストレージ使用量

  • ミラーボールトのストレージ使用量、およびクロスリージョンレプリケーションが有効になっている場合に生成されるクロスリージョンレプリケーショントラフィック

/

ECS ホスト型データベース

  • データベースバックアップボールトのレンタル

  • データベースバックアップボールトのストレージ使用量

/

SAP HANA

  • SAP HANA インスタンスバックアップ用の Cloud Backup クライアント

  • バックアップボールトのストレージ使用量

  • ミラーボールトのストレージ使用量、およびクロスリージョンレプリケーションが有効になっている場合に生成されるクロスリージョンレプリケーショントラフィック

/

手順 1: AliyunServiceRoleForHbrCrossAccountBackup サービスロールをアカウント A に割り当てる

アカウント A をアカウント間のバックアップと復元のために使用するには、AliyunServiceRoleForHbrCrossAccountBackup サービスロールをアカウント A に割り当てる必要があります。

  • ロール名: AliyunServiceRoleForHbrCrossAccountBackup

  • ポリシー: AliyunServiceRolePolicyForHbrCrossAccountBackup

  • 権限の説明: このポリシーにより、Cloud Backup は他の承認されたアカウントのリソースにアクセスして、アカウント間のバックアップと復元を実行できます。

重要

この操作は、アカウント間のバックアップ機能を初めて使用する場合にのみ必要です。

  1. アカウント A で Cloud Backup コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、バックアップ > アカウント間バックアップ を選択します。

    表示されるダイアログボックスで、プロンプトに従ってロールを割り当てます。

  3. [cloud Backup のサービスアクセス認証] ダイアログボックスで、[認証の確認] をクリックします。

    詳細については、「Cloud Backup のサービスロール」をご参照ください。

手順 2: アカウント B の RAM ロールを作成する

  1. アカウント B で RAM コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。

  3. [ロール] ページで、[ロールの作成] をクリックします。

  4. [ロールタイプの選択] ステップで、信頼できるエンティティとして [alibaba Cloud アカウント] を選択し、[次へ] をクリックします。

  5. [ロールの構成] ステップで、パラメーターを構成し、[OK] をクリックします。次の表は、パラメーターについて説明しています。

    パラメーター

    説明

    [RAM ロール名]

    RAM ロールの名前を入力します (例: hbrcrossrole)。

    [メモ]

    RAM ロールの説明を入力します。

    [信頼できる Alibaba Cloud アカウントの選択]

    [他の Alibaba Cloud アカウント] を選択します。次に、テキストボックスにアカウント A の ID を入力します。

    説明

    Alibaba Cloud アカウントの ID は、セキュリティ設定 ページで確認できます。

  6. [完了] ステップで、[閉じる] をクリックします。

手順 3: RAM ロールに権限を付与する

RAM ロールを作成した後、RAM ロールには権限がありません。アカウント A が RAM ロールを引き受けてアカウント B のリソースにアクセスする前に、必要なシステムポリシーまたはカスタムポリシーを RAM ロールにアタッチする必要があります。[詳細な権限] パネルでは、RAM はデフォルトで 2 つのシステムポリシーを提供します。システムポリシーのいずれかを RAM ロールにアタッチできます。

  • AdministratorAccess: すべてのクラウドリソースを管理するための権限を付与します。

  • AliyunHBRRolePolicy: (推奨) Cloud Backup のシステムポリシーで定義されている権限を付与します。

この例では、AliyunHBRRolePolicy を使用します。

  1. アカウント B で RAM コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。

  3. 作成された RAM ロール (例: hbrcrossrole) を見つけ、ロール名をクリックして RAM ロールの詳細ページに移動します。

  4. [権限] タブで、[詳細な権限] をクリックします。

  5. [詳細な権限] パネルで、種類を [システムポリシー] に設定し、ポリシー名フィールドに AliyunHBRRolePolicy と入力し、[OK] をクリックします。

  6. システムは、正確な認証が成功したことを知らせます。[閉じる] をクリックします。

  7. RAM ロールの信頼ポリシーを変更します。

    1. RAM ロールの詳細ページで、[信頼ポリシー] タブをクリックします。

    2. [信頼ポリシーの編集] をクリックします。

    3. スクリプトエディターで、次のコードをテキストボックスにコピーします。アカウント ID をアカウント A の ID に置き換えます。

      次のポリシーにより、アカウント A は Cloud Backup コンソールでアカウント B のクラウドリソースを管理するための一時トークンを取得できます。

      説明

      Alibaba Cloud アカウントの ID は、セキュリティ設定 ページで確認できます。

      {
       "Statement": [
           {
               "Action": "sts:AssumeRole",
               "Effect": "Allow",
               "Principal": {
                   "RAM": [
                       "acs:ram::Account ID:role/AliyunServiceRoleForHbrCrossAccountBackup"
                   ]
               }
           }
       ],
       "Version": "1"
      }
    4. [信頼ポリシードキュメントの保存] をクリックします。構成は完了です。

手順 4: バックアップアカウントを追加する

  1. アカウント A で Cloud Backup コンソール にログインします。

  2. 上部のナビゲーションバーで、リージョンを選択します。

    重要

    リージョン C にあるアカウント B が所有する ECS ファイル、NAS ファイル、OSS オブジェクト、Tablestore テーブル、または ECS インスタンスをバックアップする場合は、リージョン C を選択します。つまり、バックアップ対象のリソースが配置されているリージョンにバックアップアカウントを追加します。

  3. 左側のナビゲーションウィンドウで、バックアップ > アカウント間バックアップ を選択します。

  4. アカウント間バックアップ ページで、バックアップアカウントの追加 をクリックします。

  5. バックアップアカウントの追加 ダイアログボックスで、次のパラメーターを構成し、[OK] をクリックします。

    image.png

    パラメーター

    説明

    Alibaba Cloud アカウント ID

    Alibaba Cloud アカウントの ID を入力します。この例では、アカウント B の ID を入力します。

    説明

    Alibaba Cloud アカウントの ID は、セキュリティ設定 ページで確認できます。

    ロール名

    作成した RAM ロールの名前を入力します。この例では、「手順 2: アカウント B の RAM ロールを作成する」で作成した hbrcrossrole を入力します。

    重要

    権限の確認 をクリックして、認証構成が正しいかどうかを確認できます。エラーが表示された場合は、認証構成を変更して再試行してください。チェックに合格すると、次のメッセージが表示されます。このロールのリソースにアクセスする権限が付与されています。

    アカウントのエイリアス

    バックアップアカウントの管理に役立つアカウントエイリアスを入力します。

    バックアップアカウントが作成されると、[アカウント間のバックアップ] ページに表示されます。

    zhanghao

手順 5:クロスアカウントバックアップを実行する

バックアップアカウントを作成した後、アカウント A で Cloud Backup コンソールにログインし、ログインアカウントをアカウント B に切り替え、アカウント B のデータソースをバックアップできます。

  1. アカウント A で Cloud Backup コンソール にログインします。

  2. 上部のナビゲーションバーで、バックアップするリソースが存在するリージョンを選択します。

  3. ログインアカウント をクリックし、アカウント B を選択します。image.png

  4. 左側のナビゲーションウィンドウで、アカウント間のバックアップを実行するバックアップ機能を選択します。

    重要

    アカウント間のバックアップ機能は、ECS ファイルのバックアップ、NAS のバックアップ、OSS のバックアップ、Tablestore のバックアップ、データベースのバックアップ、および SAP HANA のバックアップのシナリオで使用できます。Alibaba Cloud アカウント間で ECS インスタンスをバックアップできます。ただし、ECS インスタンスをバックアップした後、インスタンスを復元できるのはソース Alibaba Cloud アカウントのみです。サポートされているシナリオの詳細については、Cloud Backup コンソールを参照してください。

    たとえば、[ECS ファイルのバックアップ] を選択すると、ECS インスタンスリストでアカウント B の ECS アセットを表示できます。データバックアップが完了すると、アカウント B のデータソースはアカウント A のバックアップボールトにバックアップされます。

手順 6: アカウント間でデータを復元する

アカウント A を使用してアカウント B のデータソースをバックアップした後、バックアップボールトにはアカウント A とアカウント B のバックアップデータが保存されます。バックアップボールトは共通のバックアップボールトです。バックアップボールト内の任意の履歴バックアップポイントからアカウント A またはアカウント B にデータを復元できます。

  1. アカウントを切り替えます。

    バックアップボールトは共通のバックアップボールトです。アカウント A とアカウント B の両方で、バックアップボールト内の履歴バックアップポイントを使用してデータを復元できます。データを復元するアカウントに切り替えます。

  2. 復元ジョブを作成します。さまざまなデータソースの復元ジョブを作成するには、次のトピックを参照してください。

    image.png

クロスアカウントバックアップを無効にする

重要
  • アカウント A とアカウント B のアカウント間のバックアップ機能を無効にすると、アカウント A はアカウント B からデータソースをバックアップできなくなります。ビジネス要件を評価し、慎重に進んでください。

  • 他のアカウントのアカウント間のバックアップ機能は無効にしないことをお勧めします。バックアップと復元の操作を実行しない場合、追加料金は発生しません。

  • アカウント間のバックアップ機能を無効にした後も、バックアップデータは Cloud Backup のバックアップボールトに保存されます。バックアップボールトのストレージ使用量については引き続き課金されます。課金を停止する方法の詳細については、「Cloud Backup の課金を停止するにはどうすればよいですか?」をご参照ください。バックアップが削除されると、データは復元できなくなります。

  1. アカウント B に切り替えます。データソースを見つけ、Cloud Backup クライアント (存在する場合) をアンインストールし、関連付けられているインスタンスの登録を解除し、バックアップボールトを削除します。詳細については、「Cloud Backup の課金を停止するにはどうすればよいですか?」をご参照ください。

  2. アカウント A に切り替えます。Cloud Backup コンソールの [アカウント間のバックアップ] ページで、アカウント B を削除します。image.png

  3. アカウント B に作成された RAM ロールを削除します。

    1. アカウント B で RAM コンソール にログインします。

    2. 左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。

    3. アカウント B に作成された RAM ロール (例: hbrcrossrole) を見つけます。[操作] 列の [ロールの削除] をクリックします。

参考資料