짧은 팁: AI agent가 AWS managed rule에 의해 막힐 때

짧은 팁: AI agent가 AWS managed rule에 의해 막힐 때 TL;DR: OpenAI agent 트래픽이 AWS WAF의 Anonymous IP List 규칙(HostingProviderIPList)에 의해 차단되고 있었습니다. OpenAI가 사용하는 일부 Azure IP 대역이 이 목록에 포함되어 있었기 때문입니다. Bot Control은 해당 트래픽을 verified bot으로 정상 식별하고 있었으므로, HostingProviderIPList 규칙을 Count로 전환하고 “hosting provider이면서 verified bot이 아닌” 트래픽만 차단하도록 변경했습니다. 주의: HostingProviderIPList에서 먼저 차단하던 트래픽이 Bot Control까지 도달하므로 Bot …

고객에게 대용량 파일 공유할 때 — S3 + CloudFront Signed URL 자동화 스크립트

고객에게 대용량 파일 공유할 때 — S3 + CloudFront Signed URL 자동화 스크립트 TL;DR: 고객에게 대용량 파일이나 다수의 파일을 공유해야 할 때, S3에 업로드하고 CloudFront Signed URL로 7일간 다운로드 가능한 링크를 만드는 과정을 sharelink.py <경로> 한 줄로 자동화했습니다. 디렉토리를 지정하면 자동으로 zip 압축 후 업로드합니다. Key Terms: CloudFront Signed URL = CloudFront 배포에 대해 시간 제한이 있는 접근 권한을 부여하는 URL. RSA 키 페어로 서명 | S3 = Amazon Simple Storage Service. 객체 스토리지 | OAC = Origin Access Control. S3 버킷에 대한 직접 …

DDoS는 막았는데 CloudWatch 청구서가 날아왔다

DDoS는 막았는데 CloudWatch 청구서가 날아왔다 TL;DR: AWS Shield Advanced는 DDoS 공격 시 WAF, CloudFront, Route 53 등의 스케일링 비용을 보호하지만, WAF 로그 비용은 보호 대상이 아닙니다. 고객이 “로그는 유지하면서 비용을 줄이고 싶다"고 했을 때, 3단계로 접근했습니다: (1) 로그 목적지를 Data Firehose로 변경하여 비용 8.5배 절감, (2) DDoS 레이블 기준으로 Logging Filter 적용, (3) 평시 로그 유지가 필요하면 CloudWatch Alarm + Lambda로 DDoS 시에만 자동으로 필터를 켜고 끄기. 3단계는 베스트 프랙티스가 아닌 특수 상황용 임시 솔루션입니다. Key Terms: Shield Advanced …

왜 내 블로그는 봇한테 HTML을 안 주는가

왜 내 블로그는 봇한테 HTML을 안 주는가 TL;DR: 검증된 봇에게 HTML 대신 Markdown 원본을 제공하면 두 가지를 얻습니다. AI 답변에 내 콘텐츠가 왜곡 없이 인용되고, Data Transfer Out 비용이 94 % 줄어듭니다. AWS WAF Bot Control로 봇을 식별하고, CloudFront Functions로 URL을 재작성하는 구조입니다. Key Terms: Bot Control Targeted = AWS WAF의 봇 탐지 레벨. IP 평판·TLS 핑거프린팅·행동 분석을 조합해 봇을 분류 | CloudFront Functions = CloudFront 엣지에서 JavaScript를 실행하는 경량 컴퓨팅(viewer-request/viewer-response 단계) | Data …