- オーサー環境からパブリッシュ環境へコンテンツを公開(アクティベート)
- Dispatcher キャッシュからコンテンツを明示的にフラッシュ
- ユーザー入力(フォーム入力など)をパブリッシュ環境からオーサー環境(オーサー環境の制御下)に戻す。
要求は適切なエージェントに登録され、処理を待機します。
注意:
ユーザーデータ(ユーザー、ユーザーグループおよびユーザープロファイル)は、オーサーインスタンスとパブリッシュインスタンスの間でレプリケートされません。
パブリッシュインスタンスが複数ある場合は、ユーザーの同期が有効化されたときにユーザーデータが Sling 分配されます。
パブリッシュインスタンスまたは Dispatcher へのレプリケーションは、いくつかの段階を踏んで実行されます。
- 作成者が特定のコンテンツの公開(アクティベート)を要求します。これは、手動の要求または設定済みの自動トリガーによって開始できます。
- デフォルトの適切なレプリケーションエージェントに要求が渡されます。このようなアクションのために選択されるデフォルトエージェントを、1 つの環境にいくつか用意することができます。
- レプリケーションエージェントがコンテンツを「パッケージ化」して、レプリケーションキューに配置します。
- 「Web サイト」タブで、個々のページに対して色付きのステータスインジケーターが設定されます。
- 設定されたプロトコル(通常は HTTP)を使用して、コンテンツがキューから取り出されて、パブリッシュ環境に移されます。
- パブリッシュ環境内のサーブレットが要求を受信し、受信したコンテンツを公開します。デフォルトのサーブレットは http://localhost:4503/bin/receive です。
- 複数のオーサー環境とパブリッシュ環境を設定できます。

