会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

S3と署名付きURL ― アップロードとダウンロードを、期限付きで安全に任せる

目安学習時間 20分

課題

全問正解でレクチャー完了です。

【問題1】

利用者の大きな動画ファイルを、アプリのサーバーを通さずに非公開のバケットへ上げさせたいとき、適切な方法はどれですか。

[選択肢]

【問題2】

SDK で有効期限7日の署名付き URL を作ったのに、1時間ほどで使えなくなりました。いちばん考えられる理由はどれですか。

[選択肢]
会員登録すると
学習することができます。
会員登録する(無料)

学ぶ目的

S3 の基本

S3 は、ファイル(オブジェクト)をバケットに置くストレージです。オブジェクトはキー(名前)で読み書きします。バケットは既定で非公開にし、公開しないまま必要な人にだけ渡す仕組みを考えます。

署名付き URL

署名付き URL は、URL を作った人の権限で、決まったオブジェクトを決まった時間だけ読み書きできるようにする URL です。URL の中に署名と期限が入っていて、持っている人なら誰でも使えます。ブラウザから S3 へ直接アップロードさせると、ファイルがアプリのサーバーや Lambda を通らないので、大きなファイルでもアプリに負担がかかりません。

有効期限

  • コンソールで作る … 1分〜12時間
  • CLI や SDK で作る … 最大7日(IAM ユーザーの認証情報と Signature Version 4 のとき)
  • 一時的な認証情報で作る … 認証情報の期限が来たら、URL の期限が先でも使えなくなる

Lambda の実行ロールで作った URL は、ロールのセッションが切れたところで使えなくなります。URL を作る側に、s3:GetObject や s3:PutObject などの権限が要ります。

イベント通知とライフサイクル

オブジェクトが作られたときなどに、S3 イベント通知で Lambda・SQS・SNS・EventBridge に知らせられます。古いオブジェクトは、ライフサイクルのルールで安いストレージクラスへ移したり、削除したりできます。

このレクチャーで学ぶこと

  • バケットとオブジェクトの基本
  • 署名付き URL の仕組みと、直接アップロードの利点
  • 有効期限の決まり方(作り方と認証情報の種類)
  • イベント通知とライフサイクルのルール

質問

まだ質問は投稿されていません。

質問投稿

ログイン後に質問の投稿ができます。