AEM as a Cloud Service のメンテナンスタスク maintenance-tasks-in-aem-as-a-cloud-service

メンテナンスタスクとは、リポジトリを最適化するためにスケジュールに従って実行されるプロセスです。AEM as a Cloud Service を使用すると、顧客がメンテナンスタスクの運用プロパティを設定する必要が最小限になります。顧客は、インフラストラクチャの運用をアドビに任せて、リソースをアプリケーションレベルの懸念事項に集中させることができます。

メンテナンスタスクの設定 maintenance-tasks-configuring

以前のバージョンの AEM では、メンテナンスカード(ツール/操作/メンテナンス)を使用してメンテナンスタスクを設定できました。AEM as a Cloud Service を使用する場合、メンテナンスカードは使用できなくなったので、Cloud Manager を使用して設定をソース管理にコミットし、デプロイする必要があります。顧客側で行えない設定を含むメンテナンスタスク(データストアのガベージコレクションなど)はアドビが管理します。その他のメンテナンスタスクは顧客側で設定できます(下表を参照)。

CAUTION
アドビは、パフォーマンスの低下などの問題を軽減するために、顧客のメンテナンスタスク設定を上書きする権利を保留します。

次の表に、使用可能なメンテナンスタスクを示します。

メンテナンスタスク
設定の所有者
設定方法(オプション)
データストアのガベージコレクション
アドビ
該当なし - アドビが完全所有
バージョンのパージ
顧客
バージョンのパージは現在、デフォルトで無効になっていますが、バージョンのパージと監査ログのパージのメンテナンスタスクの節の説明に従うことで、ポリシーを設定できます。

パージはすぐにデフォルトで有効になり、これらの値は上書き可能になります。
監査ログのパージ
顧客
監査ログののパージは現在、デフォルトで無効になっていますが、バージョンのパージと監査ログのパージのメンテナンスタスクの節の説明に従うことで、ポリシーを設定できます。

パージはすぐにデフォルトで有効になり、これらの値は上書き可能になります。
Lucene バイナリクリーンアップ
アドビ
未使用で、アドビによって無効にされています。
アドホックタスクの削除
顧客

Git で行う必要があります。フォルダー /apps/settings/granite/operations/maintenance/granite_weeklygranite_daily または granite_monthly の下でプロパティを作成することで、/libs 内にある標準のメンテナンスウィンドウ設定ノードを上書きします。

詳細な設定については、以下の「メンテナンスウィンドウ」の表を参照してください。上記のノードの下に別のノードを追加して、メンテナンスタスクを有効にします。 属性 sling:resourceTypegranite/operations/components/maintenance/task に設定し、属性 granite.maintenance.nameTaskPurge に設定して、granite_TaskPurgeTask という名前を付けます。OSGi プロパティを設定します。プロパティのリストについては com.adobe.granite.taskmanagement.impl.purge.TaskPurgeMaintenanceTask を参照してください。

ワークフローのパージ
顧客

Git で行う必要があります。フォルダー /apps/settings/granite/operations/maintenance/granite_weeklygranite_daily または granite_monthly の下でプロパティを作成することで、/libs の下にある標準のメンテナンスウィンドウ設定ノードを上書きします。詳細な設定については、以下の「メンテナンスウィンドウ」の表を参照してください。

上記のノードの下に別のノードを追加し(granite_WorkflowPurgeTask という名前を付けて)、適切なプロパティを追加して、メンテナンスタスクを有効にします。OSGi プロパティの設定については、AEM 6.5 メンテナンスタスクのドキュメントを参照してください。

プロジェクトのパージ
顧客

Git で行う必要があります。フォルダー /apps/settings/granite/operations/maintenance/granite_weeklygranite_daily または granite_monthly の下でプロパティを作成することで、/libs の下にある標準のメンテナンスウィンドウ設定ノードを上書きします。詳細な設定については、以下の「メンテナンスウィンドウ」の表を参照してください。

上記のノードの下に別のノードを追加し(granite_ProjectPurgeTask という名前を付けて)、適切なプロパティを追加して、メンテナンスタスクを有効にします。「アドビプロジェクトのパージ設定」の OSGI プロパティの一覧を参照してください。

メンテナンスウィンドウの設定
設定の所有者
設定の種類
パラメーター
毎日
顧客
JCR ノード定義

windowSchedule=daily(この値は変更しないでください)

windowStartTime=HH:MM(24 時間形式)日次メンテナンスウィンドウに関連付けられたメンテナンスタスクの実行を開始するタイミングを定義します。

windowEndTime=HH:MM(24 時間形式)日次メンテナンスウィンドウに関連付けられたメンテナンスタスクがまだ完了していない場合に、その実行を停止するタイミングを定義します。