一部の機能は、ユーザーに対してパブリッシュインスタンス上でのデータ入力を許可します。
状況によっては、このデータをオーサー環境に返してそこから別のパブリッシュ環境へ再分配するために、リバースレプリケーションという種類のレプリケーションが必要になることがあります。セキュリティ上の問題を考慮し、パブリッシュ環境からオーサー環境へのトラフィックは厳密に制御する必要があります。
リバースレプリケーションでは、オーサー環境を参照するパブリッシュ環境内のエージェントを使用します。このエージェントが、データをアウトボックスに配置します。このアウトボックスは、オーサー環境のレプリケーションリスナーに対応付けられています。リスナーはアウトボックスをポーリングして、入力されているすべてのデータを収集し、必要に応じて配布します。これにより、オーサー環境がすべてのトラフィックを確実に制御できるようになります。
その他の場合、例えばフォーラム、ブログ、コメント、レビューなどのコミュニティ機能では、パブリッシュ環境に入力されるユーザー生成コンテンツ(UGC)の量が多いので、AEM インスタンス間の効率的な同期をレプリケーションで実現することは難しくなります。
AEM Communities では、UGC にレプリケーションを使用しません。その代わりに、Communities のデプロイメントでは UGC 用の共通ストアが必要になります(コミュニティコンテンツのストレージを参照)。
AEM の標準インストールに含まれている Geometrixx Web サイトを使用して、レプリケーションの仕組みを見ていきましょう。
この例に従ってデフォルトのレプリケーションエージェントを使用するには、次の環境を使用して AEM をインストールする必要があります。
- オーサー環境(ポート 4502)
- パブリッシュ環境(ポート 4503)
注意:
以下はデフォルトで有効になっています。
- 作成者のエージェント:デフォルトエージェント(publish)
事実上、以下はデフォルトで無効になっています(AEM 6.1 以降)。
- オーサー環境のエージェント:リバースレプリケーションエージェント(publish_reverse)
- パブリッシュ環境のエージェント:リバースレプリケーション(outbox)
エージェントまたはキューのステータスを確認するには、ツールコンソールを使用します。
レプリケーションエージェントの監視を参照してください。
このレプリケーションは、次のエージェントによってオーサー環境から実行されます。
- デフォルトエージェント(publish)
このエージェントは、デフォルトのパブリッシュインスタンスにコンテンツをレプリケーションします。
この設定およびログの詳細には、オーサー環境のツールコンソールまたは次の URL からアクセスできます。
http://localhost:4502/etc/replication/agents.author/publish.html
次に示すエージェントは標準の AEM インストールで使用できます。
- デフォルトエージェント
オーサー環境からパブリッシュ環境へのレプリケーションに使用します。 - Dispatcher フラッシュ
Dispatcher キャッシュの管理に使用します。詳しくは、オーサリング環境からの Dispatcher キャッシュの無効化およびパブリッシュインスタンスからの Dispatcher キャッシュの無効化を参照してください。 - リバースレプリケーション
パブリッシュ環境からオーサー環境へのレプリケーションに使用します。リバースレプリケーションは、フォーラム、ブログ、コメントなどのコミュニティ機能には使用されません。アウトボックスが有効化されていないので、事実上、この機能は無効になっています。リバースレプリケーションを使用するには、カスタム設定が必要になります。 - 静的エージェント
これは、「ノードの静的な表現をファイルシステムに格納するエージェント」です。
例えば、デフォルト設定では、コンテンツページと DAM アセットが /tmp に HTML または適切なアセット形式として格納されます。設定については、「設定」タブと「ルール」タブを参照してください。
これは、ページがアプリケーションサーバーから直接要求される場合に、コンテンツを確認できるようにするためのエージェントです。これは特殊なエージェントであり、(おそらく)ほとんどのインスタンスでは必要ありません。
-
エージェントユーザー ID
環境に応じて、エージェントはこのユーザーアカウントを使用して次の処理をおこないます。
- オーサー環境からのコンテンツの収集とパッケージ化
- パブリッシュ環境でのコンテンツの作成と書き込み
システムユーザーアカウント(sling で管理者ユーザーとして定義したアカウント。デフォルトでは、admin です)を使用するには、このフィールドを空白のままにします。
警告:
オーサー環境におけるエージェントの場合、このアカウントには、レプリケーションしたすべてのパスに対する読み取りアクセス権が必要です。
警告:
パブリッシュ環境におけるエージェントの場合、このアカウントでコンテンツをレプリケーションするには、作成/書き込みアクセス権が必要です。
注意:
これは、レプリケーション用の特定のコンテンツを選択するためのメカニズムとして使用できます。
-
このオプションを選択すると、Dispatcher へのエイリアスまたはバニティーパスの無効化要求が有効になります。Dispatcher フラッシュエージェントの設定も参照してください。
-
URI
ターゲットの場所にある受信側のサーブレットを指定します。具体的には、ホスト名(またはエイリアス)とターゲットインスタンスのコンテキストパスを指定できます。
次に例を示します。
- デフォルトエージェントによるレプリケーション先:http://localhost:4503/bin/receive
- Dispatcher フラッシュエージェントによるレプリケーション先:http://localhost:8000/dispatcher/invalidate.cache
ここで指定するプロトコル(HTTP または HTTPS)によってトランスポート方法が決まります。
Dispatcher フラッシュエージェントの場合、「URI」プロパティは、パスに基づく virtualhost エントリを使用してファームを区別する場合にのみ使用されます。このフィールドを使用して、無効にするファームをターゲット設定します。例えば、ファーム #1 に www.mysite.com/path1/* の仮想ホストがあり、ファーム #2 に www.mysite.com/path2/* の仮想ホストがあるとします。この場合、/path1/invalidate.cache の URL を使用して最初のファームをターゲット設定し、/path2/invalidate.cache を使用して 2 つ目のファームをターゲット設定できます。
-
HTTP ヘッダー
Dispatcher フラッシュエージェントで使用されます。フラッシュする必要のある要素を指定します。
Dispatcher フラッシュエージェントの場合、次の 3 つの標準エントリを変更する必要はありません。
- CQ-Action:{action}
- CQ-Handle:{path}
- CQ-Path:{path}
必要に応じてこれらを使用して、ハンドルまたはパスのフラッシュ時に使用するアクションを指定します。サブパラメーターは動的です。
- {action} はレプリケーションアクションを示します。
- {path} はパスを示します。
これらは、要求に関連するパスまたはアクションで置き換えられるので、ハードコーディングする必要はありません。
注意:
推奨されるデフォルトのコンテキスト以外のコンテキストに AEM をインストールした場合は、「HTTP ヘッダー」にそのコンテキストを登録する必要があります。次に例を示します。
CQ-Handle:/<yourContext>{path}
MSSL を使用してレプリケーションエージェントをパブリッシュインスタンスに接続する方法については、相互 SSL を使用したレプリケーションを参照してください。
オーサー環境の「ツール」タブから、オーサー環境(作成者のエージェント)またはパブリッシュ環境(発行のエージェント)にあるレプリケーションエージェントを設定できます。次の手順は、オーサー環境用のエージェントの設定方法を示していますが、どちらの環境にも使用できます。
注意:
Dispatcher がオーサーインスタンスまたはパブリッシュインスタンスの HTTP 要求を処理する場合は、レプリケーションエージェントからの HTTP 要求に PATH ヘッダーが含まれている必要があります。次の手順に加えて、クライアントヘッダーの Dispatcher のリストに PATH ヘッダーを追加する必要があります(/clientheaders(クライアントヘッダー)に関するページを参照してください)。
-
デフォルトのインストールに適した値を指定する必要があります。値を変更したら、「OK」をクリックして値を保存します(個々のパラメーターについて詳しくは、レプリケーションエージェント - 設定パラメーターを参照してください)。
注意:
AEM の標準インストールでは、admin をデフォルトのレプリケーションエージェント内のトランスポート資格情報のユーザーとして指定します。
このユーザーを、必要なパスをレプリケーションする権限を持つ、サイト固有のレプリケーションのユーザーアカウントに変更する必要があります。
リバースレプリケーションは、パブリッシュインスタンスで生成されたユーザーコンテンツをオーサーインスタンスに戻すために使用されます。この機能は、通常はアンケート調査や登録フォームなどで使用されます。
ほとんどのネットワークトポロジは、セキュリティ上の理由により、「非武装地帯(DMZ)」(インターネットなどの信頼できないネットワークに外部サービスを公開するサブネットワーク)からの接続を許可しません。
通常、パブリッシュ環境は DMZ にあるので、コンテンツをオーサー環境に戻すには、オーサーインスタンスから接続を開始する必要があります。そのためには、次のものを使用します。
- コンテンツが配置されているパブリッシュ環境のアウトボックス
- 新しいコンテンツ用のアウトボックスを定期的にポーリングする、オーサー環境のエージェント(publish)
注意:
AEM Communities では、パブリッシュインスタンス上のユーザー生成コンテンツにレプリケーションを使用しません。コミュニティコンテンツのストレージを参照してください。
オーサー環境のリバースレプリケーションエージェント
パブリッシュ環境のアウトボックスから情報を収集するアクティブなコンポーネントとして機能します。
リバースレプリケーションを使用する場合は、このエージェントをアクティベートします。

