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

Container Service for Kubernetes:migrate-controller のインストールと権限の設定

最終更新日:Mar 27, 2026

バックアップセンターは、アプリケーションのバックアップ、復元、および移行を可能にし、マルチクラスターやハイブリッドクラウド環境におけるアプリケーションのディザスタリカバリおよび移行を実現します。バックアップセンターを利用するには、バックアップサービスコンポーネントである migrate-controller をインストールし、バックアップ機能を有効化するために必要な権限を設定する必要があります。

前提条件

背景情報

Kubernetes 上で実行されるアプリケーションが増加するにつれ、定期バックアップの重要性が高まっています。バックアップセンターは、予期せぬ事象によって引き起こされる長時間のサービス中断を防止するのに役立ちます。従来のサーバーまたはディスクのバックアップとは異なり、Kubernetes ネイティブアプリケーションのバックアップは、アプリケーション自体(データ、リソースオブジェクト、構成、および名前空間全体を含む)に焦点を当てています。

注意事項

  • ACK サーバーレス Pro クラスター および ACK Edge クラスター では、バックアップセンターのインストールおよび権限要件は、ACK マネージドクラスター と同一です。詳細については、「ACK マネージドクラスター」をご参照ください。

    ACK サーバーレス Basic クラスター では、バックアップセンターはサポートされていません。

  • ACK サーバーレス Pro クラスター または ACK Edge クラスター でバックアップセンターを使用する場合、ボリュームのバックアップはサポートされていません。

  • ACK Edge クラスター では、migrate-controller バックアップサービスコンポーネントがデフォルトでクラウド側ノードにインストールされ、内部ネットワーク経由で OSS にアクセスします。

ACK マネージドクラスター

ステップ 1:migrate-controller のインストール

説明

バックアップセンターを初めて使用する場合、バックアップサービスコンポーネントをインストールする必要があります。すでにコンポーネントがインストール済みの場合は、このステップをスキップできます。

  1. ACK コンソール にログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. クラスターリスト ページで、ご利用のクラスター名をクリックします。左側のナビゲーションウィンドウで、操作 > アプリケーションのバックアップ をクリックします。

  3. アプリケーションバックアップ ページで、インストール をクリックします。

    システムが自動的にバックアップボールトを検出します。バックアップボールトが見つからない場合は、新規作成する必要があります。「バックアップボールトの作成」をご参照ください。

    • バックアップサービスコンポーネントのインストール後、csdr という名前の名前空間が作成されます。この名前空間を削除しないでください。

    • コンポーネントの古いバージョンがインストールされている場合は、アップグレードアプリケーションバックアップ ページでクリックし、最新バージョンに更新します。

ステップ 2:権限の設定

  • OSS 権限

    ACK マネージドクラスター の場合、バックアップボールトとしてバックアップセンターに使用する OSS バケットの名前は、cnfs-oss-*** で始めることが推奨されます。この場合、OSS 権限の設定は不要です。他のバケットを使用する場合は、「ACK 専用クラスター」セクションに記載されている通り、必要な OSS 権限を設定する必要があります。詳細については、「ステップ 1:権限の設定」をご参照ください。

  • ディスクスナップショットおよびクラウド

    ACK マネージドクラスター の場合、ディスクスナップショットおよび Cloud Backup の権限設定は不要です。

(任意)ステップ 3:Cloud Backup による API Gateway の利用権限の付与

中国 (ウランチャブ)、中国 (河源)、または中国 (広州) リージョンでクラスターのバックアップまたは復元ジョブを実行する場合、Cloud Backup に API Gateway の利用権限を付与する必要があります。この権限付与は、Alibaba Cloud プライマリアカウントごとに 1 回のみ実行すれば十分です。

説明

v1.8.4 以降の migrate-controller バックアップコンポーネントでは、中国 (ウランチャブ)、中国 (河源)、または中国 (広州) リージョンのクラスターにおいて、Cloud Backup を使用したボリュームのバックアップがサポートされています。対応するボリュームタイプには、OSS、NAS、CPFS、ローカル記憶域、およびハイブリッドクラウドシナリオにおけるボリュームデータが含まれます。

  1. Cloud Backup コンソール にログインします。

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

  3. 上部のナビゲーションバー左上隅で、クラスターが配置されているリージョン(中国 (ウランチャブ)、中国 (河源)、または中国 (広州))を選択します。

  4. Cloud Backup 権限付与 ダイアログボックスで、Confirm をクリックします。

ACK 専用クラスター

ステップ 1:権限の設定

重要

v1.7.7 以降の migrate-controller コンポーネントでは、Alibaba Cloud ディスクストレージのバックアップに対するクロスリージョン復元がサポートされています。この機能を利用するには、以下のカスタムポリシーテンプレートを使用して、元の RAM ユーザーに ECS ディスクスナップショットのための必要な権限を追加する必要があります。

  1. RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。

  2. カスタムポリシーを作成します。詳細については、「JSON タブでのカスタムポリシーの作成」をご参照ください。

    以下のポリシーでは、oss:**** は Object Storage Service (OSS) の権限、ecs:**** は ECS ディスクスナップショットの権限、hbr:****Cloud Backup の権限を指定しています。

    カスタムポリシーの表示

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:GetBucket",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:GetBucketStat"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:CreateSnapshot",
            "ecs:DeleteSnapshot",
            "ecs:DescribeSnapshotGroups",
            "ecs:CreateAutoSnapshotPolicy",
            "ecs:ApplyAutoSnapshotPolicy",
            "ecs:CancelAutoSnapshotPolicy",
            "ecs:DeleteAutoSnapshotPolicy",
            "ecs:DescribeAutoSnapshotPolicyEX",
            "ecs:ModifyAutoSnapshotPolicyEx",
            "ecs:DescribeSnapshots",
            "ecs:DescribeInstances",
            "ecs:CopySnapshot",
            "ecs:CreateSnapshotGroup",
            "ecs:DeleteSnapshotGroup"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "hbr:CreateVault",
            "hbr:CreateBackupJob",
            "hbr:DescribeVaults",
            "hbr:DescribeBackupJobs2",
            "hbr:DescribeRestoreJobs",
            "hbr:SearchHistoricalSnapshots",
            "hbr:CreateRestoreJob",
            "hbr:AddContainerCluster",
            "hbr:DescribeContainerCluster",
            "hbr:DescribeRestoreJobs2",
            "hbr:CancelBackupJob",
            "hbr:CancelRestoreJob"
          ],
          "Resource": "*"
        }
      ]
    }

    上記のポリシーでは、すべての OSS バケットに対する権限が付与されます。特定の OSS バケットに対して読み取りおよび書き込み権限を指定する必要がある場合は、以下の例に示すようにポリシーを変更してください。ポリシー内の mybackups を、ご利用の OSS バケット名に置き換えてください。細かい粒度の OSS 権限設定について詳しくは、「RAM を使用した OSS へのアクセス制御」をご参照ください。

    カスタムポリシーの表示

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:GetBucket",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:GetBucketStat"
          ],
          "Resource": [
            "acs:oss:*:*:mybackups",
            "acs:oss:*:*:mybackups/*"
          ],
          "Effect": "Allow"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:CreateSnapshot",
            "ecs:DeleteSnapshot",
            "ecs:DescribeSnapshotGroups",
            "ecs:CreateAutoSnapshotPolicy",
            "ecs:ApplyAutoSnapshotPolicy",
            "ecs:CancelAutoSnapshotPolicy",
            "ecs:DeleteAutoSnapshotPolicy",
            "ecs:DescribeAutoSnapshotPolicyEX",
            "ecs:ModifyAutoSnapshotPolicyEx",
            "ecs:DescribeSnapshots",
            "ecs:DescribeInstances",
            "ecs:CopySnapshot",
            "ecs:CreateSnapshotGroup",
            "ecs:DeleteSnapshotGroup"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "hbr:CreateVault",
            "hbr:CreateBackupJob",
            "hbr:DescribeVaults",
            "hbr:DescribeBackupJobs2",
            "hbr:DescribeRestoreJobs",
            "hbr:SearchHistoricalSnapshots",
            "hbr:CreateRestoreJob",
            "hbr:AddContainerCluster",
            "hbr:DescribeContainerCluster",
            "hbr:DescribeRestoreJobs2",
            "hbr:CancelBackupJob",
            "hbr:CancelRestoreJob"
          ],
          "Resource": "*"
        }
      ]
    }
  3. 作成したカスタム権限を RAM ユーザーに付与します。詳細については、「RAM ユーザーの権限管理」をご参照ください。

  4. RAM ユーザーの AccessKey ペアを作成します。詳細については、「AccessKey ペアの取得」をご参照ください。

  5. ACK 専用クラスター 内に Secret を作成します。

    AccessKey ペアをクラスター内でのみ安全に使用できるようにするため、まず AccessKey 情報を用いて、クラスター内に alibaba-addon-secret という名前の Secret を作成する必要があります。これにより、認証情報の漏洩リスクを低減できます。

    1. 以下のコマンドを実行して、csdr 名前空間を作成します:

      kubectl create ns csdr
    2. 以下のコマンドを実行して、alibaba-addon-secret という名前の Secret を作成します:

      kubectl -n csdr create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'

      上記コマンド内の <your AccessKey ID> および <your AccessKey Secret> を、直前のステップで取得した AccessKey ペアに置き換えてください。

      説明

      migrate-controller コンポーネントのインストール後に Secret を作成した場合は、kube-system 名前空間内で migrate-controller コンポーネントを再起動してください。

ステップ 2:migrate-controller コンポーネントのインストール

migrate-controller バックアップサービスコンポーネントのインストール」をご参照ください。

(任意)ステップ 3:Cloud Backup による API Gateway の利用権限の付与

これは、中国 (ウランチャブ)、中国 (河源)、または中国 (広州) リージョンでクラスターのバックアップまたは復元を行う場合にのみ必要な権限付与です。権限付与方法については、「(任意)ステップ 3:Cloud Backup による API Gateway の利用権限の付与」をご参照ください。

クラスターの登録

重要

migrate-controller v1.7.7 以降では、Alibaba Cloud ディスクバックアップのクロスリージョン復元がサポートされています。onectl を v1.1.0 にアップデートし、onectl ram-user revoke --addon migrate-controller コマンドを実行して、元の RAM ユーザーの権限を更新してください。

onectl を使用したコンポーネントのインストールおよび権限の設定(推奨)

  1. ローカルマシンに onectl をインストールおよび設定します。詳細については、「onectl を使用した登録済みクラスターの管理」をご参照ください。

  2. 以下のコマンドを実行して、migrate-controller コンポーネントの RAM 権限を設定します。

    onectl ram-user grant --addon migrate-controller

    期待される出力:

    Ram policy ack-one-registered-cluster-policy-migrate-controller granted to ram user ack-one-user-ce313528c3 successfully.
  3. 以下のコマンドを実行して、バックアップサービスコンポーネントをインストールします。

    onectl addon install migrate-controller

    期待される出力:

    Addon migrate-controller, version **** installed.

    onectl は、すべての OSS バケットに対する OSS 権限を自動的に設定します。特定の OSS バケットに対する権限を設定する必要がある場合は、onectl が生成した権限を変更するか、「コンポーネントの手動インストールおよび権限の設定」を行ってください。

    OSS 権限の変更:作成したカスタムポリシーの内容を、以下の内容に置き換えます。ポリシーの変更方法については、「カスタムポリシーの内容および説明の変更」をご参照ください。

    説明

    以下のポリシー内の mybackups を、ご利用の OSS バケット名に置き換えてください。細かい粒度の OSS 権限付与については、「RAM を使用した OSS 権限の管理」をご参照ください。

    カスタムポリシーの表示

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:GetBucket",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:GetBucketStat"
          ],
          "Resource": [
            "acs:oss:*:*:mybackups",
            "acs:oss:*:*:mybackups/*"
          ],
          "Effect": "Allow"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:CreateSnapshot",
            "ecs:DeleteSnapshot",
            "ecs:DescribeSnapshotGroups",
            "ecs:CreateAutoSnapshotPolicy",
            "ecs:ApplyAutoSnapshotPolicy",
            "ecs:CancelAutoSnapshotPolicy",
            "ecs:DeleteAutoSnapshotPolicy",
            "ecs:DescribeAutoSnapshotPolicyEX",
            "ecs:ModifyAutoSnapshotPolicyEx",
            "ecs:DescribeSnapshots",
            "ecs:DescribeInstances",
            "ecs:CopySnapshot",
            "ecs:CreateSnapshotGroup",
            "ecs:DeleteSnapshotGroup"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "hbr:CreateVault",
            "hbr:CreateBackupJob",
            "hbr:DescribeVaults",
            "hbr:DescribeBackupJobs2",
            "hbr:DescribeRestoreJobs",
            "hbr:SearchHistoricalSnapshots",
            "hbr:CreateRestoreJob",
            "hbr:AddContainerCluster",
            "hbr:DescribeContainerCluster",
            "hbr:DescribeRestoreJobs2",
            "hbr:CancelBackupJob",
            "hbr:CancelRestoreJob"
          ],
          "Resource": "*"
        }
      ]
    }
  4. (任意)登録済みクラスターと同じリージョンにある OSS の内部 CIDR ブロックへのルートを設定します。

    CEN、Express Connect、または VPN を介してクラウド VPC に接続された登録済みクラスターの場合、登録済みクラスターと OSS が同じリージョンにあると、バックアップセンターは自動的に内部ネットワーク経由で OSS ドメイン名にアクセスし、バックアップのデータ取得速度を向上させます。この場合、当該リージョンの OSS の内部 CIDR ブロックへのルートを設定する必要があります。

  5. (任意)Cloud Backup サービスによる API Gateway の利用権限の付与

    これは、中国 (ウランチャブ)、中国 (河源)、または中国 (広州) リージョンでクラスターのバックアップまたは復元を行う場合にのみ必要な権限付与です。手順については、「(任意)ステップ 3:Cloud Backup サービスによる API Gateway の利用権限の付与」をご参照ください。