この期間中は、メンテナンスタスクを複数回実行することはできません。

毎週
顧客
JCR ノード定義

windowSchedule=weekly(この値は変更しないでください)

windowStartTime=HH:MM(24 時間形式)週次メンテナンスウィンドウに関連付けられたメンテナンスタスクの実行を開始するタイミングを定義します。

windowEndTime=HH:MM(24 時間形式)週次メンテナンスウィンドウに関連付けられたメンテナンスタスクがまだ完了していない場合に、その実行を停止するタイミングを定義します。

この期間中は、メンテナンスタスクを複数回実行することはできません。

windowScheduleWeekdays= 1 から 7 までの 2 つの値の配列(例:[5,5]) 配列の最初の値はジョブがスケジュールされる開始日で、2 番目の値はジョブが停止される終了日です。開始と終了の正確な時刻は、それぞれ windowStartTime と windowEndTime で管理されます。

毎月
顧客
JCR ノード定義

windowSchedule=monthly(この値は変更しないでください)

windowStartTime=HH:MM(24 時間形式)月次メンテナンスウィンドウに関連付けられたメンテナンスタスクの実行をいつ開始するかを定義します。

windowEndTime=HH:MM(24 時間形式)月次メンテナンスウィンドウに関連付けられたメンテナンスタスクがまだ完了していない場合に、その実行を停止するタイミングを定義します。

この期間中は、メンテナンスタスクを複数回実行することはできません。

windowScheduleWeekdays= 1 から 7 までの 2 つの値の配列(例:[5,5]) 配列の最初の値はジョブがスケジュールされる開始日で、2 番目の値はジョブが停止される終了日です。開始と終了の正確な時刻は、それぞれ windowStartTime と windowEndTime で管理されます。

windowFirstLastStartDay = 0 または 1 0(月の最初の週にスケジュールを設定)、1(月の最後の週にスケジュールを設定)。値を指定しない場合は、毎月 windowScheduleWeekdays の規定に従って、効果的にジョブを毎日スケジュールします。

ロケーション:

  • 日単位 - /apps/settings/granite/operations/maintenance/granite_daily
  • 週単位 - /apps/settings/granite/operations/maintenance/granite_weekly
  • 月単位 - /apps/settings/granite/operations/maintenance/granite_monthly

コードサンプル

コードサンプル 1(日単位)

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
  xmlns:jcr="http://www.jcp.org/jcr/1.0"
  jcr:primaryType="sling:Folder"
  sling:configCollectionInherit="true"
  sling:configPropertyInherit="true"
  windowSchedule="daily"
  windowStartTime="03:00"
  windowEndTime="05:00"
 />

コードサンプル 2(週単位)

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
   xmlns:jcr="http://www.jcp.org/jcr/1.0"
   jcr:primaryType="sling:Folder"
   sling:configCollectionInherit="true"
   sling:configPropertyInherit="true"
   windowEndTime="15:30"
   windowSchedule="weekly"
   windowScheduleWeekdays="[5,5]"
   windowStartTime="14:30"/>

コードサンプル 3(月単位)

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
   xmlns:jcr="http://www.jcp.org/jcr/1.0"
   jcr:primaryType="sling:Folder"
   sling:configCollectionInherit="true"
   sling:configPropertyInherit="true"
   windowEndTime="15:30"
   windowSchedule="monthly"
   windowFirstLastStartDay=0
   windowScheduleWeekdays="[5,5]"
   windowStartTime="14:30"/>

バージョンパージと監査ログパージのメンテナンスタスク purge-tasks

バージョンと監査ログをパージすると、リポジトリのサイズが小さくなり、シナリオによってはパフォーマンスが向上する場合があります。

NOTE
AEM Guides のお客様は、バージョンパージを設定しないでください。

デフォルト defaults

現在、デフォルトではパージが有効になっていませんが、今後変更される予定です。
デフォルトのパージが有効になる前に作成された環境では、予期せずパージが行われないように、より保守的なしきい値が設定されます。デフォルトのパージポリシーについて詳しくは、以下のバージョンパージおよび監査ログパージの節を参照してください。

デフォルトのパージ値は、以下で説明するように、設定ファイルを宣言してデプロイすることで上書きできます。

設定の適用 configure-purge

次の手順に従って、設定ファイルを宣言し、デプロイします。

NOTE
設定ファイルにバージョンのパージノードをデプロイしたら、それを削除せずに宣言したままにしておく必要があります。設定パイプラインを実行しようとすると、失敗します。
同様に、設定ファイルに監査ログのパージノードをデプロイしたら、それを削除せずに宣言したままにする必要があります。