パブリッシュ環境のリバースレプリケーションエージェント(アウトボックス)
「アウトボックス」として機能する受動的な要素です。ユーザーの入力はここに配置されます。オーサー環境では、ここからエージェントが入力を収集します。

注意:
コンテンツのみがレプリケートされます。ユーザーデータ(ユーザー、ユーザーグループ、ユーザープロファイル)はレプリケートされません。
複数のパブリッシュインスタンス間でユーザーデータを同期させるには、ユーザーの同期を有効化します。
-
「編集」をクリックします。エージェントの設定ダイアログが開きます。「シリアル化の種類」には既に「デフォルト」が定義されているので、そのままにしてください。
- 「設定」タブで、次のように設定します。
- 「有効」をアクティブにします。
- 「説明」を入力します。
- 「再試行遅延」を 60000 に設定します。
- 「シリアル化の種類」は「デフォルト」のままにします。
- 「トランスポート」タブで、次のように設定します。
- 新しいパブリッシュインスタンスに必要な URI を入力します。次に例を示します。
http://localhost:4504/bin/receive - レプリケーションに使用する、サイト固有のユーザーアカウントを入力します。
- 必要に応じて、その他のパラメーターを設定できます。
- 新しいパブリッシュインスタンスに必要な URI を入力します。次に例を示します。
- 「設定」タブで、次のように設定します。
次に、オーサー環境でページを更新および公開して操作をテストできます。
更新された内容は、前述の手順で設定したすべてのパブリッシュインスタンスに表示されます。
問題が発生した場合は、オーサーインスタンスでログを確認できます。必要な詳細レベルに応じて、前述のエージェントの設定ダイアログを使用して、「ログレベル」を「デバッグ」に設定することもできます。
注意:
この設定を「エージェントユーザー ID」と一緒に使用すると、個々のパブリッシュ環境にレプリケーションする別のコンテンツを選択できます。それぞれのパブリッシュ環境に対して、次の手順を実行します。
- パブリッシュ環境へのレプリケーション用のレプリケーションエージェントを設定します。
- 特定のパブリッシュ環境にレプリケーションされるコンテンツを読み取るために必要なアクセス権を持つユーザーアカウントを設定します。
- そのユーザーアカウントをレプリケーションエージェントの「エージェントユーザー ID」として割り当てます。
-
「編集」をクリックします。エージェントの設定ダイアログが開きます。
- 「設定」タブで、次のように設定します。
- 「有効」をアクティブにします。
- 「説明」を入力します。
- 「シリアル化の種類」は「Dispatcher フラッシュ」のままにするか、または新しいエージェントを作成する場合に同様の設定をおこないます。
- (オプション)「エイリアスの更新」を選択して、Dispatcher に対するエイリアスまたはバニティーパスの無効化要求を有効にします。
- 「トランスポート」タブで、次のように設定します。
- 新しいパブリッシュインスタンスに必要な URI を入力します。次に例を示します。
http://localhost:80/dispatcher/invalidate.cache - レプリケーションに使用する、サイト固有のユーザーアカウントを入力します。
- 必要に応じて、その他のパラメーターを設定できます。
- 新しいパブリッシュインスタンスに必要な URI を入力します。次に例を示します。
Dispatcher フラッシュエージェントの場合、「URI」プロパティは、パスに基づく virtualhost エントリを使用してファームを区別する場合にのみ使用されます。このフィールドを使用して、無効にするファームをターゲット設定します。例えば、ファーム #1 に www.mysite.com/path1/* の仮想ホストがあり、ファーム #2 に www.mysite.com/path2/* の仮想ホストがあるとします。この場合、/path1/invalidate.cache の URL を使用して最初のファームをターゲット設定し、/path2/invalidate.cache を使用して 2 つ目のファームをターゲット設定できます。
注意:
推奨されるデフォルトのコンテキスト以外のコンテキストに AEM をインストールした場合は、「拡張」タブで HTTP ヘッダーを設定する必要があります。
- 「設定」タブで、次のように設定します。
Dispatcher フラッシュレプリケーションエージェントは、オーサーではアクティブではありません。同等の URI(例:http://localhost:4503/etc/replication/agents.publish/flush.html)を使用すると、パブリッシュ環境で同じページにアクセスできます。
注意:
このような権限の設定は、例えば Web サイトコンソールやサイドキックのオプションからコンテンツをレプリケーションするユーザーには影響を及ぼしません。レプリケーションフレームワークでは、ページのレプリケーション時に、現在のユーザーの「ユーザーセッション」を使用してレプリケーションエージェントにアクセスしません。
CRXDE Lite を使用して、レプリケーションエージェントの様々なパラメーターを設定できます。
/etc/replication に移動すると、次の 3 つのノードがあります。
- agents.author
- agents.publish
- treeactivation
2 つの agents は、適切な環境に関する設定情報を保持し、その環境が実行中の場合にのみアクティブになります。例えば、agents.publish はパブリッシュ環境でのみ使用されます。次のスクリーンショットは、AEM WCM に付属の、オーサー環境におけるパブリッシュエージェントを示しています。

-
ここでは、以下のことができます。
- エージェントが有効かどうかを確認。
- レプリケーションのターゲットを確認。
- レプリケーションキューが現在アクティブ(有効)かどうかを確認。
- キュー内に項目が含まれているかどうかを確認。
- 更新または消去して、キューエントリの表示を更新。これは、キューに出入りする項目の確認に役立ちます。
- ログを表示して、レプリケーションエージェントによるアクションのログにアクセス。
- ターゲットインスタンスへの接続をテスト。
- 必要に応じて、任意のキュー項目で強制的に再試行。
警告:
パブリッシュインスタンスのリバースレプリケーションアウトボックスには、「接続をテスト」リンクは使用しないでください。
アウトボックスクエリー用にレプリケーションテストが実行されると、リバースレプリケーションのたびに、テストレプリケーションより古い項目がすべて再処理されます。
そのような項目がキュー内に既に存在する場合は、次の XPath JCR クエリーを使用して検索し、削除する必要があります。
/jcr:root/var/replication/outbox//*[@cq:repActionType='TEST']
アドビでは、追加情報として、レプリケーションに関連する一連のナレッジベースの記事を提供しています。
http://helpx.adobe.com/experience-manager/kb/ReplicationSiblingReordering.html
http://helpx.adobe.com/experience-manager/kb/ReplicationFailureAfterNewIP.html
http://helpx.adobe.com/experience-manager/kb/LimitAccessToReplicationAgents.html
http://helpx.adobe.com/experience-manager/kb/PagePermissionsNotReplicatedWithUser.html
http://helpx.adobe.com/experience-manager/kb/HowToUseReverseReplication.html
http://helpx.adobe.com/experience-manager/kb/CQ5ReplicateToSpecificAgents.html
http://helpx.adobe.com/experience-manager/kb/ReplicationListener.html
http://helpx.adobe.com/experience-manager/kb/replication-stuck.html
http://helpx.adobe.com/experience-manager/kb/replication-privileges-missing-after-upgrade-to-cq-5-5.html
http://helpx.adobe.com/experience-manager/kb/CQ53UnableToCreateJobQueueDueToMaxQueues.html
http://helpx.adobe.com/experience-manager/kb/ACLReplication.html
http://helpx.adobe.com/experience-manager/kb/content-grow-due-reverse-replication.html
http://helpx.adobe.com/experience-manager/kb/ReplicationAgentUsingAnonUser.html
http://helpx.adobe.com/experience-manager/kb/ReplicationFailureAfterNewIP.html
http://helpx.adobe.com/experience-manager/kb/LimitAccessToReplicationAgents.html
http://helpx.adobe.com/experience-manager/kb/PagePermissionsNotReplicatedWithUser.html
http://helpx.adobe.com/experience-manager/kb/HowToUseReverseReplication.html
http://helpx.adobe.com/experience-manager/kb/CQ5ReplicateToSpecificAgents.html
http://helpx.adobe.com/experience-manager/kb/ReplicationListener.html
http://helpx.adobe.com/experience-manager/kb/replication-stuck.html
http://helpx.adobe.com/experience-manager/kb/replication-privileges-missing-after-upgrade-to-cq-5-5.html
http://helpx.adobe.com/experience-manager/kb/CQ53UnableToCreateJobQueueDueToMaxQueues.html
http://helpx.adobe.com/experience-manager/kb/ACLReplication.html
http://helpx.adobe.com/experience-manager/kb/content-grow-due-reverse-replication.html
http://helpx.adobe.com/experience-manager/kb/ReplicationAgentUsingAnonUser.html