目的: 把 blah.foobar.com 的 CDN access log 轉送到 s3 bucket 備查
0. AWS S3
- 開好 bucket
- blah-foobar-com-logs @us-west-2
- 建立完全存取這個 bucket 的 IAM User
- S3-blah-foobar-com-logs-ReadWrite
- 在這個 IAM User 建立 access key pair
1. COMMON SERVICES - DataStream
- 點選 Create stream - Delivery Products
- CONFIGURATION
- Display Name: blah-foobar-com-logs-to-s3
- Group: Foobar-W-DEADBF
- Include properties: 勾選 blah.foobar.com
- DATA SETS
- Log information
- Request time
- Message exchange data
- Bytes
- Client IP
- HTTP status code
- Protocol type
- Request host
- Request method
- Request path
- Request port
- Response Content-Length
- Response Content-Type
- User-Agent
- SSL overhead time
- SSL version
- Object size
- Uncompressed size
- Total bytes
- Query string
- Request header data
- Cookie
- Range
- Referer
- X-Forwarded-For
- Max age
- Network performance data
- Error code
- Cache data
- (null)
- Geo data
- (null)
- Web security
- (null)
- EdgeWorkers
- (null)
- Content protection
- (null)
- Custom fields
- Custom field
- Log file
- Log format: Json
- DELIVERY
- Destination
- Destination: 選 Amazon S3
- Display name: blah-foobar-com-logs-to-s3
- Bucket: blah-foobar-com-logs
- Path: logs/{%Y}/{%m}/{%d}/{%H}
- 檔案儲存結構用 年/月/日/小時 存放
- 目前每小時約產生兩千多個小檔案, gzip -d 解開之後就是純文字檔案
- Region: us-west-2
- Access key ID: (bucket 的 IAM user 的 access key id)
- Secret access key: (bucket 的 IAM user 的 secret access key)
- Delivery options
- Filename: ak -[random-string]-[epoch-timestamp]-[random-string]- ds
- 中間這一段沒辦法改, 我比較想要 [epoch-timestamp] 在前面比較好用
- Push frequency: 60 Seconds
- SUMMARY
- 幾個步驟建立完之後, blah-foobar-com-logs-to-s3 的 status 是 Activating - V1
- 只能 View / History / Clone, 無法 Edit / Deactivate / Delete
- V1 是指這個 Stream 設定是 version 1, 不是 DataStream 1 的意思
2. CDN - Properties
- 選 blah.foobar.com 再點選版本, 點 Edit New Version
- 左邊選 Default Rule, 右邊點 +Behavior 新增 DataStream
- Stream version 只有選 DataStream 2 會過
- DataStream 1 要被淘汰掉
- 選 DataStream 1 會跳出警告訊息, 可以 Save 但無法 Activate
- Stream names 選 blah-foobar-com-logs-to-s3
- Sample rate 預設 100
- 通靈用的話一定要選 100, 要不然缺 log 會讓你通到屎
- 最後 Save
- 然後 Activate 這個新版本上線
- 最久 10 分鐘才會完成
3. 回到 COMMON SERVICES - DataStream
- blah-foobar-com-logs-to-s3 的 status 在 Properties 上完之後變成 Active - V1
- 第一次比較快
- Active 狀態才可以 Edit / Deactivate
- 要 Delete 的話, 要先 Deactivate 讓狀態變成 Deactived 才能 Delete
- 無論是 Edit / Deactivate, 最久 60 分鐘才會生效
沒有留言:
張貼留言