Google Cloudとのデータ同期を設定する

最終更新日:

Pendoのデータ同期機能を使用すると、Pendoのデータ(Pendo Feedbackのデータを除く)をGoogle Cloud Storage(GCS)アカウントにエクスポートできます。この記事では、GCSのデータ同期の設定方法を説明します。

前提条件

  • データ同期は有料の機能です。この機能を利用するには、Pendoの担当者にお問い合わせください。
  • この作業においてクラウドストレージの保存先を設定するには、Pendoのサブスクリプション管理者であるか、データ同期の設定権限を持っている必要があります。
  • ユーザーには、GCSのstorage.objects.create、storage.objects.delete、storage.objects.update権限が必要です。

設定の概要

GCSとのデータ同期では、Pendo側での設定と、Google Cloud環境での構成が必要になります。具体的には、以下の手順で実施します。

  1. Google Cloud Platform(GCP)のサービスアカウントを作成します。
  2. サービスアカウント用のJSONキーファイルを生成します。
  3. GCSバケットを作成します。
  4. GCSバケットにGCPサービスアカウントへの権限を付与します。
  5. Pendoでプロバイダーを選択します。
  6. PendoにサービスアカウントキーとバケットURLを入力します。

ステップ1:GCPサービスアカウントを作成する

サービスアカウントをお持ちでない方は、Google Cloud環境でGoogle Cloud Platform(GCP)のサービスアカウントを作成する必要があります。

  1. Google Cloudコンソールで、[IAM と管理(IAM & Admin)]>[サービスアカウント(Service Accounts)]に移動し、[サービスアカウントを作成(Create service account)]を選択します。
  2. サービスアカウント名や説明など、サービスアカウントの詳細を入力します。
  3. 必要に応じて、サービスアカウントのアクセスレベルを選択します。
  4. [完了]を選択します。これにより、[IAMサービスアカウント(IAM Service Accounts)]ページにサービスアカウントと役割が作成されます。
  5. メール形式のサービスアカウント名をコピーします。この記事の ステップ4 で使用するため、保存しておいてください。

詳しい情報および手順については、Googleの サービス アカウント キーの作成と管理をご覧ください。

ステップ2:サービスアカウント用のJSONキーファイルを生成する

データ同期のためにサービスアカウントを新規に作成する場合でも、既存のものを利用する場合でも、Pendoのデータ同期の宛先に入力するJSONキーファイルは生成する必要があります。このキーの生成方法は次のとおりです。

  1. GCPで[IAM サービスアカウント(IAM Service Accounts)]ページに移動し、データ同期に使用するサービスアカウントを見つけます。
  2. [操作]列で、サービスアカウントの横にある縦並びの点をクリックし、 [鍵を管理]を選択します。
  3. [鍵を追加]ドロップダウンメニューから[新しい鍵を作成]を選択します。
  4. 鍵のタイプとして[JSON]を選択し、[作成]をクリックします。
  5. お使いのコンピューターにキーが保存されたことを伝えるメッセージが表示されます。このメッセージは閉じて構いません。

これで、キーがコンピューターにインストールされました。この記事のステップ6 で使用するため、キーは必ず保存してください。

ステップ3:GCSバケットを作成する

PendoからエクスポートされたデータはGCSバケットにコピーされます。GCSバケットは次の手順で作成します。

  1. Cloud Storageで[バケット(Buckets)]に移動し、ページの上部にある[+作成(+ CREATE)]を選択します。
  2. バケットにわかりやすい名前を付けます。
  3. Googleワークフローに従って、データの場所とストレージクラスを選択し、オブジェクトへのアクセスを制御する方法とオブジェクトデータを保護する方法を指定します。
  4. [作成]をクリックします。
  5. パブリックアクセスがブロックされていることを知らせるメッセージが生成されます。[確認]をクリックします。

その後、Google Cloudの空のバケットが開きます。

ステップ4:GCSバケットにサービスアカウントへのアクセス権を付与する

GCPのサービスアカウントをGCSバケットのメンバーにして、ストレージ管理者の権限をサービスアカウントに付与します。

  1. Cloud Storageのバケットでデータ同期用のバケットを見つけ、次のいずれかを実施します。
    • データ同期用のバケットを開き、上部の[権限]タブを選択し、[権限を付与]を選択します。
    • [バケット] ページでデータ同期用バケットの横にある縦並びの点を選択し、 [権限を編集]を選択します。
  2. [プリンシパルを追加(Add principal)]を選択し、この記事のステップ1でコピーしたサービスアカウント名を貼り付けて、バケットへのアクセスを許可します。
  3. [役割を選択(Select a role)]で、 [クラウドストレージ(Cloud Storage)]>[ストレージ管理者(Storage Admin)]の順に選択します。これにより、GCSリソースの完全なコントロールが可能になります。または、特定の要件(storage.objects.create、storage.objects.delete、storage.objects.update)で独自の役割を作成します。
  4. [保存]を選択し、サービスアカウントにデータ同期バケットへのストレージ管理者権限があることを確認します。

ステップ5:Pendoでプロバイダーを選択する

