Amazon Web Services ブログ
Amazon Marketing Cloud Uploader from AWS – より深い顧客インサイトを得るためのソリューション (Part 1)
消費者の購買行動が大きく変化する中で、消費財業界にとって e コマースを活用したマーケティングは e コマースでの販売最大化に留まらず、ブランドコミュニケーションやオフラインも含めた商品の販売最大化を考える上で、欠かせないマーケティング手法になっています。多くの消費財企業がより「データドリブン」になるための投資しており、顧客体験や広告最適化(ROAS)などいろいろなメトリクスを可視化してマーケティング戦略に活用しています。
Amazon Marketing Cloud とは
2023 年の CES (Consumer Electronics Show)で Amazon はブランドのマーケティング戦略の強化とビジネスの成長に役立つ新しいインサイトやトレンド、プロダクトを紹介しました。その一つに Amazon Marketing Cloud(以下、AMC)があります。AMC はAmazon Advertising の提供するアドテックソリューションで、プライバシーが守られた安全なクラウドベースのクリーンルームを提供します。Amazon Ads を利用する広告主の皆様がこのソリューションを利用して、Amazon Adsの広告経由で発生したインプレッションやクリックなどのイベント毎のデータを容易に分析できます。
AMC の活用を促進する AWSソリューション
以前のブログ「Amazon Marketing Cloud Insights on AWS – Amazon Ads のパフォーマンスを可視化するソリューション (Part 1) (Part 2)」では、Amazon Adsでキャンペーンを実施している広告主や代理店の皆さまが AMC を使ったレポートの保存やクエリ実行、分析、可視化を行うための AWS サービス群を簡単に導入するためのソリューション、Amazon Marketing Cloud Insights on AWS(以下、AMC Insights)についてご紹介しました。
AMC Insights に加えて 2023 年 1 月には、お客様の持つファーストパーティーデータを AMC にアップロードし、AMC で提供されるデータと掛け合わせて分析するために必要となるデータの加工やハッシュ化の仕組みを自動化する Amazon Marketing Cloud Uploader from AWS (以下、AMC Uploader)がリリースされたことをご案内しました。AMC Uploader 経由でファーストパーティーデータを AMC インスタンスにアップロードした後、AMC Insights を使って実用的なインサイトを獲得するなど、これら 2 つのソリューションを組み合わせることで、構築作業を軽減して AMC ワークフローの合理化を実現し、広告主の皆さまが Amazon Ads キャンペーンの効果を測定し、顧客をより深く理解できるようになります。
このブログでは AMC Uploader を実際にデプロイするための設定方法やデモなど、より実装に関わる内容をご紹介します。
AWS ソリューションとは
AWS ソリューションとは、AWS ソリューションライブラリで AWS が公開しているナレッジで、多くのお客様に必要とされるビジネスユースケース毎にまとめられた、AWS のベストプラクティスに則ったシステム設計と構築のガイドです。
AWS ソリューションについて、また小売・消費財業界で活用できる AWS ソリューションについて AWS ソリューションライブラリをご確認ください。
AWS ソリューションライブラリのトップベージでは業界別、テクノロジー別などにソリューションを検索することができます。
AMC Uploader の概要
AMC を利用されているお客様は、お客様の保有する顧客シグナルデータなどのファーストパーティーデータを、AMC の提供する AMC Data Upload 機能を使うことで AMC に取り込むことができます。この機能を使ってデータを AMC に取り込むためには、AMC Data Upload 機能の仕様に沿ってデータを準備する必要があります。この仕様には、暗号化、正規化、分割(パーティショニング)、転送が含まれますが、このデータ準備の工程は一つの「差別化につながらない重労働」です。AMC Uploader を使うことで、お客様はこの工程に数週間の IT リソースを費やすことなく、数時間でアップロードワークフローを構築できます。
AMC Uploader によりデプロイされる環境は AWS サーバーレスサービスのみで構成されるため、サーバーの起動停止や保守といった運用が必要ありません。AMC インスタンスと、AWS アカウントとがあればご利用いただくことが可能です。利用できるリージョンは執筆時点ではバージニア北部、アイルランドの 2 リージョンになっています。
AMC Uploader は、2023 年 1 月に初版(v1.0.0)がリリースされ、4 月に v2.0.0 がリリースされました。v2.0.0 では AMC の新機能に対応したバージョンアップが行われていますので、ぜひ v2.0.0 をご利用ください。
Note
v.1.0.0 から v2.0.0 へのアップグレードがサポートされていないため、既に v1.0.0 をデプロイされていたお客様はお手数ですが一度 AWS CloudFormation スタックを削除した上で v2.0.0 のデプロイを実行してください。
AMC Uploader のアーキテクチャ
アーキテクチャ図
このソリューションのアーキテクチャ概要については、リリースのブログでも紹介しましたが、v2.0.0 のリリースに伴いアップデートされている箇所もあるため改めて解説します。また、実装ガイド(2023 年 7 月時点では英語のみ)の中でもアーキテクチャについて詳細に解説しています。ご興味のある方はそちらもご一読ください。
- ファーストパーティデータを指定の Amazon Simple Storage Service(S3) バケットにアップロードする。あるいは AWS Clean Rooms を利用している場合、そのデータを S3 バケットにエクスポートする。この際、AWS Key Management Service(KMS)を利用しデータの暗号化・復号化を行うことも可能
- 提供される Web アプリケーションにログインする。ユーザー管理や認証は、Amazon Cognito を利用している。Web アプリケーション内で、アップロードする CSV ファイルあるいは、JSON ファイルを選択し、そのファイル内の列情報を AMC 互換のスキーマにどのようにマッピングするか定義する
- ユーザーはコンテンツ配信ネットワーク(CDN)サービスである Amazon CloudFront を介し、Web アプリケーションにアクセスする。Web アプリケーションの静的コンテンツは S3 に配置されており、Amazon API Gateway や AWS Lambda を利用してリソースへのアクセス処理などを行う
- AMC インスタンスの情報などシステム設定内容は、Amazon DynamoDB に保存される
- アップロード要求を実行すると、AMC にデータセット定義が作成される
また、ユーザーが指定したファイルがロードされ、AWS Glue による ETL 処理(データの正規化やハッシュ化などの加工処理)が開始される。Glue ジョブによる変換済みデータは AMC 互換フォーマットで S3 バケットに出力される - このイベントをトリガーに AMC に対しアップロードのリクエストが起動される
- リクエストを受けたAMC は非同期で S3 バケットから変換済みデータを取得し、アップロードを実行する
ソリューションのデプロイ
はじめに、デプロイの前提条件は以下になります。
AMC インスタンス
AMC UI にアクセスし、「Instance info」ページの「Additional info」から確認できる、以下の情報が必要です:
- Connected AWS account ID
- API endpoint
- Data upload AWS account ID
AMC UI ページ
AMC UI 「Instance info」ページの「Additional info」の例
AWS アカウント
上記の [Connected AWS account ID] に登録された AWS アカウントです。
ソリューションのデプロイにより、 Amazon S3 バケット、AWS Identity and Access Management(IAM) ロールをはじめとする各種リソースが CloudFormation テンプレートを使って作成されます。このため CloudFormation テンプレートをデプロイするための管理者アクセス権を持つユーザーでの操作が必要になります。
デプロイ手順
ソリューションの紹介ページの [AWS コンソールで起動する] をクリックすることで、直接 AWS コンソールを起動し、デプロイを開始することができます。
同じくソリューションの紹介ページから CloudFormation のテンプレートを入手できますので、ご自分で内容を確認し、カスタマイズしてからご自分の AWS アカウントのマネジメントコンソールにアップロードしてご利用いただくことも可能です。このテンプレートや、テンプレートによりデプロイされるソースコードなどすべてのリソースは GitHub リポジトリで公開されています。
ここではソリューションの紹介ベージから起動した場合の手順に沿って説明します。なおこの手順は執筆時点(2023 年 7 月時点)での手順になっています。デプロイを実行される場合には、必ず最新の実装ガイドをご確認ください。
[AWS コンソールで起動する] をクリックすると、CloudFormation のスタック作成ウィザードが開始されます。AWS アカウントにログインしていない場合は、ここで必要な権限を持つ IAM ユーザーで AWS アカウントにログインしてください。ソリューションのテンプレートが自動的に指定されますので、そのまま [次へ] で進みます。
スタックの詳細を指定する画面に移ります。スタック名は以下のサンプルでは「amc-uploader」としていますが、任意の名前で結構です。このテンプレートでは、5つのパラメータを指定する必要があります。
- AdminEmail
ソリューションには AMC にアップロードするデータの情報を指定するための Web アプリケーションが含まれます。このアプリケーションの管理者ユーザーとなるメールアドレスを指定します。(管理者以外のユーザーはソリューションデプロイ後に登録可能です)
- AmcEndpointUrl
AMC API のエンドポイント URL を指定します。この情報は、AMC のインスタンス情報で確認することができます。
- CustomerManagedKey
この項目は任意指定です。データ加工およびクエリにおいてデータファイルの暗号化および復号化が必要な場合に使用するカスタマーキー(Customer Managed Key; CMK)の ARN を指定します。CMK の詳細についてはこちらを参照ください。
- DataBucketName
AMC にアップロードするファーストパーティーデータ、顧客シグナルデータの存在する S3 バケットの名前を指定します。この S3 バケットはソリューションによって作成されませんので予め作成しておく必要があります。既にデータの存在する S3 バケットがあればそれを指定しても構いません。
- DataUploadAccountId
AMC が利用するデータアップロード用の AWS アカウント ID を指定します。この情報は、AMC のインスタンス情報で確認することができます。
以下はスタック詳細指定の画面のサンプルです。
[次へ] で、スタックオプションの設定画面に進みます。特に要件がなければデフォルトのままで問題ありません。
[次へ] で、設定内容のレビュー画面に進みます。入力内容を確認してください。また下部に表示されるメッセージを確認し、チェックボックスをチェックしてください。
[送信] でスタックの作成が開始されます。デプロイの所要時間は 10〜15 分ほどです。
デプロイの状況はマネジメントコンソールから確認することができます。デプロイが完了すると、スタックのステータスが「CREATE_COMPLETE」になります。最後にスタックの [出力] タブに表示される「UserInterface」の URL を確認してください。デプロイされたWeb アプリケーションにアクセスするための URL となります。
Web アプリのユーザー管理
ソリューションデプロイ時に管理者ユーザーを作成しますが、それ以外のユーザーを作成し、AMC Uploader の Web アプリを利用できるようにすることができます。ユーザー認証の仕組みについては GitHub レポジトリで解説されていますので、ここではユーザーを追加する手順についてだけ簡単に紹介しておきます。
このソリューションでは、ユーザー認証に Amazon Cognito を使用しており、ユーザーの追加も Cognito の管理画面で行います。
AWS マネジメントコンソールから、Cognito のコンソールを開きます。ユーザープールの一覧から、デプロイされたユーザープールを選択します。
AMC Uploader ソリューションによってデプロイされた Cognito のリソース名がわからない場合は、CloudFormation のコンソールから「<デプロイ時に指定したスタック名>-AuthStack-xxxx」というネストされたスタックを選択し、[出力] タブで確認することができます。
ユーザープールの詳細画面では登録されているユーザーを確認することができます。ソリューションをデプロイした直後であれば、デプロイ時に「AdminEmail」のパラメータで指定した管理者ユーザーのみが表示されるはずです。[ユーザーを作成] をクリックし、詳細画面に追加登録したいユーザー情報を追加することで、必要なユーザーを追加登録することができます。
ユーザープールに追加されたユーザーには、Webアプリケーションへのアクセス権限を付与する必要があります。[ユーザー] タブの隣の [グループ] タブに移動します。グループはデプロイ時に一つ作成されているはずですので、グループをクリックします。
最初に作成した管理者ユーザーのみがグループに登録されている状態のはずです。[ユーザーをグループ] に追加をクリックし、追加したユーザーを選択してこのグループに登録します。これで新規追加したユーザーも、Web アプリケーションにアクセスできるようになります。
Part 2 では
ソリューションをデプロイし、ユーザーが利用できるようになりました。Part 2 では、ソリューションを使って AMC へのデータ取り込む手順を解説します。
この記事は、エンタープライズ技術本部 小売・消費財ソリューション部 Solutions Architect 杉中が担当しました。