CNAME(Canonical Name)は、Pendoの訪問者を独自ドメインのサブドメイン経由でルーティングするDNSレコードの一種です。具体的には、PendoはCNAMEマスカレードと呼ばれる手法を使用しています。Pendoのドメインはお客様のサブドメインを介して提供されるため、リクエストはサードパーティのドメインではなくお客様のドメインから送信されたように見えます。この記事では、CNAMEとは何か、いつ使用するか、セットアップを始める前に注意すべき点について説明します。
手順については「組織のCNAMEを設定する」をご覧ください。この記事では、セットアップの各段階を順を追って説明し、それぞれの考慮事項がいつ適用されるかを解説しています。
CNAMEの役割
Pendoをインストールすると、ユーザーデータとガイドコンテンツは、デフォルトのネットワークアドレスを使用してPendoのサーバーと自動的に送受信されます。CNAMEを使用することを選択した場合、そのトラフィックは管理するサブドメインを経由してルーティングされます。例えば、pendo.ioではなくproduct.example.comが使用されます。
セットアップ後、Pendoはアプリケーションに2つのホスト名を割り当てます。
- ガイドやアプリ内コンテンツを配信するコンテンツホスト
- ユーザーアナリティクスデータをPendoに送信するデータホスト
CNAMEを使用するタイミング
次のような場合は、CNAMEの使用を検討してください。
- PendoをPendoのデフォルトドメインではなく、独自のサブドメインで動作させたい。
- Pendoのデフォルトエンドポイントをブロックする広告ブロックソフトウェア、ファイアウォール、VPN、またはウェブフィルターを使用している訪問者に対してリーチする必要がある。
CNAMEが広告ブロッカーの動作に与える影響
広告ブロッカーは、ガイド配信のブロック、Pendoへのイベントデータの送信ブロック、Pendo Web SDKの読み込みの妨害という3つの方法でPendoの動作を妨害する可能性があります。CNAMEは、ガイドコンテンツやイベントデータのリクエストがPendoのドメインから直接ではなく、お客様のサブドメインから送信されたように見せることで、これに対処します。
| 広告ブロッカーがブロックする可能性があるもの | 重要な理由 | CNAMEを使用した場合 |
|---|---|---|
| ガイドの読み込み | 訪問者にはガイドが表示されない | ガイドはコンテンツホストのサブドメインから配信されているように見えるため、ほとんどの広告ブロッカーはそれらを許可します。 |
|
|
使用データは収集されない | イベントはサブドメインから発信されているように見えるため、ほとんどの広告ブロッカーはそれらを許可します。 |
| Pendo Web SDKの読み込み | Pendoはまったく起動できずガイドやデータは収集されない | インストールスクリプトのSDKソースURLをクライアントサブドメインに更新して、ほとんどの広告ブロッカーで読み込みを許可するようにします。お使いのシステムでTwilio Segmentを使用している場合、SDKを更新してもこの問題は解決しません。 |
CNAMEは、広告ブロッカーがガイドの配信やイベント収集を妨げる可能性を減らしますが、ユーザー分析がキャプチャされることを保証するものではありません。広告ブロッカーによっては、CNAMEの設定に関係なく、データの収集が妨げられる場合があります。
始めるために必要なもの
CNAMEの設定には技術的な専門知識が必要です。始める前にエンジニアリングチームにご相談ください。
-
企業ドメイン上の専用ホスト名。例えば、
product.example.com。このホスト名をPendoのサーバーに向けるDNS CNAMEレコードを作成する必要があります。エンジニアリングチームと協力してこの設定を進めてください。 - デフォルトでは、PendoがCNAMEサブドメインに対してSSL証明書を生成・管理します。ユーザー側での対応は必要ありません。ただし、組織によっては、セキュリティチームが独自のSSL証明書の提供を要求する場合があります。その場合は、Pendoのサポートチームにご連絡いただき、手続きを開始してください。
セキュリティチームがカスタム証明書を必要とする場合: 以下のテンプレートを使用してSAN(サブジェクト代替名)ファイルを作成し、それをPendoと共有します。Pendoは、この情報を使用して、お客様に代わってCSR(証明書署名要求)を生成し、お客様に返送します。次に、CSRを使用してCA(認証局)から証明書を取得します。証明書と中間チェーンはプレーンテキストのメールで共有可能です。なお、Pendoは展開後に秘密鍵を削除するため、今後の証明書更新のために新しい鍵を提供する必要があります。以下のテンプレートを使用して、[ dn ]セクションに必要な情報を記入してください。
テンプレート
[ req ]
default_bits = 2048
prompt = no
encrypt_key = no
default_md = sha256
distinguished_name = dn
req_extensions = req_ext
[ dn ]
commonName = Common Name (server FQDN; data.product.example.com)
organizationName = Organization Name (eg, company)
localityName = Locality Name (eg, city)
stateOrProvinceName = State or Province Name (full name)
countryName = Country Name (2 letter code)
organizationalUnitName = Organizational Unit Name (eg, section)
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = data.product.example.com
DNS.2 = content.product.example.comセットアップに関する考慮事項
CNAMEを設定する前に実行すべきこと
CSP(コンテンツセキュリティポリシー)設定を更新する必要があります。アプリケーションがCSPを使用している場合は、CNAMEへの移行時およびセットアップ完了後にCSPディレクティブを更新する必要があります。これは、アプリにCNAMEを割り当てる前に行う必要があります。詳細については、コンテンツセキュリティポリシー(CSP)を参照してください。
CNAMEプロセス中に実行すべきこと
セットアップを完了する前に、CAA(認証局認証)レコードを追加する必要があります。ドメインでCAAレコードを使用している場合は、CNAME設定プロセスの一環として、必要なCAAレコードをサブドメインに追加する必要があります。CNAMEの設定後にこれらを追加すると、マネージド証明書の更新時に問題が発生し、Pendoの機能が損なわれる可能性があります。
CNAMEを設定した後に実行すべきこと
インストールスクリプトを更新してください。CNAMEが設定されると、Pendoはサンプルインストールスクリプトを新しいコンテンツホストに合わせて更新します。次に、この更新されたスクリプトをコピーし、アプリケーション内で既存のインストールスクリプトが表示されている箇所すべてで、そのスクリプトを置き換える必要があります。この操作を行っても、既存のcdn.pendo.ioエンドポイントは引き続き動作するため、移行中にデータが失われることはありません。
公開されたガイドは再保存する必要があります。CNAMEが有効になったら、公開済みの各ガイドを再保存して、コンテンツが新しいコンテンツホストから配信されるようにする必要があります。CNAMEが割り当てられた後に公開されたガイドは、自動的に新しいコンテンツホストを使用します。新しいCNAMEを追加する前に公開されたガイドのみ、手動で再保存する必要があります。
Twilio Segmentユーザーは、CNAMEの設定が完了したら、コンテンツホストを更新する必要があります。CNAMEは、SegmentのPendo Web (Actions) 宛先を使用してPendoがインストールされている場合にのみサポートされます。従来のPendo宛先はCNAMEをサポートしていません。アクション宛先を使用している場合は、Pendoでセットアップが完了したという確認を受け取った後にのみ、宛先設定にCNAMEコンテンツホストを追加してください。セットアップが完了する前にこの値を更新すると、Pendoのデータ収集が中断されます。Pendo Web (Actions) へのインストールまたは移行の詳細については、Twilio SegmentによるPendoのインストールをご参照ください。
アプリケーションのドメインを変更する場合
ドメイン変更には新しいCNAME設定が必要です。すでにCNAMEを使用していて、アプリケーションのドメインが変更される場合は、新しいCNAMEを設定してPendoのアプリケーションに割り当てる必要があります。既存のCNAMEを更新して新しいドメインを反映させることはできません。
現在使用しているドメインと新しいドメインが同時にアクティブな場合は、新しいCNAMEレコードを事前に設定しておき、切り替えの準備ができたときに割り当てることができます。切り替えが完了するまでは元のDNSレコードをそのままにしておき、CSPルールが両方のドメインに対応していることを確認してください。新しいCNAMEに切り替えてすべてのガイドを再公開したら、CSPルールから以前のドメイン参照を削除できます。
詳細については、組織のCNAMEを設定するを参照してください。
Pendoモバイルは別途設定する必要があります
CNAMEの設定が完了したら、AndroidとiOSそれぞれに対応したプラットフォーム固有の設定も行う必要があります。詳細については、組織のCNAMEを設定するを参照してください。