posted 3 months ago
AWS S3를 사용하여 이미지 캐시를 설정하는 방법에 대해 설명합니다. 이미지 캐시를 설정하면 웹 애플리케이션의 이미지 로딩 및 성능을 최적화할 수 있습니다.
S3 버킷 생성 및 이미지 업로드
AWS S3 콘솔에서 새로운 버킷을 생성하고 이미지를 업로드합니다. AWS S3 버킷 생성 관련 글은 별도로 작성하도록 하겠습니다.
IAM 정책을 사용한 방법
{
"Version": "2012-10-17", // Check Version
"Statement": [
{
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::your-bucket-name/*" // Check bucket name
}
]
}
IAM 사용자에게 정책 연결
S3 버킷 정책을 사용한 방법
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
AWS CLI를 사용해 Cache-control
이미지에 대한 캐시 제어 헤더인 Cache-Control 값에 대한 정의가 필요합니다. max-age=3600은 1시간 동안 이미지를 캐시하도록 지시합니다.
동적으로 계속 변경 될 데이터의 경우에는 max-age=3600을 권장하고, 정적으로 자주 변경 될 이미지가 아니라면 Cache-Control: public, max-age=31536000, immutable"로 진행하면 됩니다.
max-age는 권장 값이고 반드시 따를 필요도 없습니다. 개인 추천은 max-age=31536000입니다.
aws s3 cp --metadata-directive REPLACE --cache-control "max-age=3600" s3://your-bucket-name/path/to/your/image.jpg
Chrome Console창을 활용한 테스트 및 확인
캐시 이미지를 확인하기 위해 Chrome DevTools를 사용할 수 있습니다.
AWS S3 Cache-Control이 필요한 이유
AWS S3를 사용하여 이미지 캐시 설정하면 웹 애플리케이션의 성능을 향상시키고 사용자 경험을 개선할 수 있습니다.
이를 통해 이미지 다운로드 및 로딩 시간을 최적화하고 대규모 트래픽에 대비할 수 있습니다.