ストレージバケットにデータを送信する前に、Pendoでターゲットとなる送信先を設定する必要があります。

  1. Pendoで、[設定(Settings)]>[データ同期(Data Sync)]の順に進みます。
  2. [宛先に接続(Connect to destination)]を選択します。
  3. 右側にスライドアウトするパネルで[Google Cloud Storage]タイルにカーソルを合わせ、[保存先を選択(Choose destination)]を選択します。パネルには、次のステップがまとめられています。

ステップ6. PendoでGCSアカウントの宛先を設定する

最後に、サービスアカウントキーをアップロードし、バケットURLをPendoに設定します。

  1. バケットのURLを入力します。これは、[Google Cloud Storage]>[バケット(Buckets)]で作成されたデータ同期用バケットの構成(CONFIGURATION)タブにあります。概要(Overview )表の[gsutil URI]行にあるURLをコピーします。
  2. [JSONファイルをアップロード(Upload JSON file)]を選択し、本記事のステップ2で作成しダウンロードしたJSONキーファイルをアップロードします。
  3. サービスアカウントとシークレットキーを手動で入力する場合は、次の手順を実行します。
    • JSONキーファイルに対応するサービスアカウントのメール名を入力します。
    • サービスアカウントのJSONキーからprivate_keyの値を入力します。

      Example_Code.png
  4. [宛先を検証(Validate destination)]を選択し、入力した認証情報をテストします。検証結果はボタンの下に表示されます。検証に失敗した場合は、表示されたメッセージを確認するか、利用可能な場合は[エラーを表示(View error)]を選択し、宛先情報を修正してから再試行してください。
  5. 正常に認証されたら、[宛先を作成(Create Destination)]を選択します。

    DataSync_GCS_ConfigureDestination.png

認証情報をローテーションする

Pendoで宛先を構成した後に認証情報を更新するには、以下の2つの方法があります。

公開APIのエンドポイントを使用してデータ同期の認証情報を更新するには、書き込み権限のあるインテグレーションキーが必要です。

Pendo UIを使う

  1. Pendoで、[設定(Settings)]>[データ同期(Data Sync)]の順に進みます。
  2. 宛先が複数ある場合は、ページ上部でこの GCS の宛先を選択します。
  3. ページの右上にある[宛先を管理(Manage destination)]を選択します。
  4. 新しい認証情報を入力します。

公開APIを使う

  1. Pendoのインテグレーションキーの記事で説明されている手順に従って、新しいPendoインテグレーションキーを生成します。
  2. Pendoの公開API資料で、[データ同期]に移動します。
  3. クラウドストレージの宛先に対応するPUTエンドポイントを選択します。
  4. 公開APIのエンドポイントを使用してクラウドストレージの認証情報を更新する手順に従います。

クラウドストレージの宛先を更新する

クラウドストレージの宛先を、あるGCSバケットから別のバケットに移動したり、クラウドストレージサービスをMicrosoft AzureやAmazon S3などの別のプロバイダーに変更するオプションがあります。

GCSバケットを更新する

あるGCSバケットから別の既存のGCSバケットに変更する場合は、PendoでバケットURLを更新します。1つのサブスクリプションにつき、顧客所有のGCS宛先は1つしか設定できないため、2つ目を追加するのではなく、既存の宛先を更新してください。

  1. Pendoで、[設定(Settings)]>[データ同期(Data Sync)]の順に進みます。
  2. 宛先が複数ある場合は、ページ上部でこの GCS の宛先を選択します。
  3. ページの右上にある[宛先を管理(Manage destination)]を選択します。
  4. Bucket URLフィールドのエントリを、データ同期に使用する新しいGCSバケットの名前に置き換えます。
  5. [宛先を更新(Update destination)]を選択します。

クラウドストレージプロバイダーを変更する

GCSからAmazon S3、Microsoft Azure Storage、またはデータウェアハウスの宛先など、別の種類の宛先に移行するには、現在のGCSの宛先がまだ稼働している間に、新しい宛先を追加してください。最初にGCSの宛先を削除しないでください。

  1. 該当する宛先タイプの設定方法に関する記事の手順に従って、新しい宛先を設定してください。
  2. 新しい宛先に必要なエクスポートを作成してください。設定と定期エクスポートは、GCSの宛先からコピーされません。
  3. 新しい宛先にエクスポートが届いていることを確認します。
  4. 以下の方法でGCS宛先を削除します。
    1. Pendoで、[設定(Settings)]>[データ同期(Data Sync)]の順に進みます。
    2. ページ上部にあるこのGCSの宛先を選択します。
    3. ページの右上にある[宛先を管理(Manage destination)]を選択します。
    4. 宛先を削除(Delete destination)を選択します。
    5. 宛先を削除することを確定します。

宛先を削除すると、その宛先の定期的なエクスポートと継続的なメタデータの更新は自動的にオフになり、進行中のエクスポートはすべてキャンセルされます。その他の設定済み宛先は引き続き同期されます。

サブスクリプションごとに、各タイプの宛先を1つのみ設定できます。PendoがホストするGCSと顧客所有のGCSは、異なるタイプとして扱われます。PendoがホストするGCSに関する詳細については、Pendoのアカウントチームにお問い合わせください。

次のステップ

宛先が作成されたら、エクスポートを作成し、それらをロードするパイプラインを構築します。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています