日志转发:CloudFront (AWS CLI) log-forwarding-cloudfront-cli

本页详细说明了如何将 CloudFront 的内容传递网络日志转发到 Adobe 的 S3 存储桶,以收集代理式流量数据。您将使用 LLM Optimizer 的内容传递网络配置页面完成加入。 完成加入过程后,请按照此页面上提供的步骤,使用步骤 2 中的 AWS 命令​​行界面配置日志转发。

NOTE
本指南介绍了如何使用 AWS 命令行界面配置日志转发。如果要使用 CloudFront UI 配置日志转发,请参阅日志转发:CloudFront

第 1 步:在 LLM Optimizer 中完成加入 step-1

在 LLM Optimizer 页面 https://llmo.now/ 上:

  1. 转到​客户配置仪表板

    “配置”按钮

  2. 单击​ 内容传递网络配置 ​选项卡。

    内容传递网络配置选项卡

  3. 单击​开始使用

  4. 在​ 激活 AI 流量洞察 ​旁边,单击​配置

    配置

  5. 输入您的 AWS 帐户 ID。

  1. 选择 CloudFront (BYOCDN)

    选择 CloudFront

  2. 单击​加入

步骤 2:通过 AWS CLI 设置内容传递网络日志转发 step-2-cli

按照下述方法通过 AWS CLI 设置内容传递网络日志转发:

配置 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_IDACCT1TRANSFORM_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):这个资源 Id 已在此帐户中的另一个传递来源中使用。
要搜索现有的传递来源,执行此命令:
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 内容传递网络配置页面上显示的字段列表和路径后缀。–>

recommendation-more-help
llm-optimizer-help-main-toc