1 - Git のプロジェクトの最上位フォルダーに次のフォルダーとファイル構造を作成します。

config/
     mt.yaml

2 - 設定ファイルで次のプロパティを宣言します。

  • 値が「MaintenanceTasks」の「kind」プロパティ。
  • 「version」プロパティ(現在バージョン 1)。
  • プロパティ envTypes を含むオプションの「metadata」オブジェクトと、この設定が有効な環境タイプ(開発、ステージ、実稼動)のコンマ区切りリスト。メタデータオブジェクトが宣言されていない場合、設定はすべての環境タイプに対して有効です。
  • versionPurgeauditLogPurge オブジェクトの両方を含むデータオブジェクト。

以下の versionPurgeauditLogPurge オブジェクトの定義と構文を参照してください。

次の例のように設定を構築する必要があります。

kind: "MaintenanceTasks"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  versionPurge:
    maximumVersions: 15
    maximumAgeDays: 20
    paths: ["/content"]
    minimumVersions: 1
    retainLabelledVersions: false
  auditLogPurge:
    rules:
      - replication:
          maximumAgeDays: 15
          contentPath: "/content"
          types: ["Activate", "Deactivate", "Delete", "Test", "Reverse", "Internal Poll"]
      - pages:
          maximumAgeDays: 15
          contentPath: "/content"
          types: ["PageCreated", "PageModified", "PageMoved", "PageDeleted", "VersionCreated", "PageRestored", "PageValid", "PageInvalid"]
      - dam:
          maximumAgeDays: 15
          contentPath: "/content"
          types: ["ASSET_EXPIRING", "METADATA_UPDATED", "ASSET_EXPIRED", "ASSET_REMOVED", "RESTORED", "ASSET_MOVED", "ASSET_VIEWED", "PROJECT_VIEWED", "PUBLISHED_EXTERNAL", "COLLECTION_VIEWED", "VERSIONED", "ADDED_COMMENT", "RENDITION_UPDATED", "ACCEPTED", "DOWNLOADED", "SUBASSET_UPDATED", "SUBASSET_REMOVED", "ASSET_CREATED", "ASSET_SHARED", "RENDITION_REMOVED", "ASSET_PUBLISHED", "ORIGINAL_UPDATED", "RENDITION_DOWNLOADED", "REJECTED"]

設定を有効にするには、次の点に注意してください。

  • すべてのプロパティを定義する必要があります。デフォルトは継承されません。
  • 以下のプロパティテーブルのタイプ(整数、文字列、ブール値など)を考慮する必要があります。
NOTE
yq を使用すると、設定ファイル(例:yq mt.yaml)の YAML 形式をローカルで検証できます。

3 - 実稼動以外の設定パイプラインと実稼動設定パイプラインを設定します。

迅速な開発環境(RDE)では、パージはサポートされていません。実稼動(非サンドボックス)プログラムの他の環境タイプの場合は、Cloud Manager でターゲットデプロイメント設定パイプラインを作成します。

詳しくは、実稼動パイプラインの設定および実稼動以外のパイプラインの設定を参照してください。

バージョンのパージ version-purge

NOTE
AEM Guides のお客様は、バージョンパージを設定しないでください。

バージョンパージのデフォルト version-purge-defaults

現在、デフォルトではパージが有効になっていませんが、今後変更される予定です。

デフォルトのパージが有効になった後に作成した環境には、次のデフォルト値が設定されます。

  • 30 日より古いバージョンは削除されます。
  • 過去 30 日間で最新 5 つのバージョンが保持されます。
  • 上記のルールに関係なく、(現在のファイルに加えて)最新バージョンが保持されます。

デフォルトのパージが有効になる前に作成した環境には、以下に示すデフォルト値が設定されますが、パフォーマンスを最適化するために、これらの値を小さくすることをお勧めします。

  • 7 年より古いバージョンは削除されます。
  • 過去 7 年間のすべてのバージョンが保持されます。
  • 7 年後、最新バージョン以外のバージョン(現在のファイルに加えて)が削除されます。

バージョンパージのプロパティ version-purge-properties

許可されるプロパティを以下に示します。

デフォルト ​を示す列は、デフォルトが適用される今後のデフォルト値を示します。未定 ​は、まだ決定されていない環境 ID を反映します。

