2021年7月31日、Portworx® PX-Backup 2.0 がリリースされました。PX-Backup は、Kubernetes ワークロードのアプリケーション対応のバックアップ/リストアと、エンタープライズ規模のセルフサービス・アクセスをセキュリティとともに提供します。
昨今の企業においては、本番ワークロードおよびステートフルなアプリケーションをコンテナ化されたアーキテクチャに移行する動きが広がっています。私たちはこの傾向が今後も続くと確信しており、それを加速する主な推進力は、ハイブリッド・クラウドにおけるモビリティとデータ保護であると考えています。
大規模環境への対応に向けて構築された新アーキテクチャ
PX-Backup のバージョンを 2.0 に上げた理由の 1 つとして、アーキテクチャの変更があります。これまでのメモリを大量に消費していた kvdb から、データのフィルタリング機能がより優れている新しい内部メタデータ・データベースに変更しました。これにより、数百万のオブジェクトへの拡張および、レスポンス時間の高速化が可能になりました。また、PX-Backup 2.0 では、高可用性を確保するため、クラスタ全体に 3 つの新しいポッドを分散させています。現在 PX-Backup 1.2 をご利用のお客様においては、新しいデータベース構造に自動的かつシームレスに移行が行われます。
セキュアなセルフサービスによるデータ保護
本リリースの目玉として、ロールベースのアクセス制御(RBAC:Role Based Access Control)の機能強化があります。PX-Backup では既にアプリケーション所有者にセルフサービス・アクセスを提供していますが、企業はアプリ所有者がアクセスするオブジェクトを制御し、アプリ所有者とユーザーが取得するアクセス権のレベルについて適切なガバナンスを確保する必要があります。RBAC の機能強化により、組織は、Active Directory、LDAP、Okta といった OIDC(OpenID Connect)を介した既存の認証サービスを使用することで、ユーザーまたはユーザー・グループを承認し、PX-Backup のロールへのマッピングができます。PX-Backup のロールは、ユーザーが実行可能なアクセス権とアクションを制御します。管理者は、アクセス範囲を設定することで、複数のユーザーがリソースを共有できるようにすることも可能です。
PX-Backup のデフォルトのロールには、次の 3 つがあります。
- インフラストラクチャ管理者:
インフラストラクチャの所有者であり、クラウド・アカウント、バックアップ・ロケーション、スケジュール、ルールといった全ての PX-Backup オブジェクトの管理者権限を持っています。 - アプリケーション管理者:
所有するアプリを完全に管理できるアプリケーションの所有者です。アプリケーション管理者は、スケジュールとルールの管理者権限を持ち、インフラストラクチャ管理者によって設定されたクラウド・アカウントを使用できます。 - アプリケーション・ユーザー:
アプリケーションのバックアップとリストアはできますが、スケジュール・ポリシーやルールを作成する権限のない、アプリケーションのユーザーです。
また、これらのロールが要件を完全に満たしていない場合に備えて、組織内の管理者が独自のカスタム・ルールを作成することも可能です。
このモデルでは、アプリケーション開発者はインフラストラクチャ管理について心配する必要はありません。自身が管理するクラスタを登録するだけで、アクセス権のあるアプリを表示および保護できます。
では、実際にどのようにロールを設定するのかを見てみましょう。
- 管理者ユーザーで PX-Backup にログインします。画面左下に新たに「PX-Backup Security」というメニューが追加されますので、これをクリックします。
- 「Roles」タブをクリックします。現在利用可能なロールが表示されます。
- 上図の画面の中の「Show Details」をクリックすると、該当ユーザーの権限の詳細を参照できます。管理者権限があれば、独自のカスタム・ロールを作成することも可能です。権限の詳細には、次の項目があります。
- Cloud accounts:バックアップを保存する S3 のクラウド・アカウント情報へのアクセス権限
- Backup locations:バックアップを保存するバケツへのアクセス情報
- Schedule policies:バックアップ・スケジュールを定義できるかどうか
- Rules:バックアップ・ルール(事前/事後実行コマンド)を定義できるかどうか
- User roles:ユーザー・ロールへのアクセス権
- 管理者ユーザーは、それらのロールを各ユーザーに設定できます。
- また、画面右上の Settings では、「Schedule Policies」「Cloud Settings」「Rules」のそれぞれに対して、「User Access」が新たに追加されています(例えば「Cloud Settings」→「Backup Locations」を選択)。
例えば、Backup Locations で「User Access」をクリックすると、S3 バケツや、S3 サーバー単位でどのユーザーがアクセス可能かを設定できます。
下図の例では、user1
とpureuser
というユーザーのみ、mizo-aws-bucket01
をバックアップ・ロケーションとして選択可能となっています。
- では、実際に
user1
というユーザーで PX-Backup にログインしてみましょう。user1
は、バックアップのロケーションやルールの作成などは許可されておらず、「Add」ボタンがグレーアウトされています。編集権限もないため、割り当てられたバックアップ・ロケーションのみが表示されています。
- 実際にバックアップを取得する際も、自分に割り当てられたバックアップ・ロケーション、スケジュール、ルールからのみ選択が可能です。
- PX-Backup では、各ユーザーがログインして、それぞれがアクセス可能なクラスタの kubeconfig 情報を登録し、クラスタのバックアップを操作します。そのため、メインメニューには自身が登録したクラスタのみが表示されます。
また、kubernetes クラスタ側で、ユーザーに Role や CluterRole をセットして、そのユーザーがアクセスできる名前空間を限定すると、その情報は kubeconfig の情報から PX-Backup にも引き継がれます。例えば、user1
はクラスタpx-cluster-primary
の名前空間development
のみアクセス可能な権限がクラスタ側に設定されています。すると、他の名前空間をバックアップしようとした時点で次のようなエラーが表示されます。
- 同様に、リストアについても自身が取得したバックアップからのみ可能なため、他者がデータをリストアすることを防ぎます。もちろん
user1
は自身が操作可能な名前空間development
のみにリストアすることができ、他者が管理している名前空間へのリストアはできません。
これらの機能により、インフラストラクチャの所有者が各アプリケーションのバックアップを管理する必要がなくなります。インフラストラクチャの所有者または任意のユーザーは、共有リソース・プールを作成して、バックアップ・ロケーション、スケジュール、バックアップ・ルールを他のユーザーと共有できます。RBAC の機能強化により、開発者またはテナントとインフラストラクチャ管理者の間で、セキュアなセルフバックアップの実装が可能になります。
使いやすさの強化
アクティビティ・タイムライン・ビュー
アクティビティ・タイムライン・ビューは、バックアップの概要を表示するダッシュボード・ビューとして、バックアップの完了と失敗の追跡を支援します。ユーザーは、インタラクティブなグラフビューを利用して次のような情報を確認できます。
- 日次の概要
- より詳細な時間単位のビューにより、特定の期間をフィルタリング
- バックアップの詳細
グラフを利用することで、障害を容易に特定できます。また、グラフに表示される忙しい時間帯とバックアップ・ジョブが多い場所を確認し、その情報をもとに、ユーザーがバックアップ・ウィンドウ全体に負荷を均等に分散させることができるため、効率的なバックアップ計画にも役立ちます。
以上、今回は Portworx のバックアップ機能である PX-Backup 2.0 についてご紹介しました。PX-Backup は PX-Enterprise とは分離しており、単体で Kubernetes 環境にインストールし、EKS、GCP、Azure 環境や、オンプレミスの Kubernetes 環境でご利用いただけます。
以前のブログでご紹介しましたが、PX-Central では 30 日間の無償ライセンスをご提供しています。ぜひ一度お試しください。
Pure Storage、Pure Storage のロゴ、およびその他全ての Pure Storage のマーク、製品名、サービス名は、米国およびその他の国における Pure Storage, Inc. の商標または登録商標です。その他記載の会社名、製品名は、各社の商標または登録商標です。