バックアップセンターを使用して、異なるリージョンにある Kubernetes クラスターのアプリケーションをバックアップおよび復元できます。これにより、ご利用のクラスターにクロスリージョンディザスタリカバリが提供されます。
前提条件
-
宛先クラスターが作成されていること。宛先クラスターは、ECS スナップショットからクラウドディスクデータを復元できるように、バージョン 1.18 以降を実行している必要があります。詳細については、「Container Service for Kubernetes (ACK) マネージドクラスターの作成」、「ACK 専用クラスターの作成 (新規作成は利用不可)」、または「登録済みクラスターを作成し、データセンタークラスターに接続する」をご参照ください。
重要宛先クラスターは、Container Storage Interface (CSI) ストレージプラグインを使用する必要があります。FlexVolume ストレージプラグインを使用するクラスター、または csi-compatible-controller コンポーネントを介して CSI と FlexVolume の両方のプラグインを使用するクラスターには、データを復元できません。
バックアップセンターは、ビジネスアプリケーションのバックアップと復元に重点を置いています。復元ジョブを開始する前に、宛先クラスターに必要なシステムコンポーネントをインストールおよび構成する必要があります。例:
ACR パスワードレスコンポーネント: 宛先クラスターに権限を付与し、acr-configuration を構成する必要があります。
ALB Ingress コンポーネント: 事前に ALBConfig およびその他の設定を構成する必要があります。
バックアップクラスターとリカバリークラスターの両方に、migrate-controller バックアップサービスコンポーネントがインストールされ、権限が構成されていること。
-
ECS クラウドディスクスナップショットが有効になっていること。
スナップショットサービスの有効化は無料です。スナップショットが作成されると、そのサイズと保持期間に基づいて従量課金方式で課金されます。詳細については、「スナップショット課金」をご参照ください。
注意事項
-
リージョン間アプリケーション移行は、Alibaba Cloud ディスクのみを使用するアプリケーションとその関連ボリュームのバックアップをサポートします。
ACK 専用クラスター、または ECS インスタンス上のセルフマネージド Kubernetes クラスターに接続されている登録済みクラスターを使用している場合は、ディスクボリュームのクロスリージョン復元機能を使用する前に、ECS ディスクスナップショットに必要な権限が付与されていることを確認してください。詳細については、「migrate-controller バックアップサービスコンポーネントのインストールと権限の構成」をご参照ください。
-
アプリケーションをバックアップする際、削除中のリソースはバックアップされません。
事前準備
このトピックでは、リージョンとクラスターをまたがるアプリケーションのバックアップと復元方法について説明します。この例では、中国 (北京) リージョンにある Cluster_BJ という名前の ACK Pro マネージドクラスターがバックアップクラスターとして使用されます。中国 (深セン) リージョンにある Cluster_SZ という名前の ACK Pro マネージドクラスターがリカバリークラスターとして使用されます。バックアップリポジトリは、中国 (北京) リージョンにある Object Storage Service (OSS) バケットに関連付けられています。
-
中国 (北京) リージョンで、cnfs-oss-*** で始まる名前の OSS バケットを作成します。
このリージョンに要件を満たす OSS バケットがすでに存在する場合は、このステップをスキップできます。
-
Cluster_BJ バックアップクラスターのデフォルトの名前空間に、ステートフル Nginx アプリケーションを作成するには、次のコマンドを実行します。
ステップ 1: バックアップリポジトリの作成
-
クラスター内のバックアップリポジトリインスタンスと、それに関連付けられた OSS バケット間のネットワークアクセス方式は自動的に設定されます。ネットワークアクセス方式は、アプリケーションバックアップのアップロードおよびダウンロード速度に影響します。
-
クラスターと OSS バケットが同じリージョンにある場合、PrivateLink が使用されます。
-
クラスターと OSS バケットが異なるリージョンにある場合、パブリックネットワーク接続が使用されます。OSS のパブリックエンドポイントにアクセスするには、クラスターのパブリックネットワークアクセスを有効にする必要があります。詳細については、「クラスターのパブリックネットワークアクセスを有効にする」をご参照ください。
-
-
バックアップリポジトリは、作成後に更新できません。削除のみ可能です。バックアップリポジトリを削除し、同じ名前で新しいリポジトリを作成した場合、新しいリポジトリは元のバックアップリポジトリを使用していたクラスターでは機能しません。
アプリケーションバックアップ機能は、Alibaba Cloud OSS を使用してバックアップデータを保存します。バックアップジョブを作成する際にバックアップリポジトリが利用できない場合は、このステップに従って作成する必要があります。バックアップリポジトリの作成方法の詳細については、「バックアップリポジトリの作成」をご参照ください。
ステップ 2: Cluster_BJ クラスターでのアプリケーションのバックアップ
アプリケーションのバックアップ方法の詳細については、「バックアップスケジュールまたは即時バックアップの作成」をご参照ください。
クロスリージョンアプリケーション移行シナリオは、ステートレスなアプリケーション、またはストレージに Alibaba Cloud ディスクのみを使用するアプリケーションのみをサポートします。その他の種類のステートフルアプリケーションの場合、クロスリージョン復元中の障害を防ぐため、移行中に [バックアップボリューム] を選択しないでください。
ステップ 3: Cluster_SZ クラスターでのアプリケーションの復元
アプリケーションの復元方法の詳細については、「ステップ 3: アプリケーションとボリュームの復元」をご参照ください。
ステップ 4: Nginx アプリケーションの移行確認
Container Service 管理コンソールにログインします。Container Service 管理コンソール 。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。
-
Cluster_SZ リカバリークラスターの管理ページの左側のナビゲーションウィンドウで、 を選択します。
-
Nginx アプリケーションの アクション 列にある 詳細 をクリックします。次に、ポッド タブをクリックします。
アプリケーションのステータスが [実行中] であることを確認します。これは、Nginx アプリケーションが正常に移行されたことを示します。
参照
-
異なるストレージプラグインを使用するクラスター間、または異なるバージョンのクラスター間でアプリケーションを移行する方法の詳細については、「バックアップセンターを使用した以前のバージョンの Kubernetes クラスターからのアプリケーション移行」をご参照ください。
-
コマンドラインを使用してクラスターアプリケーションを移行する方法の詳細については、「kubectl を使用したクラスターアプリケーションのバックアップと復元」をご参照ください。