SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

SB C&S

【Portworx基礎(8)】PX-Backupによるアプリケーションとデータの保護

ストレージ / HCI
2023.02.27

みなさんこんにちは。 Portworxの機能を連載形式でご紹介しております。

-------------------------------------------------------------------------------------------
 入門編 コンテナ環境と「データ」を考える
 第1回 PX-Storeによるボリュームの提供(初級編)
 第2回 PX-Storeによるボリュームの提供(応用編)
 第3回 ボリュームのスナップショット
 第4回 PX-Autopilotによるボリューム・ストレージの自動拡張
 第5回 PX-SecureによるRBACとOwnership
 第6回 PX-Migrateによるアプリケーションとデータの移行
 第7回 PX-DRによる災害対策
 第8回 PX-Backupによるアプリケーションとデータの保護
-------------------------------------------------------------------------------------------

今回は「PX-Backup」についてご紹介いたしますが、PX-Backupのインストールや基本操作については既にこちらで手順書がリリースされております。 そこで本ブログではPX-Backupを利用する上で知っておくと役立ちそうな情報をいくつかご紹介いたします。
なおPortworxにはBackup as a Serviceも存在しますが、本ブログはオンプレミス環境上のPX-Backupを前提としています。

PX-BackupPortworx Enterpriseの関係性を紐解く

PX-Backupの主な機能はKubernetes上のアプリケーションやデータ、各種オブジェクトをバックアップ・リカバリすることです。連載「Portworx基礎」において前回まではPortworx EnterpriseならびにそのAdd-on機能についてご紹介して参りましたが、PX-Backupは他の"PX-"で始まる機能とは異なる特性を持っています。このため、まずは製品の体系としてPX-BackupPortworx Enterpriseの関係がどのようになっているか整理しておきましょう。

PX-BackupはPortworx Enterpriseからは独立した製品となっており、メーカーサイトに記載の通りインストール要件が別に存在しています。 同一Kubernetesクラスター上でPX-BackupPortworx Enterpriseを利用する場合であっても、それぞれ別にインストール作業を実施する必要があります。
pxbk-install.png

この特性上、PX-BackupのライセンスとPortworx Enterpriseのライセンスも別になっています。さらにメーカーサイトのFeature Listも別になっています。
※ Portworx Enterprise / EssentialsはこちらPX-BackupこちらFeature Listを確認することができます。

 

 

ここからは以下の検証環境を利用してPX-Backupの動作や機能をご紹介いたします。 オンプレミス環境にKubernetesクラスターを1台のMasterノード、3台のWorkerノードで構成しており、Portworx Enterprise バージョン2.12.1をインストールしています。
pxbk-env1.pngpxbk-env2.pngpxbk-env3.png

 

インストール要件「Backend drive」とは

PX-Backupをオンプレミスの環境へインストールする際の要件についてはこちらでご確認頂けますが、" Hardware Requirements"として"Backend drive : 307 GB (In Total)"と記載されています。 このディスク領域をどこに用意すればよいか確認しておきましょう。

PX-Backupでは大きく分けて2種類のストレージを必要とします。1つ目は"Backup Location"と呼ばれるバックアップデータを保管するためのオブジェクトストレージ、2つ目はPX-Backup自身が利用するためのストレージです。  前述のBackend driveは後者にあたります。 メーカードキュメントに記載の通り、PX-BackupMongoDBを利用してスケジュール等のバックアップ運用に関連するデータを管理します。 PX-BackupKubernetes上にインストールしますので、このようなデータを永続化するためにBackend driveが必要になるという訳です。
pxbk-st.png

ここでは実際にPX-Backupをインストールし、ボリュームがどのように利用されるか確認してみましょう。

PX-Backupをインストールする際にPX-Centralでスペックを作成しますが、このときStorageClassの名称を指定します。 今回はPortworxStorage Poolからボリュームを作成できるようStorageClass "portworx-sc"を用意し、こちらをPX-Central上で指定しました。
pxbk-sc1.pngpxbk-sc2.png

Namespace "central"にPX-Backup (バージョン2.3)をインストールした後のPVCPVの一覧は以下の通りです。PX-Centralで指定したStorageClassを利用して合計307GiBのボリュームが作成されていることが分かります。
pxbk-sc3.png

Backend driveはStorageClassPX-Backup用にPVを払い出す場所ですので、PX-Backupインストール前に当該ストレージの容量を確認しておくとよいでしょう。

 

Portworx Backup SecurityによるRBAC

PX-BackupにはPortworx Backup Securityと呼ばれるRBAC(Role Based Access Control, ロールベースアクセス制御)のための機能が組み込まれています。 PX-Backupを既存のOIDCと連携させることもできますし、PX-Backupが持つKeycloak (Portworx Backup Keycloak)によってユーザーを管理することも可能です。

PX-Backupのロール

ここではPX-BackupGUI(PX-Backup UI)にアクセスし、デフォルトで作成されるユーザー"admin"にどのような権限があるのかを確認してみます。adminとしてサインイン後、画面左下の人物のアイコンから「PX-Backup Security」をクリックします。
pxbk-sec-role1.png

Role Mapping」タブではユーザーに紐付いているロールを確認することが可能です。adminは"px-backup-infra.admin"というロールが割り当てられています。
pxbk-sec-role2.png

Roles」タブをクリックするとロールの情報を確認することが可能です。以下がデフォルトで存在しているロールです。(メーカードキュメントにもBuilt-inのロールに関する説明がございます。)
pxbk-sec-role3.png

右側にある「」から「Show Details」をクリックすると、当該のロールにどのような権限があるか確認することが可能です。 px-backup-infra.adminは全ての項目がFull Accessになっています。
pxbk-sec-role4.png

