第10章 カスタムリソースを使用した 3scale のバックアップおよび復元


本章では、APIManager カスタムリソース (CR) を使用してデプロイされた Red Hat 3scale API Management インストールのバックアップおよび復元機能について説明します。ここでは、CRD は 3scale operator によって提供されます。

operator 機能からのカスタムリソースは、3scale インストールの一部ではありません。このため、3scale インストールのバックアップおよび復元機能の一部としてカスタムリソースは含まれません。

前提条件

  • 3scale インストール環境

以降のセクションでは、operator を使用して 3scale のバックアップおよび復元を行う手順を説明します。

10.1. operator を使用した 3scale のバックアップ

以下のセクションでは、APIManager カスタムリソース (CR) によってデプロイされた 3scale インストールのバックアップに必要な情報および手順を説明します。

10.1.1. バックアップの可能なシナリオ

バックアップが可能な 3scale インストール設定については、以下のセクションを参照してください。

前提条件

  • 3scale 外部データベースのバックアップ

    • backend-redis
    • system-redis
    • system-database
    • Zync (オプション)
  • PVC がバックアップデータを保管するのに十分な容量のプロビジョニング
注記

APIManager で 3scale をデプロイする場合、Amazon S3 をシステムの FileStorage として使用することはできません。

外部データベースの詳細は、外部データベースのインストール を参照してください。

10.1.2. バックアップシナリオのスコープ

バックアップ機能は、以下のデータベースが外部で設定されている場合に利用できます。

  • バックエンド Redis データベース
  • システム Redis データベース
  • システムデータベース: MySQL または PostgreSQL
  • Zync データベース (オプション)

10.1.3. バックアップされるデータ

以下の表は、バックアップされるデータのリストを示しています。

Expand
表10.1 バックアップされるデータ
オブジェクトObject-type データ

Secret

  • system-smtp
  • system-seed
  • backend-internal-api
  • backend-listener
  • system-events-hook
  • system-app
  • system-recaptcha
  • zync
  • system-master-apicast
  • system-memcache
  • system-database
  • backend-redis
  • system-redis

ConfigMaps

  • system-environment
  • apicast-environment

APIManager

APIManager CR Kubernetes オブジェクト定義: json スキーマ定義

System FileStorage

System FileStorage の場所が PersistentVolumeClaim (PVC) にある場合

10.1.4. 3scale のバックアップ

既存の APIManager を使用してデプロイされた 3scale インストールのバックアップを作成するには、以下の手順に従います。

手順

  1. 以下の Kubernetes Secret のバックアップを作成します。

    • backend-redis
    • system-redis
    • system-database
    • Zync (オプション)
  2. 例 1 に示すように、APIManager オブジェクトで管理される 3scale インストールがデプロイされるのと同じ namespace に、APIManagerBackup CR を作成します。

    例 1

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManagerBackup
      metadata:
       name: example-apimanagerbackup-pvc
      spec:
        backupDestination:
          persistentVolumeClaim:
            resources:
              requests: "10Gi"
    Copy to Clipboard Toggle word wrap

    例 2 は、既存の PersistentVolume 名を提供します。

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManagerBackup
      metadata:
       name: example-apimanagerbackup-pvc
      spec:
        backupDestination:
          persistentVolumeClaim:
            # resources specification is required but ignored when providing a volumeName as per K8s PVCs requirements behavior
            resources:
              requests: "10Gi"
            volumeName: "my-preexisting-persistent-volume"
    Copy to Clipboard Toggle word wrap

  3. APIManagerBackup が終了するまで待ちます。APIManagerBackup の内容を取得し、.status.completed フィールドが true に設定されるまで待機して、これを確認します。

バックアップの内容の詳細は、バックアップされるデータ を参照してください。

APIManagerBackup のステータスセクションのその他のフィールドは、設定されたバックアップ先が PVC の場合にデータがバックアップされている PVC の名前など、バックアップの詳細が表示されます。

後で参照するために、status.backupPersistentVolumeClaimName フィールドの値を書き留めておきます。APIManagerRestoreAPIManager インストールを復元する場合、必要なフィールドの 1 つは PersistentVolumeClaimName バックアップソースです。

10.1.5. 3scale カスタムリソースのバックアップ

OpenShift 管理者アカウント外の CR のコピーがない場合は、以下のコマンドを使用して 3scale プロジェクト CR のバックアップを作成します。

  • 3scale プロジェクトから ActiveDocs CR をエクスポートするには、以下のコマンドを入力します。

    oc get activedocs.capabilities.3scale.net -o yaml > activedocs.yaml
    Copy to Clipboard Toggle word wrap
  • 3scale プロジェクトからバックエンド CR をエクスポートするには、以下のコマンドを入力します。

    oc get backend.capabilities.3scale.net -o yaml > backend.yaml
    Copy to Clipboard Toggle word wrap
  • 以下のコマンドを入力し、3scale プロジェクトから CustomPolicyDefinition CR をエクスポートします。

    oc get custompolicydefinition.capabilities.3scale.net -o yaml > custompolicydefinition.yaml
    Copy to Clipboard Toggle word wrap
  • 以下のコマンドを入力し、3scale プロジェクトから DeveloperAccount CR をエクスポートします。

    oc get developeraccount.capabilities.3scale.net -o yaml > developeraccount.yaml
    Copy to Clipboard Toggle word wrap
  • 以下のコマンドを入力し、3scale プロジェクトから DeveloperUser CR をエクスポートします。

    oc get developeruser.capabilities.3scale.net -o yaml > developeruser.yaml
    Copy to Clipboard Toggle word wrap
  • 3scale プロジェクトから OpenAPI CR をエクスポートするには、以下のコマンドを入力します。

    oc get openapi.capabilities.3scale.net -o yaml > openapi.yaml
    Copy to Clipboard Toggle word wrap
  • 3scale プロジェクトからプロダクト CR をエクスポートするには、以下のコマンドを入力します。

    oc get product.capabilities.3scale.net -o yaml > product.yaml
    Copy to Clipboard Toggle word wrap
  • 3scale プロジェクトからテナント CR をエクスポートするには、以下のコマンドを入力します。

    oc get tenant.capabilities.3scale.net -o yaml > tenant.yaml
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat