バックアップセンターが企業のKubernetesコンテナサービスプラットフォームのクロスクラウド移行を支援

> 本記事は[こちらのブログ](https://www.alibabacloud.com/blog/backup-center-helps-enterprises-migrate-kubernetes-container-service-platforms-across-clouds_601979?spm=a2c65.11461433.0.0.4ee35355PI7UIJ)を参考にしています。
> 翻訳にはアリババクラウドの[ModelStudio](https://www.alibabacloud.com/en/product/modelstudio)([Qwen](https://www.alibabacloud.com/en/solutions/generative-ai/qwen))を使用しております。

# クラウド間コンテナサービスプラットフォーム移行における課題とACKバックアップセンターの活用法

Yashi Su

企業がクラウド間やオンプレミスデータセンターからクラウドへのコンテナサービスプラットフォームを移行する際、多岐にわたる課題に直面します。これには、データセキュリティ、サービス中断、プラットフォーム互換性、移行の複雑さなどが含まれますが、これらに限定されるわけではありません。特にマイクロサービスアーキテクチャが複雑で大量のデータを持つアプリケーションシステムでは、コンテナサービスプラットフォームの移行は非常に繊細な操作を必要とし、小さな誤りでもビジネスの中断やデータの損失につながる可能性があります。本記事では、[Alibaba Cloud Container Service for Kubernetes](https://www.alibabacloud.com/product/kubernetes?spm=a3c0i.139163.6791778070.126.658760e6CGPJWC) (ACK) のバックアップセンターについて簡単に紹介し、ある技術企業が実際に移行プロセスで遭遇した具体的な課題を例に挙げて、どのように効果的にバックアップセンターを使用して企業がコンテナサービスプラットフォームを移行できるかを説明します。

## ACKバックアップセンターの概要

ACKは、Kubernetesクラスター上で動作するビジネス向けの包括的なコンテナ化された災害復旧および移行ソリューションとして、バックアップセンターを提供しています。

バックアップセンターの概要: [https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/user-guide/backup-center-overview](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/user-guide/backup-center-overview)

### 災害復旧:
クラスターの運用管理者（O&M）は、コンソールからワンクリックで定期的なバックアップ計画や一回限りのアプリケーションバックアップを作成できます。ETCDバックアップと比較すると、バックアップセンターは名前空間、ラベル、リソースタイプなどの次元に基づいてバックアップ対象のアプリケーションを選択することが可能です。ステートフルアプリケーションの場合、ビジネスでマウントされているストレージボリュームデータも同時にバックアップできます。GitOpsワークフローを確立している企業は、バックアップセンターのデータ保護機能を利用して、ストレージボリュームデータのみをターゲットにした災害復旧を行うことも可能です。

### コンテナサービスプラットフォームの移行:
ハイブリッドクラウド環境において、バックアップセンターはクラスターから選択されたリソースやストレージボリュームデータをAlibaba Cloudに簡単にバックアップし、その後、ターゲットのACKクラスターでこのバックアップを復元することでシームレスなアプリケーション移行を実現します。バックアップセンターは直感的なユーザーインターフェースを提供し、特定のリソースバックアップリストを検証したりリアルタイムのデータバックアップ進行状況を監視したりするための観測性を向上させています。具体的には、クラスターのO&M担当者は以下の手順に従って元のプラットフォームからサービスをバックアップし、それをACKに復元できます：

- 他のクラウドプロバイダーやオンプレミスにある移行が必要なKubernetesクラスターを接続するために、ACK One登録クラスターを作成します。（大規模なデータ量が関与する場合は、Cloud Enterprise Network経由での接続が推奨されます。）
- 接続後、KubernetesクラスターはほとんどのACK機能を利用可能になります。登録クラスター内にバックアップセンターコンポーネントをデプロイします。
- 登録クラスター内で、移行対象のサービスを指定されたバックアップボールトにバックアップします。サービスがステートフルアプリケーションの場合、ストレージボリューム内のデータも同時にバックアップできます。
- 新しいターゲットACKクラスターを作成するか既存のものを使用し、そのクラスターに十分な計算リソースがあることを確認してバックアップセンターコンポーネントをデプロイします。
- ターゲットACKクラスターでバックアップボールトを初期化します。バックアップ記録が同期されるのを待ってから、サービスを復元します。

ACK One登録クラスターの概要: [https://www.alibabacloud.com/help/en/ack/overview-9](https://www.alibabacloud.com/help/en/ack/overview-9)

![1](https://yqintl.alicdn.com/d3a90fccd574955b7fb568bda5752f9a0841c7ac.jpeg)

## クロスクラウド移行の具体的な課題とバックアップセンターによる解決策

ある技術企業は、外部サービスを提供するビジネスクラスターと内部クラスターにあるすべてのアプリケーションとそれに関連するストレージボリュームをAlibaba Cloudに移行する必要があります。以下では、クラスターリソースとストレージボリュームデータの移行に伴う課題と、バックアップセンターが提供する解決策について説明します。

### クラスターリソースのクロスクラスター移行

#### 細かいバックアップ戦略の要求

**課題：**
一方で、元のKubernetesクラスターは数年間にわたり稼働しており、一部のリソースの目的が不明瞭だったり、現在のCIツールでは再デプロイできないものもあります。移行中にこれらのリソースが完全に復元されることを確保し、ビジネスの継続性を維持することが重要です。他方で、自社構築のデータベースをAlibaba Cloudのミドルウェアに移行する必要があるため、不要なアプリケーションや関連データを除外してデータ転送を最小限にし、移行効率を向上させるためにバックアップ戦略を微調整する必要があります。

**解決策：**
必要なものは、特定のアプリケーションとその対応するストレージボリュームを除外しつつフルバックアップを行うことです。クロスクラスター移行にはクラスターのシステムコンポーネントやランタイム環境の変更が伴うため、kube-system名前空間下のリソースなども除外する必要があります。バックアップ内容は、名前空間を除外するか、バックアップ不要なボリュームに注釈を付けることで選択できます。同様に、一部のアプリケーションやリソースのみを移行する必要がある場合、名前空間やラベルでフィルタリングできます。バックアップセンターはバックアップ内容を適応的に調整でき、例えばIngressをバックアップする際に自動的にIngressClassをバックアップし、CRをバックアップする際にCRDを自動的にバックアップします。バックアップが完了したら、コンソールでクラスターリソースやストレージクレームリストを確認して、何も漏れがないことを確認できます。

### コンテナサービスプラットフォームシステムコンポーネントと基盤となるクラウドリソース間の互換性

**課題：**
異なるクラウドベンダーが提供するシステムコンポーネントやその設定方法には多少の違いがあります。そのため、企業は元の設定ファイルを単純にコピーしたり、既存のCIツールを直接使用して移行することはできません。代わりに、関連リソースを適応させる必要があります。この場合、適応させるべき項目は次の通りです：

- **ネットワーク関連:** クラウドベンダーが提供するロードバランシングサービスが異なり、クラスター内のサービスやIngressリソースを設定するために指定された注釈を使用する必要があります。これらの注釈はクロスクラウド移行中に再設定する必要があります。
- **ストレージ関連:** クラウドベンダーが提供するストレージメディアは類似していますが、クラスターのCSIストレージプラグインドライバーが異なるため、PVCやPVなどのストレージ関連リソース設定を変更する必要があります。
- **イメージレジストリURL:** サービスをACKに移行する前に、ほとんどの企業はイメージを[Alibaba Cloud Container Registry](https://www.alibabacloud.com/product/container-registry?spm=a3c0i.139163.6791778070.443.658760e6CGPJWC) (ACR) に移
# カスタムストレージクラスとデータ移行の課題と解決策

カスタムストレージクラスは、復旧のために指定することもでき、ストレージメディアの変換を容易にします。  

## 拡張バックアップ停止時間によるデータ一貫性の確保
### 課題:
ストレージデータのリアルタイムなダイナミクスにより、サービスは通常、移行中に一時停止する必要があります。これは新しいデータの書き込みを防ぎ、移行後のデータ損失や不一致を回避するためです。このような停止時間はビジネス継続性にとって課題となります。  

### 解決策:
アリババクラウドのバックアップサービスは、増分バックアップをサポートしています。これにより、オフピーク時のビジネス時間帯にストレージボリュームデータの初期バックアップを実施し、停止時間中の実際のバックアップデータ量を大幅に削減できます。さらに、バックアッププロセス中にはデータの圧縮と重複排除が行われ、バックアップ効率を効果的に向上させます。  

---

## 暗号化と安全な伝送
### 課題:
クロスクラウド移行時には、データの転送中の暗号化解決策を考慮することが重要であり、機密情報の安全性を確保する必要があります。  

### 解決策:
クラウドバックアップサービスは、ローカルデータの暗号化を採用して、データの伝送およびクラウド内での保存を保護します。さらに、バックアップボールトによって管理されるOSSバケットに対してサーバー側暗号化を有効にすることも可能です。  

---

## まとめ
アプリケーション移行の完全性を確保するために、バックアッププロセスではCIおよび本番クラスター内のすべてのCRDリソースをカバーしながら、必要に応じてミドルウェアに切り替える必要があるアプリケーションやストレージボリュームデータを除外します。バックアップセンターは、自動API互換性と柔軟なリソース調整をサポートしており、企業がクラスターの統合およびアップグレードをシームレスに行うことを支援します。また、多数のリソース競合や調整を回避します。  

バックアップセンターのストレージクラス変換機能により、異なるクラウドサービスプロバイダー間での基盤となるデータ型変換や基盤となるストレージインターフェース（CSI）ドライバーの違いを抽象化した、クラウドディスク間でのデータ移行が可能になります。さらに、移行がビジネス運用に与える影響を最小限に抑えるために、増分バックアップ機能を利用してオフピーク時のビジネス時間帯にデータバックアップを実施し、通常のアプリケーション操作に影響を与えることなく、実際の切り替え時の停止時間を削減します。

### 備考
- **マークダウン形式の画像リンク**や**Youtube動画リンク**は入力テキストに存在しなかったため、そのまま保持する処理は発生していません。
- アリババクラウド関連のプロダクト名やIT用語は翻訳せず、原文のまま記載しています。