プロパティ
TBD 以降の環境の今後のデフォルト
TBD 以前の環境の今後のデフォルト
必須
タイプ
パス
[「/content」]
[「/content」]
はい
文字列の配列
新しいバージョンが作成された際にバージョンをパージする、パスを指定します。お客様はこのプロパティを宣言する必要がありますが、使用できる値は「/content」のみです。
maximumAgeDays
30
2557(7 年 + 2 日のうるう日)
はい
整数
設定した値より古いバージョンは、すべて削除されます。この値が 0 の場合、バージョンの経過期間に基づいたパージは実行されません。
maximumVersions
5
0(制限なし)
はい
整数
n 番目に新しいバージョンより古いバージョンは、すべて削除されます。この値が 0 の場合、バージョンの数に基づいたパージは実行されません。
minimumVersions
1
1
はい
整数
期間にかかわらず保持するバージョン数の最小数。1 つ以上のバージョンが常に保持されます。値は 1 以上にする必要があります。
retainLabeledVersioned
false
false
はい
ブール値
明示的にラベル付けされたバージョンをパージから除外するかどうかを決定します。リポジトリの最適化を向上させるには、この値を false に設定することをお勧めします。

プロパティのインタラクション

次の例は、プロパティを組み合わせた場合の操作を示しています。

例:

maximumAgeDays = 30
maximumVersions = 10
minimumVersions = 2

23 日目に 11 個のバージョンがある場合、maximumVersions プロパティが 10 に設定されているので、次にパージメンテナンスタスクを実行する際には最も古いバージョンがパージされます。

31 日目に 5 個のバージョンがある場合、minimumVersions プロパティが 2 に設定されているので、パージされるのは 3 個だけです。

例:

maximumAgeDays = 30
maximumVersions = 0
minimumVersions = 1

maximumVersions プロパティが 0 に設定されているので、30 日より新しいバージョンはパージされません。

30 日より古いバージョンが 1 つ保持されます。

監査ログのパージ audit-purge

監査ログのパージのデフォルト audit-purge-defaults

現在、デフォルトではパージが有効になっていませんが、今後変更される予定です。

デフォルトのパージが有効になった後に作成した環境には、次のデフォルト値が設定されます。

  • 7 日より古いレプリケーション、DAM、ページの監査ログは削除されます。
  • 考えられるすべてのイベントがログに記録されます。

デフォルトのパージが有効になる前に作成した環境には、以下に示すデフォルト値が設定されますが、パフォーマンスを最適化するために、これらの値を小さくすることをお勧めします。

  • 7 年より古いレプリケーション、DAM 、ページの監査ログは削除されます。
  • 考えられるすべてのイベントがログに記録されます。
NOTE
編集不可能な監査ログを作成し、専門の外部サービスと統合するという規制要件があるお客様にお勧めします。

監査ログのパージのプロパティ audit-purge-properties

許可されるプロパティを以下に示します。

デフォルト ​を示す列は、デフォルトが適用される今後のデフォルト値を示します。未定 ​は、まだ決定されていない環境 ID を反映します。

プロパティ
TBD 以降の環境の今後のデフォルト
TBD 以前の環境の今後のデフォルト
必須
タイプ
ルール
-
-
はい
オブジェクト
レプリケーション、ページ、DAM の 1 つ以上のノード。これらの各ノードは、以下のプロパティでルールを定義します。すべてのプロパティを宣言する必要があります。
maximumAgeDays
7 日
すべて、2557(7 年 + 2 日のうるう日)
はい
整数
レプリケーション、ページ、DAM のいずれかの場合:監査ログが保持される日数。設定された値より古い監査ログはパージされます。
contentPath
「/content」
「/content」
はい
文字列
関連するタイプについて、監査ログがパージされるパス。「/content」に設定する必要があります。
types
すべての値
すべての値
はい
列挙の配列
レプリケーション ​の場合、列挙値は次のとおりです:Activate、Deactivate、Delete、Test、Reverse、Internal Poll。ページ ​の場合、列挙値は次のとおりです:PageCreated、PageModified、PageMoved、PageDeleted、VersionCreated、PageRestored、PageRolled Out、PageValid、PageInvalid。DAM の場合、列挙値は次のとおりです:ASSET_EXPIRING、METADATA_UPDATED、ASSET_EXPIRED、ASSET_REMOVED、RESTORED、ASSET_MOVED、ASSET_VIEWED、PROJECT_VIEWED、PUBLISHED_EXTERNAL、COLLECTION_VIEWED、VERSIONED、ADDED_COMMENT、RENDITION_UPDATED、ACCEPTED、DOWNLOADED、SUBASSET_UPDATED、SUBASSET_REMOVED、ASSET_CREATED、ASSET_SHARED、RENDITION_REMOVED、ASSET_PUBLISHED、ORIGINAL_UPDATED、RENDITION_DOWNLOADED、REJECTED。
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab