バックアップセンターを使用して、アプリケーションのバックアップ、復元、および移行を実行できます。 これにより、マルチクラスター環境とハイブリッド環境でのディザスタリカバリとアプリケーションの移行が可能になります。 バックアップセンターを使用するには、migrate-controller コンポーネントをインストールし、関連する権限を付与する必要があります。
前提条件
関連するクラウドサービスを有効化する
Cloud Backup が有効化されている。 詳細については、「課金方法と課金項目」をご参照ください。
Cloud Backup を使用して、Object Storage Service (OSS) バケット、File Storage NAS (NAS) ファイルシステム、Cloud Parallel File Storage (CPFS) ファイルシステム、およびローカルディスクを使用するボリューム、またはハイブリッドクラウドシナリオのボリュームをバックアップします。 権限を付与します。 詳細については、次のセクションをご参照ください。
OSS が有効化されている。 詳細については、「Billing overview」をご参照ください。
バックアップセンター機能は、アプリケーションのバックアップを OSS バケットにのみ保存できます。
Elastic Compute Service (ECS) スナップショットが有効化されている。
ECS スナップショットサービスの有効化には料金はかかりません。 スナップショットを作成した後、サイズと保持期間に基づいて スナップショット に対して課金されます。
クラスターを作成する
Kubernetes 1.18 以降を実行する ACK クラスターが作成されている。 詳細については、「ACK マネージドクラスターの作成」、「ACK 専用クラスターを作成する (廃止)」、「Serverless Kubernetes クラスターを作成する」、「ACK Edge クラスターを作成する」、または「ACK コンソールで登録済みクラスターを作成する」をご参照ください。 クラスターを更新する方法の詳細については、「ACK クラスターを手動でアップグレードする」をご参照ください。
ACK マネージドクラスター を使用する場合は、権限管理を簡素化し、バックアップテンプレートを保存するために、cnfs-oss-**** で始まる名前の OSS バケットを作成する必要があります。 例: cnfs-oss-backup。
バックアップセンター機能は、FlexVolume を使用するクラスターをサポートしていません。 クラスターで FlexVolume を使用している場合は、バックアップセンター機能を使用する前に、FlexVolume から Container Storage Interface (CSI) にアップグレードする必要があります。
FlexVolume がインストールされているがデータが保存されていないクラスターの場合は、代わりに Container Storage Interface (CSI) プラグインを使用することをお勧めします。 詳細については、「データが保存されていないクラスターの FlexVolume から CSI へのアップグレード」をご参照ください。
その他のシナリオについては、DingTalk グループ 35532895 に参加してテクニカルサポートをリクエストしてください。
背景情報
Kubernetes 上で実行されているアプリケーションの数が増えています。 したがって、アプリケーションを定期的にバックアップすることが重要です。 バックアップセンターを使用すると、予期しない状況によってサービスが長時間利用できなくなるのを防ぐことができます。 従来の単一サーバーバックアップやディスクバックアップとは異なり、Kubernetes ベースのアプリケーションバックアップでは、アプリケーションと関連データ、リソースオブジェクト、構成、および名前空間をバックアップできます。
注意事項
ACK Serverless Pro クラスター と ACK Edge クラスター でバックアップセンター機能を使用する場合、インストールと権限構成の要件は ACK マネージドクラスター の要件と同じです。 詳細については、「ACK マネージドクラスターに migrate-controller をインストールし、権限を付与する」をご参照ください。
ACK Serverless Basic クラスター はサポートされていません。
ACK Serverless Pro クラスター または ACK Edge クラスター でバックアップセンター機能を使用する場合、ボリュームをバックアップすることはできません。
ACK Edge クラスター では、migrate-controller コンポーネントはデフォルトでクラウド上のノードにインストールされ、内部ネットワーク経由で OSS にアクセスします。
ACK マネージドクラスター
手順 1: migrate-controller をインストールする
バックアップセンター機能を初めて使用する場合は、migrate-controller をインストールする必要があります。 migrate-controller がすでにインストールされている場合は、この手順をスキップしてください。
ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。 左側のウィンドウで、 を選択します。
[アプリケーションバックアップ] ページで、[インストール] をクリックします。
システムは自動的にバックアップボールトを検索します。 バックアップボールトがない場合は、最初に作成してください。 詳細については、「バックアップボールトを作成する」をご参照ください。
csdr 名前空間が存在しない場合、システムはコンポーネントのインストール時に csdr という名前のネームスペースを自動的に作成します。 この名前空間を削除しないでください。
migrate-controller をすでにインストールしているが、migrate-controller のバージョンが最新でない場合は、[アプリケーションバックアップ] ページで [アップグレード] をクリックします。 システムは自動的に migrate-controller を最新バージョンに更新します。
手順 2: 関連する権限を付与する
OSS 権限を付与する
ACK マネージドクラスター がバックアップボールトとして使用する OSS バケットの名前が
cnfs-oss-***で始まっていることを確認します。 このシナリオでは、OSS 権限を付与する必要はありません。 その他のバケットについては、次のセクションに基づいて、ACK 専用クラスター で関連する OSS 権限を付与する必要があります。 詳細については、「手順 1: 関連する権限を付与する」をご参照ください。ECS スナップショットと Cloud Backup の権限を付与する
クラスターが ACK マネージドクラスター の場合、ECS スナップショットと Cloud Backup の権限を付与する必要はありません。
手順 3 (オプション): Cloud Backup が API Gateway にアクセスすることを承認する
中国 (Ulanqab)、中国 (Heyuan)、および中国 (Guangzhou) リージョンにあるクラスターのデータをバックアップまたは復元する必要がある場合は、バックアップセンター機能を初めて使用するときに、Alibaba Cloud アカウントを使用して Cloud Backup が API Gateway にアクセスすることを承認する必要があります。
migrate-controller 1.8.4 以降では、Cloud Backup を使用して、中国 (Ulanqab)、中国 (Heyuan)、および中国 (Guangzhou) リージョンにあるクラスターのボリュームをバックアップできます。 バックアップできるボリュームのタイプには、OSS ボリューム、NAS ボリューム、CPFS ボリューム、ローカルボリューム、およびハイブリッドクラウド環境のボリュームが含まれます。
Cloud Backup コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
[コンテナバックアップ] ページの左上隅で、クラスターが存在するリージョンを選択します。 この例では、クラスターは中国 (Ulanqab)、中国 (Heyuan)、または中国 (Guangzhou) リージョンにあります。
[Cloud Backup のサービスアクセス承認] ダイアログボックスで、[承認の確認] をクリックします。
ACK 専用クラスター
手順 1: 関連する権限を付与する
migrate-controller 1.7.7 以降のバージョンでは、Alibaba Cloud ディスクのリージョン間復元がサポートされています。 この機能を使用するには、次のカスタムポリシーテンプレートに基づいて、Resource Access Management (RAM) ユーザーに ECS スナップショット権限を付与します。
RAM ユーザーを作成します。 RAM ユーザーの作成方法については、「RAM ユーザーを作成する」をご参照ください。
次のカスタムポリシーを作成します。 詳細については、「[JSON] タブでのカスタムポリシーの作成」をご参照ください。
次のポリシーでは、
oss:****は OSS 権限、ecs:****は ECS スナップショット権限、hbr:****は Cloud Backup 権限を示します。上記のポリシーは、すべての OSS バケットに対する権限を付与します。 指定された OSS バケットに対する読み取りおよび書き込み権限を付与するには、次のテンプレートに基づいてカスタムポリシーを変更します。
mybackupsを OSS バケットの名前に置き換えます。 詳細な OSS 権限の付与方法については、「RAM を使用して OSS 権限を管理する」をご参照ください。上記のカスタムポリシーを RAM ユーザーにアタッチします。 詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
RAM ユーザーの AccessKey ペアを作成します。 詳細については、「AccessKey ペアの作成」をご参照ください。
ACK 専用クラスター にシークレットを作成します。
AccessKey ペアがクラスター内でのみ使用されるようにするには、クラスターに alibaba-addon-secret という名前のシークレットを作成して AccessKey ペアを保存する必要があります。 これにより、情報漏えいのリスクが軽減されます。
次のコマンドを実行して、csdr という名前のネームスペースを作成します。
kubectl create ns csdr次のコマンドを実行して、alibaba-addon-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 コンポーネントをインストールした後にシークレットを作成する場合は、kube-system 名前空間で migrate-controller コンポーネントを再起動します。
手順 2: migrate-controller をインストールする
詳細については、「migrate-controller をインストールする」をご参照ください。
手順 3 (オプション): Cloud Backup が API Gateway にアクセスすることを承認する
中国 (Ulanqab)、中国 (Heyuan)、および中国 (Guangzhou) リージョンにあるクラスターのデータをバックアップまたは復元する場合にのみ承認が必要です。 詳細については、「手順 3 (オプション): Cloud Backup が API Gateway にアクセスすることを承認する」をご参照ください。
登録済みクラスター
Alibaba Cloud ディスクのリージョン間復元をサポートする migrate-controller のバージョンは 1.7.7 以降です。 onectl をバージョン 1.1.0 に更新し、onectl ram-user revoke --addon migrate-controller コマンドを実行して、RAM ユーザーに権限を付与します。
onectl を使用して migrate-controller をインストールし、権限を付与する (推奨)
オンプレミスマシンに onectl をインストールします。 詳細については、「onectl を使用して登録済みクラスターを管理する」をご参照ください。
次のコマンドを実行して、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.次のコマンドを実行して、migrate-controller をインストールします。
onectl addon install migrate-controller期待される出力:
Addon migrate-controller, version **** installed.onectlコマンドは、Alibaba Cloud アカウントに属するすべての OSS バケットに対する権限を付与します。 指定された OSS バケットに権限を付与するには、onectl によって付与された OSS 権限を変更します。 または、「migrate-controller を手動でインストールし、権限を付与する」こともできます。OSS 権限の変更: 次の内容に基づいてカスタムポリシーを変更します。 ポリシーの変更方法については、「カスタムポリシーのドキュメントと説明を変更する」をご参照ください。
説明mybackupsを OSS バケットの名前に置き換えます。 詳細な OSS 権限の付与方法については、「RAM を使用して OSS 権限を管理する」をご参照ください。(オプション) 登録済みクラスターと OSS バケットが存在するリージョンの内部ネットワークを指すルートを作成する
登録済みクラスターが Cloud Enterprise Network (CEN)、Express Connect、または VPN 経由で VPC に接続されており、登録済みクラスターが OSS バケットのリージョンに存在する場合、バックアップセンターはダウンロード速度を向上させるために、デフォルトで OSS バケットの内部エンドポイントにアクセスします。 したがって、OSS バケットが存在するリージョンの内部ネットワークを指すルートを作成する必要があります。
データセンターを VPC に接続する方法の詳細については、「データセンターを Alibaba Cloud に接続するために使用される方法」をご参照ください。
OSS バケットの内部エンドポイントと VIP 範囲の詳細については、「OSS バケットの内部エンドポイントと VIP 範囲」をご参照ください。
(オプション) Cloud Backup が API Gateway にアクセスすることを承認する。 中国 (Ulanqab)、中国 (Heyuan)、および中国 (Guangzhou) リージョンにあるクラスターのデータをバックアップまたは復元する場合にのみ承認が必要です。 詳細については、「手順 3 (オプション): Cloud Backup が API Gateway にアクセスすることを承認する」をご参照ください。
コンソールを使用して migrate-controller をインストールし、権限を付与する
手順 1: 関連する権限を付与する
登録済みクラスターの RAM ユーザーを作成し、クラウド リソースにアクセスするための権限を RAM ユーザーに付与してから、RAM ユーザーの AccessKey ペアを作成する必要があります。
RAM ユーザーを作成します。 RAM ユーザーの作成方法については、「RAM ユーザーを作成する」をご参照ください。
次のカスタムポリシーを作成します。 詳細については、「[JSON] タブでのカスタムポリシーの作成」をご参照ください。
次のポリシーでは、
oss:****は OSS 権限、ecs:****は ECS スナップショット権限、hbr:****は Cloud Backup 権限を示します。上記のポリシーは、すべての OSS バケットに対する権限を付与します。 指定された OSS バケットに対する読み取りおよび書き込み権限を付与するには、次のテンプレートに基づいてカスタムポリシーを変更します。
mybackupsを OSS バケットの名前に置き換えます。 詳細な OSS 権限の付与方法については、「RAM を使用して OSS 権限を管理する」をご参照ください。カスタムポリシーを RAM ユーザーにアタッチします。 詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
RAM ユーザーの AccessKey ペアを作成します。 詳細については、「AccessKey ペアの作成」をご参照ください。
クラスターにシークレットを作成します。
AccessKey ペアがクラスター内でのみ使用されるようにするには、クラスターに alibaba-addon-secret という名前のシークレットを作成して AccessKey ペアを保存する必要があります。 これにより、情報漏えいのリスクが軽減されます。
次のコマンドを実行して、csdr という名前のネームスペースを作成します。
kubectl create ns csdr次のコマンドを実行して、alibaba-addon-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 バケットが存在するリージョンの内部ネットワークを指すルートを作成する
登録済みクラスターが CEN、Express Connect、または VPN 経由で VPC に接続されており、登録済みクラスターが OSS バケットのリージョンに存在する場合、バックアップセンターはダウンロード速度を向上させるために、デフォルトで OSS バケットの内部エンドポイントにアクセスします。 したがって、OSS バケットが存在するリージョンの内部ネットワークを指すルートを作成する必要があります。
データセンターを VPC に接続する方法の詳細については、「データセンターを Alibaba Cloud に接続するために使用される方法」をご参照ください。
OSS バケットの内部エンドポイントと VIP 範囲の詳細については、「OSS バケットの内部エンドポイントと VIP 範囲」をご参照ください。
手順 4 (オプション): Cloud Backup が API Gateway にアクセスすることを承認する
中国 (Ulanqab)、中国 (Heyuan)、および中国 (Guangzhou) リージョンにあるクラスターのデータをバックアップまたは復元する場合にのみ承認が必要です。 詳細については、「手順 3 (オプション): Cloud Backup が API Gateway にアクセスすることを承認する」をご参照ください。