8.3. CodeReady Workspaces インスタンスの Amazon S3 へのバックアップ
CodeReady Workspaces インスタンスのバックアップは、カスタムリソースまたは crwctl で Amazon S3(または S3 API と互換性のあるストレージ) に送信できます。
8.3.1. カスタムリソースを使用した CodeReady Workspaces インスタンスの Amazon S3 へのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
カスタムリソースを使用して CodeReady Workspaces インスタンスを Amazon S3(または S3 API と互換性のあるストレージ) にバックアップするには、2 つのカスタムオブジェクトが必要です。
- まず、カスタムオブジェクトを作成し、CodeReady Workspaces を Amazon S3 を使用するように設定します。
- 次に、カスタムオブジェクトを作成し、CodeReady Workspaces インスタンスのバックアップスナップショットを設定済みの Amazon S3 に送信します。
8.3.1.1. Amazon S3 を使用するためのカスタムリソースでの CodeReady Workspaces の設定 リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces を Amazon S3 を使用するように設定するには、以下を実行します。
前提条件
- 設定済みの Amazon S3。「サポート対象の Restic 互換バックアップサーバー」 を参照してください。
手順
パスワード付きの
repo-password
キーを含むシークレットを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow (CodeReady Workspaces Operator は、CodeReady Workspaces Operator がバックアップサーバーのこのカスタムオブジェクトから作成するバックアップリポジトリーに対してこのパスワードを設定します。)
警告バックアップリポジトリーのパスワードは、バックアップデータの暗号化に使用されます。このパスワードを紛失すると、バックアップデータが失われます。
以下を含む Secret(例
: aws-user-credentials-secret
) を作成します。-
ユーザーの AWS アクセスキー ID を含む
awsAccessKeyId
キー -
ユーザーの AWS シークレットアクセスキーを含む
awsSecretAccessKey
キー
-
ユーザーの AWS アクセスキー ID を含む
CheBackupServerConfiguration
カスタムオブジェクトを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- セクションは 1 つだけ含める必要があります (
awss3
など)。 - 2
- 使用するプロトコルを指定する任意のプロパティーです。
https
はデフォルト値で、http
は使用可能な値です。 - 3
- S3 ホスト名を指定する任意のプロパティー。デフォルト値は
s3.amazonaws.com
です。 - 4
- バックアップサーバーが実行しているポートを指定する任意のプロパティー。デフォルト値は
443
です。 - 5
- バックアップスナップショットを格納するバケットリソースの名前。ここで設定する前に、バケットリソースを手動で作成する必要があります。
- 6
- 手順 1 で作成したシークレット。
- 7
- 手順 2 で作成したシークレット。
-
オプション:複数のバックアップサーバーを設定するには、各バックアップサーバーに個別の
CheBackupServerConfiguration
カスタムオブジェクトを作成します。
CodeReady Workspaces Operator は、すべての CodeReady Workspaces の更新前に CodeReady Workspaces インスタンスを自動的にバックアップし、必要な場合は以前の CodeReady Workspaces バージョンにロールバックできるようにします。バックアップサーバーを 1 つだけ設定すると、そのバックアップサーバーはデフォルトで更新前のバックアップに自動的に使用されます。複数のバックアップサーバーを設定する場合は、che.eclipse.org/backup-before-update: true
アノテーションを、それらの 1 つのみのカスタムオブジェクトに追加して、事前更新のバックアップのデフォルトバックアップサーバーとして指定する必要があります。(複数のバックアップサーバーのいずれかにこのアノテーションを追加しない場合や、複数のバックアップサーバーにこのアノテーションを追加する場合、CodeReady Workspaces Operator は更新前のバックアップ用に内部バックアップサーバーを使用するようにデフォルト設定されます。)
8.3.1.2. CheClusterBackup カスタムオブジェクトを使用した CodeReady Workspaces インスタンスの Amazon S3 へのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
CheClusterBackup
カスタムオブジェクトを使用して CodeReady Workspaces インスタンスのバックアップスナップショットを作成し、スナップショットを設定済みのバックアップサーバーに送信できます。それぞれのバックアップスナップショットを作成するためには、新規の CheClusterBackup
カスタムオブジェクトが必要です。つまり、すでに消費済みの CheClusterBackup
カスタムオブジェクトを編集しても、バックアップ時またはバックアップ後は効果がありません。
この手順では、ユーザーのワークスペースに保存されているソースコードはバックアップされません。ユーザーのワークスペースに保存されているソースコードをバックアップするには、永続ボリュームのバックアップを参照してください。
前提条件
- 設定済みのバックアップサーバー。「サポート対象の Restic 互換バックアップサーバー」 を参照してください。
-
作成済みの
CheBackupServerConfiguration
カスタムオブジェクト。本ガイドのこれまでの項を参照してください。
手順
CheClusterBackup
カスタムオブジェクトを作成して、バックアップスナップショットを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントCheClusterBackup
カスタムオブジェクトの名前
を再利用する場合は、まず同じ名前
の既存のカスタムオブジェクトを削除します。コマンドラインで削除するには、oc を使用します。oc delete CheClusterBackup <name> -n openshift-workspaces
$ oc delete CheClusterBackup <name> -n openshift-workspaces
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CheClusterBackup
カスタムオブジェクトのstatus
セクションを読み取り、バックアッププロセスを確認します。以下に例を示します。status: message: 'Backup is in progress. Start time: <timestamp>' stage: Collecting CodeReady Workspaces installation data state: InProgress
status: message: 'Backup is in progress. Start time: <timestamp>'
1 stage: Collecting CodeReady Workspaces installation data
2 state: InProgress
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow CodeReady Workspaces インスタンスは、
状態
がSucceeded
の場合にスナップショットでバックアップされます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow