ログ転送:CloudFront (AWS CLI) log-forwarding-cloudfront-cli

このページでは、エージェント型トラフィックデータ収集用にCloudFrontからAdobeのS3 バケットにCDN ログを転送する方法について詳しく説明します。 LLM Optimizer CDN設定ページを使用して、LLM Optimizerにオンボーディングします。 オンボーディングプロセスが完了したら、このページに記載されている手順に従って、​ ステップ 2AWS コマンドラインインターフェイス ​を使用してログ転送を設定します。

NOTE
このガイドでは、AWS コマンドラインインターフェイス ​を使用してログ転送を設定する方法について説明します。 CloudFront UI​を使用してログ転送を設定する場合は、​ ログ転送:CloudFrontを参照してください。

ステップ 1: LLM Optimizerでのオンボーディング step-1

LLM Optimizer ページ https://llmo.now/で、次の操作を行います。

  1. 顧客設定ダッシュボード​に移動します。

    設定ボタン

  2. CDN設定」タブをクリックします。

    CDN設定タブ

  3. 基本を学ぶ」をクリックします。

  4. AI トラフィックインサイトをアクティブ化」の横にある「設定」をクリックします。

    設定

  5. AWS アカウント IDを入力してください。

    AWS アカウント ID

  6. CloudFront (BYOCDN)​を選択します。

    CloudFrontを選択

  7. オンボード」をクリックします。

    オンボードボタン

手順2:AWS CLIを使用したCDN ログ転送の設定 step-2-cli

AWS CLIを使用したCDN ログ転送の設定は次のとおりです。

AWS CLI資格情報の設定

AWS CLI資格情報MACを設定します。 ~/.aws/credentialsを開き、以下の変数の値を入力します。

[LLMO]
aws_access_key_id=<VALUE_OF_ACCESS_KEY_ID>
aws_secret_access_key=<VALUE_OF_SECRET_KEY>
aws_session_token=<ONLY_IF_USING_SECURITY_TOKEN_SERVICE> ## Optional

接続をテストする

接続をテストするには、次のコマンドを実行します。

aws sts get-caller-identity --profile LLMO

正常な出力の例:

aws sts get-caller-identity --profile LLMO
{
    "UserId": "AxxxxxxxxxxxP:user",
    "Account": "012345678912",
    "Arn": "arn:aws:sts::012345678912:assumed-role/klam-master-role-BatlY3dnPVinQLC/user"
}

変数の初期化

REPLACEME123@AdobeOrgを組織Adobe IMSの組織IDに置き換え、以下のコマンドを実行します。 このコマンドの出力IDはTRANSFORM_IMS_IDと呼ばれます。

echo "REPLACEME123@AdobeOrg" | sed 's/@AdobeOrg$//' | tr '[:upper:]' '[:lower:]'

以下のガイドラインに従ってCUSTOMERCDN_IDACCT1およびTRANSFORM_IMS_IDの値を入力し、ターミナルからコマンドを実行します。

export PROFILE1=LLMO
export REGION1=us-east-1
export CUSTOMER=<CUSTOMER_NAME> ## No Space, user letters,numbers and dash
export CDN_ID=<YOUR_CLOUDFRONT_DISTRIBUTION_ID>
export ACCT1=<YOUR_AWS_ACCOUNT_NUMBER>
export DELIVERY_DEST_ARN=arn:aws:logs:us-east-1:640168421876:delivery-destination:cdn-logs-<TRANSFORM_IMS_ID>-ams  ## Replace TRANSFORM_IMS_ID with the output of the command above

配信ソースの作成

手順3が実行された同じターミナルから、次のコマンドを実行します。

aws logs put-delivery-source --name llmo-cf-${CUSTOMER}-${CDN_ID} \
  --profile $PROFILE1 --region $REGION1 \
  --resource-arn arn:aws:cloudfront::${ACCT1}:distribution/${CDN_ID} \
  --log-type ACCESS_LOGS
IMPORTANT
次のエラーが発生した場合は、既存の配信ソースを検索します。PutDeliverySource オペレーションの呼び出し中にエラーが発生しました(ConflictException):このResourceIdは、このアカウントの別の配信Sourceで既に使用されています。
既存の配信ソースを検索するには、次のコマンドを実行します。
code language-bash
aws logs describe-delivery-sources --region us-east-1 \
--query "deliverySources[?contains(resourceArns[0], '<CDN DistributionID>')]"
次のコマンドでは、上記のコマンドの結果から配信ソース名を使用します。

配信設定の作成

aws logs create-delivery \
  --profile "$PROFILE1" --region "$REGION1" \
  --delivery-source-name "llmo-cf-${CUSTOMER}-${CDN_ID}" \
  --delivery-destination-arn $DELIVERY_DEST_ARN \
  --s3-delivery-configuration '{"suffixPath":"/{yyyy}/{MM}/{dd}/{HH}"}' \
  --record-fields 'date' 'time' 'x-edge-location' 'cs-method' 'cs(Host)' 'cs-uri-stem' 'sc-status' 'cs(Referer)' 'cs(User-Agent)' 'time-to-first-byte' 'sc-content-type' 'x-host-header'

<! – ドキュメントまたは製品値が変更された場合は、--record-fields--s3-delivery-configurationをLLM Optimizer CDN設定ページに表示されているフィールドリストとパスサフィックスに合わせます。—>

recommendation-more-help
fe3b7df1-2df2-4f4c-a618-c74f487f106c