pxbk-sec-role5.png

なお、右上の「+ Add」をクリックするとロールを追加することが可能です。(ロール名の制限事項など詳細についてはメーカードキュメントをご参照ください。)
pxbk-sec-role6.png 

PX-Backupのユーザー

今回はKeycloak を利用してRBACの機能を試してみたいと思います。(OIDCと連携している場合はKeycloakでユーザーを管理する必要はありません。)

PX-BackupにはGUIがあり、バックアップの管理をするPX-Backup UIとユーザーを管理するためのKeycloak UIがあります。(UIへのアクセス方法はこちらで整理されています。) WebブラウザでKeycloak UIにアクセスすると以下のような画面が表示されます。
pxbk-sec-user1.png

Administration Console」をクリックするとサインイン画面が表示されます。ここではadminとしてサインインします。
pxbk-sec-user2.png

今回は新しいユーザー"test-user"を作成してみます。 「Users」画面の「Add user」をクリックします。
pxbk-sec-user3.png

ユーザー名、メールアドレス、名前を入力して「Save」をクリックします。
pxbk-sec-user4.png

Credentials」タブをクリックしてパスワードを設定し「Set Password」をクリックします。 「Temporary」がONになっている場合、次回サインイン時にパスワード変更が必要です。
pxbk-sec-user5.png

PX-Backup UIに戻って「PX-Backup Security」を確認すると、test-userにロール"px-backup-app.user"が設定されていることが分かります。
pxbk-sec-user6.png

なお、ロール"px-backup-app.user"の権限は下図の通り全ての項目が「View Only」になっています。
pxbk-sec-user7.png本環境におけるユーザーとロールのマッピングは下図の通りです。
pxbk-sec-user8.png

なお、本ブログ記事では詳しく触れませんが、グループを作成し複数ユーザーをまとめて管理することも可能です。(グループに対するロールの設定についてはこちらをご参照ください。)

ロール"px-backup-app.user"のユーザーで操作

ここからはロール"px-backup-app.user"が割り当てられているtest-userによるPX-Backup UIの操作についてご紹介したいと思います。 test-userでのサインイン完了後、Schedule PoliciesCloud Settingsの設定画面を見てみると設定を新規に追加することができないようになっています。(Cloud SettingsBackup Locationに関連した設定を行う場所です。) 設定を追加しようとすると権限がない旨のメッセージが表示されます。
pxbk-sec-ui1.pngpxbk-sec-ui2.png

なお、PX-Backup UIの「+ Add Cluster」からバックアップ対象のKubernetesクラスターを登録することは可能です。
pxbk-sec-ui4.png

 

PX-Backupのリソースを他のユーザーにシェア

PX-Backupでは、自身が設定したBackup LocationやSchedule Policyなどのリソースを他のユーザーに利用させることが可能です。

例えば、test-userはバックアップジョブを作成すること自体は可能です。 しかしながらロール"px-backup-app.user"には前述の通りBackup LocationやSchedule Policyを新規に作成する権限がありません。 ジョブ作成時には少なくとも「Enter name for Backup」と「Backup location」を指定しなければならないため、事前にtest-userに対してBackup Location等のリソースを提供してあげる必要があります。 このような場合にリソースをシェアする(test-userによるアクセスを許可する)機能を利用します
pxbk-sec-ui5.pngここではadminが作成したBackup LocationやSchedule Policytest-userが利用できるよう、アクセスを許可してみたいと思います。
pxbk-sec-access1.png

ここからはadminとしてPX-Backup UIにサインインして操作します。
Backup Locationへのアクセスを許可するには右側にある「」から「User Access」をクリックします。(今回はAzure Blob StorageBackup Locationとして登録しています。)
pxbk-sec-access4.png今回はこちらのBackup Locationに対してPX-Backupユーザー全員がアクセスできるようにしてみます。(「Assign Users」でユーザーやグループを個別に指定することも可能です。) 「Make accessible to everyone」にチェックを入れ「Update」をクリックします。
pxbk-sec-access5.png

また、今回はSchedule Policy "1hour"を作成していますのでこちらをシェアします。Schedule Policy名の右側にある「」から「User Access」をクリックします。
pxbk-sec-access2.png

こちらもPX-Backupユーザー全員がアクセスできるようにしてみます。 「Make accessible to everyone」にチェックを入れ「Update」をクリックします。
pxbk-sec-access3.png

改めてPX-Backup UItest-userでサインインしてみます。バックアップジョブ作成画面を確認すると、アクセスを許可したBackup LocationSchedule Policyを指定することができるようになっています。
pxbk-sec-access6.png

本ブログ記事ではBackup LocationSchedule Policyを例にシェアの方法をご紹介しましたが、他にもシェアできるリソースがございます。詳細についてはメーカードキュメントをご参照ください。 また、バックアップをシェアする機能についてはこちらをご参照ください。

 

まとめ

今回はPX-Backupの利用に役立ちそうな情報をいくつかピックアップしてご紹介いたしました。 ぜひこちらの手順書も併せてご覧の上、PX-Backupをご活用頂ければと思います。

 


※ サービスや製品の仕様ならびに動作に関しては、予告なく改変される場合があります。
※ 本ブログにおける記載はPortworx Enterpriseバージョン2.12PX-Backup (On-premises)バージョン2.3の情報に基づいています。 異なるバージョンにおけるサポート範囲 / 仕様変更等についてはメーカードキュメントをご確認ください。

Portworxに関するブログ記事一覧はこちら

著者紹介

SB C&S株式会社
ICT事業本部 技術本部 第1技術部 4課
中原 佳澄