AWS S3 について(概要レベル)

AWS
この記事は約4分で読めます。
記事内に広告が含まれています。

本ページではS3の基本を書き残します(当時の資格勉強向けのまとめに近い)。

S3はAmazon Simple Storage Serviceの略であってAWSのストレージサービスです。耐久性が非常に高く(イレブンナイン)、容量も無限に使うことが出来ます。なお、可用性(連続運用)は99.99%程度のことなので、たまにアクセス出来ないことがあるかもしれません。

では色々と書きます。

適宜更新します。

特徴

容量制限なし(1ファイルは5TBまで)。格納場所は「バケット」であり「URL形式」で「オブジェクト」にアクセスが可能。データのアップロードは無償であるが、ダウンロードはそれなりの費用が発生する。

静的WEBサイトにも向く。
例:http://bucket-name.s3-website-Region.amazonaws.com
→ 実運用ではcloud frontやroute53を組み合わせることが多い。なお、cloud forntを使えば、世界中にedgeロケーション活用によってグローバルなアクセスにも強くなる。ただ、AWSはダウンロード時に料金が発生するモデルのため、たくさんアクセスがあれば、その分コストがかかる。

  • 強い整合性モデルのため、保存/変更直後のアクセスでも問題なく読み取れる。
  • オブジェクトロックが出来る。
    → 一定時間 or 無期限に削除/上書きをガードする。
  • 署名付きURL
    → 一定時間共有ができる。
    → S3がPrivateでもインターネットからアクセス出来る。
  • S3イベントの通知先は?
    → SNS, SQS, Lambda(eventBridge不要)

種類

S3には色々な種類がある。

長期バックアップ向けであれば、S3の利用コスト(容量コスト)を抑えることが出来るが、実際に取り出すとなると、リクエスト料金(取出し料金)というのが別途発生する。用途に応じてしっかりと管理したい。

  • Standard
    → 標準のS3。ストレージコストは一番高いけど取出しリクエストは不要。
  • Standard IA
    → 低頻度アクセス(保管料安いけど取出しにはコストかかる)。
  • One Zone-IA
    → 低頻度アクセス&低重要度(ログデータ等)。
  • Glacier
    → より低頻度アクセスで長期保存向け。
  • Glacier Deep Archive
    → もっと低頻度。
  • Intelligent-Tiering
    → 標準クラスがいいのかGlacierがいいのかわからんよ!って時に使う。自動でクラスを決めてくれるし取出し料金はかからない。けど自動管理するためのコストは別途発生しちゃう。

バケットのライフサイクルポリシー設定で、例えばファイルのアップロードから100日後に「Standard」→「Glacier」といったことも可能。

ライフサイクルポリシーの設定可能なパス。

※取出しリクエストにも種類があって、例えばGlacierの場合は一番早くて数分であるが、一番高くなる。次に標準取出しが3~5時間で料金そこそこ。最後に大容量取出しが5~12時間で取出し料金は一番安い。(Glaciier Deep Archiveは最大で48時間かかる。)

※色々なプランがありますけど、一般的なクラウドストレージサービス(DropboxやGoogleDriveなど)よりは高いです。あくまでもS3サービスと親和性が高いため、S3サービスと組み合わせて使うのが一般的ですね。

※けど、長期保存が前提(Glacier Deep Archive)でリージョンコストの安価なオハイオ州に保存するのであれば、1TBのデータで年間$12(約1500円)の維持コストです。まぁ、万が一にもインターネットを経由してダウンロードしようものなら、1回で$90(約1万2000円)かかっちゃいますけど・・・。これがAWS(クラウド)ロックイン・・・。

権限

デフォルトはプライベートである。

  • アクセスコントロール(ACL)
    → 所有者とか全員とか、簡単にアクセス設定が出来る。オブジェクト単位に設定できる。
  • バケットポリシー
    → 詳細なアクセス設定をJSONで定義する。例えばIPアドレス制限、特定ユーザに対する特定操作のみ許可など・・・・。(具体的な書き方は他サイト様を参考にするか、AWSサポート様に相談すれば教えてくれます。契約プランにもよる。)

(番外編) クライアントツールにcyberduck

Cyberduckと呼ばれる無料でも使えるクライアントツールを使うと、S3バケットに対するファイル操作をGUIで行えます。

※Windows or Macがサポートされています。

大容量ファイルのアップロード・ダウンロードでもs3のapiを利用したチェックサムも実施してくれるため安心です。さらにマルチパートアップロードにも対応しているため、大容量ファイルであっても分割してアップロードしてくれます。(AWSマネジメントコンソールからのアップロードは上限がありま、大容量ファイルのアップロードは失敗します。)

※Cyberduckで、S3バケットにアクセスするためにはアクセスキーやシークレットキーが別途必要です。

まとめ

AWS S3に関して駆け足で書きなぐりました。S3が、どんなものであるのか感じてもらえれば幸いです。また色々と試しながら更新していきます。

最後までご覧いただき、ありがとうございました。

コメント

Top
タイトルとURLをコピーしました