CNE GCP Ready: Configuring the Cloud Native Experience
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

CNE GCP対応:増分バックアップとリストア

Cloud Native Experience (CNE) GCP Readyは、Argo Workflows、Cloud SQLバックアップ、およびCloud Storageを使用した自動バックアップと復元をサポートします。 バックアップはデフォルトでは無効になっており、ご使用の環境に合わせて設定する必要があります。

増分バックアップを有効にする

infrastructure.yaml ファイルでバックアップ設定を構成します。

backup:
  enabled: true
  region: ""
  retentionDays: 30
  storageClass: NEARLINE
  schedule: "0 5 * * *"
  cleanup:
    schedule: "0 2 * * *"
値Description
backup.enabledtrue に設定するとバックアップが有効になります。
backup.regionバックアップ保管庫バケット用のクラウドストレージリージョン。 空の値を指定すると、環境領域が継承されます。
backup.retentionDaysクリーンアップ前にバックアップが保持される日数。
backup.storageClassバックアップ保管庫バケット用のクラウドストレージクラス。
backup.schedule自動バックアップ作成のためのcron式。
backup.cleanup.schedule自動バックアップクリーンアップのためのCron式。

バックアップには以下が含まれます

  • Cloud SQLデータベースのスナップショット
  • ドキュメントライブラリバケットデータ

バックアップデータは、専用のクラウドストレージ保管庫バケットに保存されます。

設定を確認してください。

kubectl get liferayinfrastructure -n <namespace> \
   -o jsonpath='{.items[0].spec.backup}{"\n"}'

kubectl get cronworkflow -n <namespace>

自動バックアップ作成

自動バックアップは backup.schedule に従って実行されます。 デフォルトでは、バックアップは毎日実行されます。

Argo CDが構成を同期した後、環境にはスケジュールされたバックアップおよびクリーンアップのワークフローが含まれます。

スケジュールされたワークフローの一覧を表示するには:

kubectl get cronworkflow -n <namespace>

スケジューラによって作成されたバックアップの一覧を表示するには:

kubectl get liferaybackup -n <namespace>

手動バックアップ作成

Argoワークフローテンプレートを使用すれば、必要に応じてバックアップを作成することもできます。

バックアップワークフローを送信します。

argo submit \
   --from clusterworkflowtemplate/backup-create-cluster-workflow-template \
   -n <namespace> \
   --watch

ワークフローが完了したら、バックアップを確認します。

kubectl get liferaybackup -n <namespace>

増分バックアップの復元

警告

復元操作では、アクティブな環境データを選択したバックアップデータに置き換えます。 リストアが正常に完了すると、以前のデータプレーンは削除されます。

復元を開始する前に、以下の前提条件を確認してください。

  • 少なくとも1つの正常なバックアップが存在することを確認してください。

  • 対象環境が正常であることを確認してください。

バックアップが正常に完了したことを確認します。

kubectl get liferaybackup <backup-name> -n <namespace> \
   -o jsonpath='{.status.conditions[?(@.type=="Succeeded")]}'

Argoワークフローへのアクセス

Argo Workflowsサーバーは、デフォルトでは公開エンドポイントを提供しません。

  1. ポートフォワーディングを有効にする:

    kubectl port-forward \
       -n argo-workflows-system \
       svc/argo-workflows-server \
       2746:2746
    
  2. ブラウザで次のアドレスを開いてください。

    https://localhost:2746
    

リストアを実行する

バックアップ名を使用して復元ワークフローを送信します。

argo submit \
   --from clusterworkflowtemplate/backup-restore-cluster-workflow-template \
   -n <namespace> \
   -p liferay-backup-name=<backup-name> \
   --watch

例:

argo submit \
   --from clusterworkflowtemplate/backup-restore-cluster-workflow-template \
   -n liferay-project-dev \
   -p liferay-backup-name=liferay-backup-xkprh \
   --watch

別の名前空間のバックアップから復元する:

argo submit \
   --from clusterworkflowtemplate/backup-restore-cluster-workflow-template \
   -n liferay-project-staging \
   -p liferay-backup-name=liferay-backup-xkprh \
   -p liferay-backup-namespace=liferay-project-prod \
   --watch

リストア処理中、プラットフォームは新しい非アクティブなデータプレーンをプロビジョニングし、そこにバックアップをリストアし、トラフィックをリストアされた環境に切り替え、完了後に以前のアクティブなデータプレーンを削除します。

リストアが完了する前に失敗した場合、ワークフローは自動的に以前のアクティブなデータプレーンにロールバックします。

オプションの設定復元

デフォルトの復元設定は、追加の設定なしで機能します。

復元動作をカスタマイズするには、 liferay/system/infrastructure-provider.yaml を編集します。

例:

liferay-subchart-backup-restore:
  liferayInfrastructure:
    waitTimeoutSeconds: 7200

バックアップおよびリストアワークフローの監視

復元状況とワークフローリソースを監視する:

argo watch -n <namespace> @latest

kubectl get workflows -n <namespace>

kubectl get liferaybackup -n <namespace>

kubectl get liferayinfrastructure -n <namespace> -w \
   -o jsonpath='{.items[0].spec.restorePhase}{"\n"}'

自動クリーンアップは、 backup.retentionDays および backup.cleanup.schedule に従って期限切れのバックアップを削除します。