コンソールからのコンポーネントのインストールおよび権限の設定

ステップ 1:権限の設定

登録済みクラスター用の RAM ユーザーを作成し、クラウドリソースへのアクセス権限を付与したうえで、AccessKey を作成します。

  1. RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。

  2. 以下の例に示すカスタムポリシーを作成します。詳細については、「スクリプトエディタを使用したカスタムポリシーの作成」をご参照ください。

    以下のポリシーでは、oss: で始まる操作は OSS 権限、ecs: で始まる操作は ECS ディスクスナップショット関連の権限、hbr: で始まる操作は Cloud Backup 権限を表します。

    カスタムポリシーの表示

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:GetBucket",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:GetBucketStat"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:CreateSnapshot",
            "ecs:DeleteSnapshot",
            "ecs:DescribeSnapshotGroups",
            "ecs:CreateAutoSnapshotPolicy",
            "ecs:ApplyAutoSnapshotPolicy",
            "ecs:CancelAutoSnapshotPolicy",
            "ecs:DeleteAutoSnapshotPolicy",
            "ecs:DescribeAutoSnapshotPolicyEX",
            "ecs:ModifyAutoSnapshotPolicyEx",
            "ecs:DescribeSnapshots",
            "ecs:DescribeInstances",
            "ecs:CopySnapshot",
            "ecs:CreateSnapshotGroup",
            "ecs:DeleteSnapshotGroup"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "hbr:CreateVault",
            "hbr:CreateBackupJob",
            "hbr:DescribeVaults",
            "hbr:DescribeBackupJobs2",
            "hbr:DescribeRestoreJobs",
            "hbr:SearchHistoricalSnapshots",
            "hbr:CreateRestoreJob",
            "hbr:AddContainerCluster",
            "hbr:DescribeContainerCluster",
            "hbr:DescribeRestoreJobs2",
            "hbr:CancelBackupJob",
            "hbr:CancelRestoreJob"
          ],
          "Resource": "*"
        }
      ]
    }

    上記のポリシーでは、すべての OSS バケットに対する権限が付与されます。特定の OSS バケットに対して読み取りおよび書き込み権限を指定する必要がある場合は、以下の例に示すようにポリシーを変更してください。ポリシー内の mybackups を、ご利用の OSS バケット名に置き換えてください。細かい粒度の OSS 権限付与については、「RAM を使用した OSS 権限の管理」をご参照ください。

    カスタムポリシーの表示

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "oss:PutObject",
            "oss:GetObject",
            "oss:DeleteObject",
            "oss:GetBucket",
            "oss:ListObjects",
            "oss:ListBuckets",
            "oss:GetBucketStat"
          ],
          "Resource": [
            "acs:oss:*:*:mybackups",
            "acs:oss:*:*:mybackups/*"
          ],
          "Effect": "Allow"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:CreateSnapshot",
            "ecs:DeleteSnapshot",
            "ecs:DescribeSnapshotGroups",
            "ecs:CreateAutoSnapshotPolicy",
            "ecs:ApplyAutoSnapshotPolicy",
            "ecs:CancelAutoSnapshotPolicy",
            "ecs:DeleteAutoSnapshotPolicy",
            "ecs:DescribeAutoSnapshotPolicyEX",
            "ecs:ModifyAutoSnapshotPolicyEx",
            "ecs:DescribeSnapshots",
            "ecs:DescribeInstances",
            "ecs:CopySnapshot",
            "ecs:CreateSnapshotGroup",
            "ecs:DeleteSnapshotGroup"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "hbr:CreateVault",
            "hbr:CreateBackupJob",
            "hbr:DescribeVaults",
            "hbr:DescribeBackupJobs2",
            "hbr:DescribeRestoreJobs",
            "hbr:SearchHistoricalSnapshots",
            "hbr:CreateRestoreJob",
            "hbr:AddContainerCluster",
            "hbr:DescribeContainerCluster",
            "hbr:DescribeRestoreJobs2",
            "hbr:CancelBackupJob",
            "hbr:CancelRestoreJob"
          ],
          "Resource": "*"
        }
      ]
    }
  3. 作成したカスタムポリシーを RAM ユーザーに付与します。詳細については、「RAM ユーザーの権限管理」をご参照ください。

  4. RAM ユーザーの AccessKey を作成します。詳細については、「AccessKey の取得」をご参照ください。

  5. クラスター内に Secret を作成します。

    AccessKey 情報をクラスター内でのみ安全に使用できるようにするため、まず AccessKey 情報を用いて、クラスター内に alibaba-addon-secret という名前の Secret を展開する必要があります。これにより、情報漏洩のリスクを低減できます。

    1. 以下のコマンドを実行して、csdr 名前空間を作成します。

      kubectl create ns csdr
    2. 以下のコマンドを実行して、alibaba-addon-secret という名前の Secret を作成します。

      kubectl -n csdr create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'

      上記コマンド内の <your AccessKey ID> および <your AccessKey Secret> を、直前のステップで取得した AccessKey 情報に置き換えてください。

ステップ 2:migrate-controller バックアップサービスコンポーネントのインストール

migrate-controller バックアップサービスコンポーネントのインストール」をご参照ください。

(任意)ステップ 3:登録済みクラスターと同じリージョンにある OSS の内部 CIDR ブロックへのルートの設定

CEN、Express Connect、または VPN を介してクラウド VPC に接続された登録済みクラスターの場合、登録済みクラスターと OSS が同じリージョンにあると、バックアップセンターは自動的に内部ネットワーク経由で OSS ドメイン名にアクセスし、バックアップのデータ取得速度を向上させます。この場合、当該リージョンの OSS の内部 CIDR ブロックへのルートを設定する必要があります。

(任意)ステップ 4:Cloud Backup サービスによる API Gateway の利用権限の付与

これは、中国 (ウランチャブ)、中国 (河源)、または中国 (広州) リージョンでクラスターのバックアップまたは復元を行う場合にのみ必要な権限付与です。手順については、「(任意)ステップ 3:Cloud Backup サービスによる API Gateway の利用権限の付与」をご参照ください。