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

Cloud Backup:Alibaba Cloudアカウント間でデータをバックアップする

最終更新日:Nov 19, 2024

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

背景情報

一般的なランディングゾーンアーキテクチャでは、企業には異なる部門用の複数のAlibaba Cloudアカウントがあり、開発環境またはテスト環境を分離する必要があります。 ただし、企業では、ディザスタリカバリとコンプライアンス監査に関する一元化されたポリシーが必要です。

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

image

制限事項

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

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

認証のしくみ

次の手順は、アカウント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. [クラウドバックアップ] コンソールで、ログインアカウントをアカウントAからアカウントBに切り替えます。その後、アカウントAを使用してアカウントBのリソースをバックアップおよび復元できます。

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

アカウントBのリソース

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

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

ECS インスタンス

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

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

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

  • ECSバックアップポイントの管理と復元ジョブの実行

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

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

他のタイプのリソース

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

  • バックアップ計画とバックアップポリシーの管理

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

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

課金

クラウドバックアップのクロスアカウントバックアップ機能の使用には課金されません。 ただし、データのバックアップと復元に使用されるアカウント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

  • 権限の説明: このポリシーでは、クラウドバックアップが他の許可されたアカウントのリソースにアクセスして、クロスアカウントバックアップと復元を行うことができます。

重要

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

  1. アカウントAでクラウドバックアップコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、バックアップ>アカウント間バックアップ.

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

  3. クラウドバックアップのサービスアクセス許可ダイアログボックスで、承認の確認.

    詳細については、「クラウドバックアップのサービスにリンクされたロール」をご参照ください。

ステップ2: アカウントBのRAMロールを作成する

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

  2. 左側のナビゲーションウィンドウで、アイデンティティ > ロール.

  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がアカウントBのリソースにアクセスするためにRAMロールを引き受ける前に、必要なシステムポリシーまたはカスタムポリシーをRAMロールにアタッチする必要があります。 [正確な権限] パネルで、RAMはデフォルトで2つのシステムポリシーを提供します。 いずれかのシステムポリシーをRAMロールにアタッチできます。

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

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

この例ではAliyunHBRRolePolicyが使用されています。

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

  2. 左側のナビゲーションウィンドウで、アイデンティティ > ロール.

  3. 作成したRAMロールを見つけます。たとえば、hbrcrossroleロール名をクリックして、RAMロールの詳細ページに移動します。

  4. 権限タブをクリックします。正確な許可.

  5. 正確な許可パネル、セットタイプにシステムポリシー、入力AliyunHBRRolePolicy[ポリシー名] フィールドで、OK.

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

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

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

    2. 信頼ポリシーの編集.

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

      次のポリシーでは、アカウントAは、クラウドバックアップコンソールでアカウントBのクラウドリソースを管理するための一時的なトークンを取得できます。

      説明

      Alibaba CloudアカウントのIDは、 [セキュリティ設定] ページで表示されます。

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

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

  1. アカウントAでクラウドバックアップコンソールにログインします。

  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でクラウドバックアップコンソールにログインし、ログインアカウントをアカウントBに切り替えて、アカウントBのデータソースをバックアップできます。

  1. アカウントAでクラウドバックアップコンソールにログインします。

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

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

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

    重要

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

    たとえば、[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のバックアップボールトに保存されます。 バックアップボールトのストレージ使用量に対しては引き続き課金されます。 課金を停止する方法の詳細については、をご参照ください。クラウドバックアップの請求を停止するにはどうすればよいですか? バックアップを削除した場合、データは復元できません。

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

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

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

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

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

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

関連ドキュメント