8.3. CodeReady Workspaces インスタンスの Amazon S3 へのバックアップ


CodeReady Workspaces インスタンスのバックアップは、カスタムリソースまたは crwctl で Amazon S3(または S3 API と互換性のあるストレージ) に送信できます。

カスタムリソースを使用して 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 を使用するように設定するには、以下を実行します。

前提条件

手順

  1. パスワード付きのrepo-passwordキーを含むシークレットを作成します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: backup-encryption-password-secret
      namespace: eclipse-che
    type: Opaque
    stringData:
      repo-password: <password>
    Copy to Clipboard Toggle word wrap

    (CodeReady Workspaces Operator は、CodeReady Workspaces Operator がバックアップサーバーのこのカスタムオブジェクトから作成するバックアップリポジトリーに対してこのパスワードを設定します。)

    警告

    バックアップリポジトリーのパスワードは、バックアップデータの暗号化に使用されます。このパスワードを紛失すると、バックアップデータが失われます。

  2. 以下を含む Secret(例 : aws-user-credentials-secret) を作成します。

    • ユーザーの AWS アクセスキー ID を含む awsAccessKeyId キー
    • ユーザーの AWS シークレットアクセスキーを含む awsSecretAccessKey キー
  3. CheBackupServerConfiguration カスタムオブジェクトを作成します。

    apiVersion: org.eclipse.che/v1
    kind: CheBackupServerConfiguration
    metadata:
      name: backup-server-configuration
      namespace: openshift-workspaces
    spec: 
    1
    
      awss3:
        protocol: https 
    2
    
        hostname: s3.amazonaws.com 
    3
    
        port: 443 
    4
    
        repositoryPath: red-hat-codeready-workspaces-backups 
    5
    
        repositoryPasswordSecretRef: backup-encryption-password-secret 
    6
    
        awsAccessKeySecretRef: aws-user-credentials-secret 
    7
    Copy to Clipboard Toggle word wrap
    1
    セクションは 1 つだけ含める必要があります (awss3など)。
    2
    使用するプロトコルを指定する任意のプロパティーです。https はデフォルト値で、http は使用可能な値です。
    3
    S3 ホスト名を指定する任意のプロパティー。デフォルト値は s3.amazonaws.com です。
    4
    バックアップサーバーが実行しているポートを指定する任意のプロパティー。デフォルト値は 443 です。
    5
    バックアップスナップショットを格納するバケットリソースの名前。ここで設定する前に、バケットリソースを手動で作成する必要があります。
    6
    手順 1 で作成したシークレット。
    7
    手順 2 で作成したシークレット。
  4. オプション:複数のバックアップサーバーを設定するには、各バックアップサーバーに個別の CheBackupServerConfiguration カスタムオブジェクトを作成します。
重要

CodeReady Workspaces Operator は、すべての CodeReady Workspaces の更新前に CodeReady Workspaces インスタンスを自動的にバックアップし、必要な場合は以前の CodeReady Workspaces バージョンにロールバックできるようにします。バックアップサーバーを 1 つだけ設定すると、そのバックアップサーバーはデフォルトで更新前のバックアップに自動的に使用されます。複数のバックアップサーバーを設定する場合は、che.eclipse.org/backup-before-update: true アノテーションを、それらの 1 つのみのカスタムオブジェクトに追加して、事前更新のバックアップのデフォルトバックアップサーバーとして指定する必要があります。(複数のバックアップサーバーのいずれかにこのアノテーションを追加しない場合や、複数のバックアップサーバーにこのアノテーションを追加する場合、CodeReady Workspaces Operator は更新前のバックアップ用に内部バックアップサーバーを使用するようにデフォルト設定されます。)

CheClusterBackup カスタムオブジェクトを使用して CodeReady Workspaces インスタンスのバックアップスナップショットを作成し、スナップショットを設定済みのバックアップサーバーに送信できます。それぞれのバックアップスナップショットを作成するためには、新規の CheClusterBackup カスタムオブジェクトが必要です。つまり、すでに消費済みの CheClusterBackup カスタムオブジェクトを編集しても、バックアップ時またはバックアップ後は効果がありません。

警告

この手順では、ユーザーのワークスペースに保存されているソースコードはバックアップされません。ユーザーのワークスペースに保存されているソースコードをバックアップするには、永続ボリュームのバックアップを参照してください。

前提条件

手順

  1. CheClusterBackup カスタムオブジェクトを作成して、バックアップスナップショットを作成します。

    apiVersion: org.eclipse.che/v1
    kind: CheClusterBackup
    metadata:
      name: red-hat-codeready-workspaces-backup
      namespace: openshift-workspaces
    spec:
      backupServerConfigRef: backup-server-configuration 
    1
    
      useInternalBackupServer: false 
    2
    Copy to Clipboard Toggle word wrap
    1
    使用するバックアップサーバーを定義する CheBackupServerConfiguration オブジェクトの名前。
    2
    CodeReady Workspaces が管理する内部バックアップサーバーまたは管理者が管理する外部バックアップサーバー (SFTP、Amazon S3 または S3 API 互換ストレージ、または REST) を使用するように、このカスタムリソースを使用して Operator を設定します。
    ヒント

    CheClusterBackup カスタムオブジェクトの 名前 を再利用する場合は、まず同じ 名前 の既存のカスタムオブジェクトを削除します。コマンドラインで削除するには、oc を使用します。

    $ oc delete CheClusterBackup <name> -n openshift-workspaces
    Copy to Clipboard Toggle word wrap
  2. CheClusterBackup カスタムオブジェクトの status セクションを読み取り、バックアッププロセスを確認します。以下に例を示します。

    status:
      message: 'Backup is in progress. Start time: <timestamp>' 
    1
    
      stage: Collecting CodeReady Workspaces installation data 
    2
    
      state: InProgress 
    3
    Copy to Clipboard Toggle word wrap
    1
    バックアッププロセスの最新状態の概要。
    2
    現段階のバックアッププロセス (人間が判読できる形式)。
    3
    バックアッププロセスの状態。InProgress または Succeeded または Failed

    CodeReady Workspaces インスタンスは、状態Succeeded の場合にスナップショットでバックアップされます。

    status:
      ...
      message: >-
        Backup successfully finished at 2021-12-03 10:07:51.151090621 +0000 UTC
        m=+999.553272281 
    1
    
      snapshotId: 9f0adce2 
    2
    
      state: Succeeded 
    3
    Copy to Clipboard Toggle word wrap
    1
    バックアッププロセスの最新状態の概要。
    2
    作成されたバックアップスナップショットの ID。このフィールドは、stateSucceeded の場合にのみ表示されます。
    3
    バックアッププロセスの状態。Succeeded (または Failed).
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat