kenju's blog

About Programming and Mathematics

S3

AWS SDK for RubyでS3のファイルを扱う時はdownload_file/upload_fileを使う

tl;dr S3へのファイルのアップロードには、#putも#upload_fileもいずれも使えるが、特別な理由がない限り#upload_fileを使うべき 同様に、ダウンロードする際は#download_fileを使う s3 = Aws::S3::Resource.new(...) obj = s3.bucket('bucket-name').object…

CloudFrontを経由してS3のPrivate Objectsを配信する実装方法まとめ

tl;dr CloudFrontを経由してS3のPrivate Objectsを配信する実装方法には「署名付きURLを用いた認証」と「署名付きCookieを用いた認証」の2パターンが存在 サービスの要件として「絶対にURLの漏洩によるデータ流出のリスク」を避けなければならない場合、「署…

S3 Lifecycle Ruleに設定したExpiration/Transitionの期間はいつから有効になるか

tl;dr Expiration/Transitionに設定した日付は、翌日の午前 00:00(UTC)に丸め込まれた上で加算計算される つまり、経過日数で設定した場合、常に 00:00(UTC)で移行・削除アクションが実行される より詳細な時刻でObjectのExpiration/Transitionのタイミ…

Versioningが有効なS3 Bucketsにライフサイクルポリシーを設定する

ObjectsのLifecycle設定について S3に配備したObjectsに対して、 一定期間経過したら、AWS Glacierなどの別サービスに移行する 一定期間経過したら、S3 Bucketsから削除する という設定をすることができます。これは、「Lifecycle設定」と呼ばれています。 d…