【図解】S3とは?わかりやすく倉庫の例えで解説|バケット・料金・EBSとの違い
*このサイトは記事内に広告を含む場合があります

広告

【図解】S3とは?わかりやすく倉庫の例えで解説|バケット・料金・EBSとの違い

S3はファイルを置く場所らしいけど、EC2のディスク(EBS)と何が違うのか分からない

バケット・オブジェクト・キーと言われても、どれが何を指しているのかピンとこない

使った分だけ料金がかかると聞いても、何に対してお金がかかるのか分からず不安



こんな悩みを解決していきます!

 
運営者プロフィール

現在はCIerで、クラウドの設計・構築をしているインフラエンジニアです。

AWSの資格は、SAA(ソリューションアーキテクト アソシエイト)とSAP(ソリューションアーキテクト プロフェッショナル)を持っています。

マーシー(エンジニア志望)
S3って、結局はファイル置き場でしょ?EC2のディスクと何が違うの?
置き場という点では同じですが、置く場所がまったく違います。EC2の記事で建てた建物の続きで、街に「大きな倉庫」を1つ足して説明しますね。
やまちゃん(エンジニア6年目)

結論から言うと、S3は「AWSの街にある大きな倉庫」です。

自分の棚(バケット)を借りて、札(キー)を付けた荷物(オブジェクト)を預ける、と覚えれば全体がつながります。

この記事で分かることは3つです。

・S3の部品が、倉庫のどこに当たるか
・バケットとフォルダの違い、料金のかかり方
・EC2のディスク(EBS)との違い

\ AWSを詳しく学びたい方はこちら /

CloudTechの評判と割引クーポンを見る

S3とは?AWSの街にある「大きな倉庫」

S3とは?AWSの街にある「大きな倉庫」

S3は、データを荷物のように預けておける、AWSの街にある大きな倉庫です。

AWSの街(VPC)の中に、建物(EC2)と大きな倉庫(S3)が並んでいる図

上の図は、これまでの記事で作ってきたAWSの街に、大きな倉庫を1つ建てたところです。

街の中には、EC2の記事で建てた建物が並んでいます。その横に、建物の中ではなく、建物とは別に建っている大きな倉庫があります。これがS3です。

街の倉庫を思い浮かべてください。

荷物を持っていけば、倉庫の人が預かって保管してくれます。必要になったら、いつでも取りに行けます。預ける荷物の総量や数で「倉庫がいっぱいです」と断られないのが、S3という倉庫の特徴です。

ただし、荷物1個あたりの大きさには上限があります。倉庫全体には上限がなくても、1つの箱に詰められる量には限りがある、と考えてください。

ひなた(エンジニア1年目)
自分の家の物置と違って、置き場所の広さを気にしなくていいってことですか?
そうです。物置は自分で大きさを決めて用意しますが、S3は預けた分だけ使う倉庫です。
やまちゃん(エンジニア6年目)

公式ドキュメントでは、S3は「オブジェクトストレージサービス」と紹介されています。データを「オブジェクト」という単位で預かる倉庫、という意味です。何ができるかを表にまとめます。

S3でできること倉庫で例えるとポイント
どんな量でも保存する預ける量に上限がない倉庫保存できる総量と荷物の数には上限がない
データを守る荷物を傷めずに保管する既定では、1つのリージョンの中の複数の場所に分けて保管される
いろいろな用途に使う何を預けてもよい倉庫ウェブサイトのファイル・バックアップ・長期保管などに使われる

ポイントは、S3は建物(EC2)の中にあるのではなく、街の中に別に建っていることです。

建物の中の物置とは置き場所が違うので、この後の「EBSとの違い」の章で、2つを並べて比べます。

S3はどんな時に使う?

S3には、「たくさんあって、あとで取り出したいデータ」を預けるのが向いています。倉庫に何を預けることが多いかを、表にまとめます。

使い方倉庫で例えると預ける荷物の例
ウェブサイトのファイル置き場店先に並べる商品を預けておく画像やHTMLなどの、中身が変わらないファイル
バックアップ万一に備えて控えを預けておく建物(EC2)やデータベースの控え
長期の保管奥の保管庫にしまっておくめったに見ないが、捨てられない記録
アプリのデータ置き場建物から荷物を取りに来るアプリが読み書きする画像や書類

どの使い方でも、データを建物の中ではなく、建物の外の倉庫に置いておく点は同じです。

荷物は建物(EC2)の中ではなく倉庫に置いてあるので、建物を作り直すことと、倉庫の荷物を片付けることは、別々の作業になります。

マーシー(エンジニア志望)
建物を片付けるときに、倉庫の荷物まで一緒に片付くわけではないってこと?
はい。建物と倉庫は別々にあるので、片付けるときもそれぞれ別に考えます。倉庫の荷物を消したいときは、倉庫の側で片付けます。
やまちゃん(エンジニア6年目)

街そのもの(VPC)の考え方は、VPCの記事で解説しています。

厳密には

  • S3:スケーラビリティ・データ可用性・セキュリティ・パフォーマンスを提供するオブジェクトストレージサービス
  • 保存の形:データをバケットの中にオブジェクトとして保存する
  • 容量:保存できるデータの総量とオブジェクトの数に上限はない

S3の部品を倉庫で例えると

S3の部品を倉庫で例えると

S3の画面に出てくる言葉は、倉庫に荷物を預ける流れにそのまま当てはまります。

倉庫の中の棚(バケット)・荷物(オブジェクト)・荷札(キー)・柱の貼り紙(バケットポリシー)・奥の保管庫(ストレージクラス)の対応図

上の図は、倉庫の中に、S3の部品の札を付けたものです。

倉庫には、借りた人ごとの棚があり、棚には札の付いた荷物が並んでいます。入口には棚ごとのルールが貼ってあり、奥にはめったに使わない荷物を置く安い保管庫があります。

マーシー(エンジニア志望)
言葉が5つも出てくると、それだけで覚えられる気がしない…
ひなた(エンジニア1年目)
倉庫の中を思い浮かべると、棚・荷物・札は自然に出てきますよね?
その3つが基本です。残りの2つ(ルールと奥の保管庫)は、後の章で1つずつ見ていきます。
やまちゃん(エンジニア6年目)

5つの対応を表にしたのが、次の表です。左の列(倉庫)だけ覚えておけば、S3の名前は後からついてきます。

倉庫で例えるとS3の名前一言で
借りた棚バケット荷物を入れる入れ物
預けた荷物オブジェクトデータ本体と、その説明
荷物の札キー棚の中で荷物を見分ける名前
棚のルールバケットポリシー誰が出し入れしてよいか
奥の安い保管庫ストレージクラスよく使うか・めったに使わないかで選ぶ置き場

使う順番も、倉庫と同じです。

まず棚を借りて(バケットを作って)、そこに荷物を預ける(オブジェクトを入れる)。S3を使い始めるときは、必ずこの順番になります。

棚を借りるときは、棚の名前と、どの地域の倉庫に置くか(リージョン)を決めます。荷物を預けるのは、その後です。

荷物を取り出すときは、「どの棚の、どの札の荷物か」を指定します。つまり、棚の名前と札の名前がそろえば、倉庫の中の荷物を1つに決められるということです。

厳密には

  • バケット:オブジェクトの入れ物(コンテナ)
  • オブジェクト:ファイルと、そのファイルを説明するメタデータ
  • キー:バケットの中でオブジェクトを見分ける一意の名前

S3バケットとは?自分が借りた「棚」

S3バケットとは?自分が借りた「棚」

バケットは、荷物(オブジェクト)を入れるために、自分が借りる棚です。

倉庫の中に名札の付いた棚が並び、自分の棚(バケット)に荷物が入っている図

上の図は、倉庫の中に名札の付いた棚が並び、自分の棚に荷物が入っているところです。

倉庫の中には、ほかの人が借りた棚もたくさんあります。それぞれの棚には名札が付いていて、名札を見れば、どの棚かが分かるようになっています。

S3を使うときは、最初にこの棚を1つ借ります。棚が無いと、荷物を置く場所がありません。

1つの棚には、荷物をいくつでも入れられます。用途ごとに棚を分けて借りることもできます。

マーシー(エンジニア志望)
棚って、パソコンでいうフォルダみたいなもの?
そう見えやすいのですが、棚は「入れ物そのもの」です。フォルダのように見える仕組みは、次の章で説明しますね。
やまちゃん(エンジニア6年目)

バケットはリージョンを選んで作る

リージョンの中にバケット、バケットの中にオブジェクトが入っている入れ子の図

バケットは、どの地域の倉庫に置くか(リージョン)を選んで作ります。

上の図のように、リージョンの中にバケットがあり、バケットの中にオブジェクトが入る、という入れ子になっています。

一度作ったバケットは、後から名前や置き場所(リージョン)を変えられません。

棚の名札と、棚を置く倉庫は、借りるときに決めたら固定です。変えたいときは、新しい棚を借りて荷物を移すことになります。

また、棚に預けた荷物は、自分で別の地域へ移したり複製したりしない限り、その地域の倉庫から出ません。どの地域に置いたかは、あとで「データがどこにあるか」を説明するときにも大事な情報です。

決めること倉庫で例えると後から変えられるか
バケット名棚の名札変えられない
リージョン棚を置く地域の倉庫変えられない
中に入れるオブジェクト棚に入れる荷物いつでも出し入れできる

バケット名は既定でほかの誰とも重ならない

棚の名札には、既定では、ほかの誰とも重ならない名前を付けます。

既定の作り方では、自分のアカウントの中だけでなく、ほかの人のアカウントも含めて、同じ名前の棚は作れません。よく使われそうな名前は、もう誰かが使っていることがあります。

なお「全世界で必ず1つ」というわけではありません。どこまでの範囲で重ならないかは、下の「厳密には」で正しておきます。

ひなた(エンジニア1年目)
「test」みたいな名前だと、もう取られていそうですね。
そうなんです。会社名や用途を足して、ほかと重ならない名前にするのが一般的です。
やまちゃん(エンジニア6年目)

よくある誤解:バケット=フォルダ

  • バケットは、荷物を入れる「棚」そのもの
    → 名前とリージョンを決めて作る入れ物で、後から名前を変えられない
  • フォルダに見えるものは、荷物の札の付け方
    → バケットの中に本物のフォルダがあるわけではない(次の章で説明)

厳密には

  • バケット:オブジェクトの入れ物。作成時に名前とリージョンを決め、後から変えられない
  • 名前:既定では、パーティション(リージョンのまとまり)内の全アカウント・全リージョンで一意。アカウントのリージョン名前空間に作る選択肢もある
  • 数:1つのバケットに入れられるオブジェクトの数に上限はない

もっと詳しく知りたい方や、ハンズオンで学びたい方は、CloudTech(クラウドテック)もチェックしてみてください。

\ 詳しく知りたい方はこちら /

CloudTechの評判と割引クーポンを見る

オブジェクトとキーとは?「荷物」と「札」|フォルダとの違い

オブジェクトとキーとは?「荷物」と「札」|フォルダとの違い

オブジェクトは預けた荷物そのもの、キーは荷物に付けた札(名前)です。

荷物の箱(オブジェクト)の中身(データ)・側面の説明書き(メタデータ)・荷札(キー)の図

上の図は、倉庫に預けた荷物の箱です。

箱の中には中身が入っていて、箱の外には「いつ預けたか」「何が入っているか」といった説明書きが貼ってあります。そして、箱には名前を書いた札が付いています。

S3のオブジェクトも同じです。中身のデータと、そのデータの説明(メタデータ)をセットで預けます。

キーは、棚の中で荷物を見分けるための札です。同じ棚の中に、同じ札の荷物は2つ置けません。

部品倉庫で例えるとS3では
オブジェクト預けた荷物データ本体と、その説明(メタデータ)のセット
メタデータ箱に貼った説明書き最終更新日時や、データの種類など
キー荷物の札棚(バケット)の中で荷物を見分ける名前

説明書き(メタデータ)は、荷物を探したり扱ったりするときの手がかりです。

たとえば「最終更新日時」があれば、いつ預け直した荷物かが分かります。「データの種類」があれば、画像なのか文書なのかが分かります。中身を開けなくても、箱の外を見れば荷物の様子が分かるようにしてある、と考えてください。

荷物の中身を少しだけ変えたいときは、箱を開けて一部を書き換えるのではなく、新しい荷物と丸ごと置き換えます。

パソコンのファイルのように「一部だけ上書き」という使い方ではない、と覚えておくと混乱しません。

マーシー(エンジニア志望)
中身をちょっと直すだけでも、丸ごと預け直しなんだ
はい。S3は、荷物を1つの単位として出し入れする倉庫だと考えてください。
やまちゃん(エンジニア6年目)

フォルダに見えるのは札の名前の付け方

荷札の名前 photos/2026/a.jpg と photos/2026/b.jpg が、画面では photos フォルダの中の 2026 フォルダのように見える図

S3の画面を開くと、バケットの中にフォルダが並んでいるように見えます。

ところが、S3の棚の中は平らで、本物のフォルダ(階層)はありません。

上の図のように、荷物の札に「photos/2026/a.jpg」と書いておくと、画面は札の頭の「photos/」が同じ荷物をまとめて、フォルダのように見せてくれます。この札の頭の部分を、プレフィックスと呼びます。

見え方実際には
「photos」フォルダの中に「2026」フォルダがある札に「photos/2026/」という頭が付いた荷物が並んでいる
フォルダの中に「a.jpg」がある「photos/2026/a.jpg」という札の荷物が1つある
フォルダを作る札の頭を決めて、まとめて見えるようにする
ひなた(エンジニア1年目)
パソコンのフォルダと同じだと思って、ずっと勘違いしていました…
画面がフォルダとして見せてくれるので、そう思うのが自然です。札の名前の一部だと分かれば、それで十分です。
やまちゃん(エンジニア6年目)

厳密には

  • オブジェクト:ファイルと、それを説明するメタデータ(名前と値の組)
  • キー:バケットの中でオブジェクトを見分ける一意の名前。プレフィックスも含む
  • フォルダ:構造はフラットで、コンソールが共通のプレフィックスでまとめて見せている

S3の料金はどこにかかる?「預ける・出し入れ・運び出す」

S3の料金はどこにかかる?「預ける・出し入れ・運び出す」

S3の料金は、預けた量と期間、出し入れの回数、外へ運び出す量などに応じてかかります。

預ける(保存)・出し入れ(リクエスト)・運び出す(データ転送)の3か所で料金がかかる流れ図

上の図は、倉庫に荷物を預けてから運び出すまでの流れと、どこで料金がかかるかを並べたものです。

倉庫の料金も、「どれだけの量を、どれだけの期間預けたか」だけでは決まりません。荷物を出し入れする手間や、倉庫の外へ運び出す分にも料金がかかります。

S3は使った分だけの料金で、前もって容量を買う必要も、最低料金もありません。そのかわり、何に料金がかかるかを知っておくことが大切です。主なものを表にまとめます。

かかるもの倉庫で例えるとポイント
保存荷物を預けておく荷物の大きさ・預けた期間・置き場(ストレージクラス)で決まる
リクエスト荷物を出し入れする出し入れの種類と回数で決まる。画面で中身を眺めるだけでも発生する
データ転送倉庫の外へ運び出す運び出す量にかかる。インターネットから持ち込む分や、同じリージョン内のAWSサービスへ渡す分などは例外として無料

ほかにも、レプリケーション(別の場所への複製)などの機能を使えば、その分の料金がかかります。最初は、表の3つを押さえておけば十分です。

具体的な金額は置き場(ストレージクラス)などによって変わるので、使う前にAWSの料金ページで確かめてください。

ストレージクラスとは?手前の棚と奥の安い保管庫

手前の棚によく使う荷物、奥の保管庫にめったに使わない荷物を置く倉庫の図

ストレージクラスは、荷物をどの置き場に置くかの選択です。

上の図のように、よく使う荷物は取り出しやすい手前の棚に、めったに使わない荷物は、保管料の安い奥の保管庫に置きます。

置き場倉庫で例えると向いている荷物
S3 Standard手前の棚よく出し入れするデータ
S3 Standard-IA など少し奥の棚たまにしか使わないデータ
S3 Glacier 系奥の安い保管庫長く保管しておくデータ
S3 Intelligent-Tiering倉庫が自動で置き場を変える使う頻度が読めないデータ

置き場は、荷物1つごとに決まっています。同じ棚の中でも、よく使う荷物は手前、めったに使わない荷物は奥、と分けて置けます。

ただし、料金の内訳には保存だけでなく「データの取り出し」という項目もあります。奥の保管庫は、長くしまっておく荷物のための置き場です。よく取り出す荷物まで奥にしまうのは向きません。置き場は、荷物をどれくらいの頻度で使うかに合わせて選んでください。

最初は、特に理由がなければ、手前の棚(S3 Standard)から始めれば大丈夫です。

使い方が決まってきて、「この荷物はめったに出さない」と分かってから、奥の保管庫を考えます。

料金で驚かないために見ておくこと

S3の料金で戸惑いやすいのは、「何にかかるか」を知らないまま使い始めたときです。倉庫で考えると、注意したいところは3つに絞れます。

見ておくこと倉庫で例えるとなぜ大事か
使わない荷物を置きっぱなしにしない預けたまま忘れた荷物預けている間は、保存の料金がかかり続ける
外へたくさん運び出さない倉庫から外へ何度も運ぶ運び出した量に応じて、データ転送の料金がかかる
出し入れの回数を意識する何度も棚を開け閉めするリクエストの種類と回数で料金がかかる

学習で使うなら、試し終わった荷物と棚は片付けることを習慣にしておくと安心です。

使った分だけの料金なので、預けていなければ、保存の料金はかかりません。

ひなた(エンジニア1年目)
勉強用に作った棚、そのまま置きっぱなしにしてました…
料金は預けた量や使い方で変わります。使わない棚と荷物は、試し終わった時点で片付けておくのがおすすめです。
やまちゃん(エンジニア6年目)

よくある誤解:置いておくだけなら、かかるのは保存料金だけ

  • 出し入れ(リクエスト)にも料金がかかる
    → 画面で中身を眺めるだけでも、リクエストは発生している
  • 外へ運び出す(データ転送)にも料金がかかる
    → 置いてある量が少なくても、たくさん運び出せば料金は増える

厳密には

  • 料金:使った分だけ。最低料金はなく、前もって容量を買う必要もない
  • 主な内訳:保存・リクエストとデータの取り出し・データ転送など
  • ストレージクラス:オブジェクトごとに付き、使い方やアクセスの頻度で選ぶ

詳しく知りたい方や、ハンズオンで学びたい方は、CloudTech(クラウドテック)が参考になります。

\ AWSをもっと詳しく学ぶなら /

CloudTechの評判と割引クーポンを見る

S3バケットポリシーとは?棚ごとの「出し入れのルール」

S3バケットポリシーとは?棚ごとの「出し入れのルール」

バケットポリシーは、その棚の荷物を、誰が出し入れしてよいかを決める、棚に貼るルールです。

棚に貼ったルール表(バケットポリシー)に従い、左の人は荷物を取り出せ、右の人は入れない図

上の図は、棚にルール表が貼ってあり、出し入れしようとする人がそれを見ているところです。

ルール表には「この人は荷物を取り出してよい」「この人は荷物を置いてよい」といったことが書かれています。ルールは棚ごとに貼り、その棚の荷物について誰が何をしてよいかを決めます。棚全体に向けて書くことも、一部の荷物に絞って書くこともできます。

大事なのは、何もしなければ、棚は自分しか使えない(非公開)ことです。

さらにS3には、外の誰でも見られる状態(公開)を止める「ブロックパブリックアクセス」という仕組みがあり、新しく作った棚では最初から有効になっています。

仕組み倉庫で例えると最初の状態
非公開棚は借りた本人しか使えない作った時点で非公開
バケットポリシー棚に貼る出し入れのルール自分で書いて貼る
ブロックパブリックアクセス棚にかける「外の人に公開しない」止め(公開止め)作った時点で有効

ルールに書くのは、主に次の3つです。

・誰が(どの人やどのサービスが)
・何を(取り出す・置く・消すなど)
・どの荷物に(棚全体か、一部の荷物か)

この3つを決めて、必要な分だけ許可を書くのが基本です。

マーシー(エンジニア志望)
ルールに「誰でも見てよい」と書いたら、公開されちゃうの?
ブロックパブリックアクセスが有効なら、ルールで公開を許しても、それより優先して公開を止めます。外に見せる必要がない限り、有効のままにしておいてください。
やまちゃん(エンジニア6年目)

IAMポリシーとバケットポリシーの違い

人の入館証(IAMポリシー)と棚のルール(バケットポリシー)の両方を見て、出し入れしてよいかを決める図

棚の荷物を出し入れできるかどうかは、人の側の許可(入館証に付いた部屋の一覧=IAMポリシー)と、棚の側のルール(バケットポリシー)の両方を合わせて決まります。

上の図のように、IAMポリシーは人の側に付け、バケットポリシーは棚の側に付けます。付ける場所は違っても、AWSは両方をまとめて見て、出し入れしてよいかを決めているのです。

比べることIAMポリシーバケットポリシー
倉庫で例えると人が持つ入館証に書かれた許可棚に貼る出し入れのルール
付ける場所ユーザー・グループ・ロールバケット
書くことこの人が何をしてよいかこの棚で誰が何をしてよいか

入館証の考え方は、IAMの記事で解説しています。

ひなた(エンジニア1年目)
どっちか片方だけ見て「許可したのに使えない」ってなりそうです。
よくあるつまずきです。使えないときは、人の側と棚の側の両方を確かめてください。
やまちゃん(エンジニア6年目)

厳密には

  • 既定:バケットとその中のオブジェクトは非公開。ブロックパブリックアクセスは4つの設定すべてが有効
  • バケットポリシー:バケットとその中のオブジェクトへのアクセス権を与える、リソースベースのポリシー
  • 評価:IAMポリシー(ユーザー・ロール側)とリソースベースのポリシーは、まとめて評価される

もっと詳しく知りたい方や、ハンズオンで学びたい方は、CloudTech(クラウドテック)もチェックしてみてください。

\ 詳しく知りたい方はこちら /

CloudTechの評判と割引クーポンを見る

S3とEBSの違い|「大きな倉庫」と「建物に備え付けの倉庫」

S3とEBSの違い|「大きな倉庫」と「建物に備え付けの倉庫」

EBSは1棟の建物(EC2)に備え付けの倉庫、S3は建物とは別にある街の大きな倉庫です。

左はビル(EC2)にくっついた倉庫(EBS)、右はビルとは別に建つ大きな倉庫(S3)の比較図

上の図では、左に建物にくっついた倉庫(EBS)、右に街の大きな倉庫(S3)を並べました。

EBSは、EC2の記事で「建物に備え付けの倉庫」と呼んだもの。建物(EC2)に取り付けて、パソコンのハードディスクのように使います。建物と同じ区画(アベイラビリティーゾーン)にしか取り付けられません。

S3は、建物の外にある別の倉庫です。建物に取り付けるのではなく、荷物(オブジェクト)を預けて、必要なときに取りに行く使い方をします。

比べることEBSS3
倉庫で例えると建物に備え付けの倉庫街の大きな倉庫
使い方EC2に取り付けて、ディスクとして使う荷物を預けて、必要なときに取り出す
データの扱いブロック(同じ大きさの小さな単位)に分けて扱うオブジェクト(荷物1つ)の単位で扱う
取り付けの決まり同じアベイラビリティーゾーンのEC2だけ建物に取り付けない
向いている使い方OSやアプリを入れる場所画像・バックアップ・長期保管のデータ

迷ったら、「建物に備え付けの倉庫」がEBS、「建物の外にある大きな倉庫」がS3と考えてください。

EBSや建物の考え方は、EC2の記事で解説しています。

実際には、EBSとS3はどちらか一方を選ぶものではなく、組み合わせて使います。

建物(EC2)に備え付けの倉庫(EBS)にOSやアプリを入れ、作業で作った画像や控えはS3の倉庫に預ける、という分け方ができます。

マーシー(エンジニア志望)
両方「データを置く場所」なのに、置き方がそもそも違うんだね

EC2からS3を使うときはロールで

建物(EC2)が一時的な通行証(IAMロール)を使って倉庫(S3)へ荷物を取りに行く流れ図

建物(EC2)の中で動くプログラムが、S3の倉庫に荷物を取りに行くことがあります。

このとき、建物の中にずっと使える入館証(長期の認証情報)を置いておくのではなく、建物に一時的な通行証(IAMロール)を付けます。

上の図のように、建物の中のプログラムは、通行証を使って倉庫へ荷物を取りに行きます。通行証は一時的なものなので、ずっと使える入館証を建物に配っておく必要がありません。AWSの公式ドキュメントも、S3を使うアプリにはIAMロールを使うことを勧めています。

IAMの記事で出てきた「通行証」が、ここでS3とつながります。

建物(EC2)が倉庫(S3)を使うときは、建物に付けた通行証に「この棚の荷物を取り出してよい」といった許可を持たせる、とイメージしてください。街・建物・入館管理・倉庫がひとつながりになると、AWSの全体像がぐっと見えやすくなります。

厳密には

  • EBS:EC2インスタンスに接続して使うブロックストレージ。接続できるのは同じAZのインスタンスだけ
  • S3:データをオブジェクトという単位で保存・管理するオブジェクトストレージ
  • EC2から使う:IAMロールで一時的な認証情報を使い、長期の認証情報をEC2に置かない

S3を使い始める時に最初に守りたい3つのこと

S3を使い始める時に最初に守りたい3つのこと

「非公開のまま使う」「必要な人にだけ許す」「EC2からはロールで使う」の3つを、最初に押さえておきます。

非公開のまま使う・必要な人にだけ許す・EC2からはロールで使う、の3つのチェックカード

上の図は、ここまでの章で出てきた大事なことを、3つのチェックにまとめたものです。新しく作った棚は、最初から「公開止め」(ブロックパブリックアクセス)がかかった状態です。

倉庫を借りたら最初に決めておくルールだと考えてください。どれも、荷物が外に漏れたり、思わぬ人に触られたりするのを防ぐためのものです。

守ること倉庫で例えるとS3で何をするか
非公開のまま使う棚の公開止めを外さないブロックパブリックアクセスを有効のままにする
必要な人にだけ許す棚のルールと入館証には、必要な許可だけ書くバケットポリシー・IAMポリシーで必要な操作だけ許す
EC2からはロールで使う建物には一時的な通行証を付けるIAMロールを使い、長期の認証情報をEC2に置かない

「とりあえず公開」にしたまま、忘れてしまうのがいちばん危険です。

公開が必要なときも、なぜ必要か・どの荷物かを決めてから、範囲を絞って設定してください。

3つのうち、どれか1つだけでは足りません。公開止めをかけていても、棚のルールで誰にでも許していれば意味が薄れますし、ルールを絞っていても、建物にずっと使える入館証を置いていれば、そこから荷物を持ち出されるおそれがあります。3つそろって、初めて安心して預けられる倉庫になると考えてください。

マーシー(エンジニア志望)
学習用だと、つい全部許可して動かしたくなっちゃう
ひなた(エンジニア1年目)
動かすのを優先すると、後で戻すのを忘れがちですよね…
学習用でも、この3つは最初から守っておくと安心です。慣れてしまえば、手間はほとんど変わりません。
やまちゃん(エンジニア6年目)

厳密には

  • ブロックパブリックアクセス:必要だと分かっている場合を除き、すべて有効のままにすることが勧められている
  • アクセス管理:ACLではなく、バケットポリシーやIAMポリシーで管理することが勧められている

もっと詳しく学びたい方は、CloudTech(クラウドテック)もチェックしてみてください。

\ ハンズオンで学びたい方はこちら /

CloudTechの評判と割引クーポンを見る

まとめ|S3はAWSの街の大きな倉庫

まとめ|S3はAWSの街の大きな倉庫

S3は、棚を借りて、札を付けた荷物を預ける、AWSの街の大きな倉庫です。

この記事のまとめ

  • 街の大きな倉庫=S3
    → データをオブジェクトとして預けるオブジェクトストレージ。総量に上限はない
  • 借りた棚=バケット
    → 名前とリージョンを決めて作る入れ物。後から名前は変えられない
  • 荷物と札=オブジェクトとキー
    → フォルダに見えるのは、札の名前の付け方(プレフィックス)
  • 料金=預ける・出し入れ・運び出す
    → 保存だけでなく、リクエストとデータ転送にもかかる
  • 棚のルール=バケットポリシー
    → 既定は非公開。人の側(IAM)と棚の側の両方で決まる
  • 建物に備え付けの倉庫=EBS(別物)
    → EBSはEC2に取り付けるディスク、S3は建物の外の倉庫

迷ったときは、「これは棚の話か、荷物の話か、ルールの話か」を考えてみてください。

それだけで、S3の画面に並ぶ言葉のほとんどが、どこに当たるか分かるはずです。

マーシー(エンジニア志望)
倉庫で考えたら、バケットとオブジェクトとフォルダの違いがやっと分かった
その感覚のまま、実際に棚を1つ借りて、荷物を1つ預けてみてください。画面で一度やると、一気に腹落ちします。
やまちゃん(エンジニア6年目)

街(VPC)・建物(EC2)・入館管理(IAM)は、VPCの記事・EC2の記事・IAMの記事で復習できます。

もっと詳しく知りたい方や、ハンズオンで学びたい方は、CloudTech(クラウドテック)の評判記事もどうぞ。

  • この記事を書いた人

やまちゃん|未経験からフルリモートエンジニア

アニメ好きの現役クラウドエンジニア|過酷ノルマの銀行員 ▶︎ Web, インフラエンジニアで内定3個 ▶︎ ホワイトSESでインフラエンジニア(月単価80万円超) ▶︎ 内定5個 ▶︎ Clerでクラウドエンジニア|リモート勤務でストレス激減|クラウドの仕事してます|Xでもインフラエンジニアの働き方や魅力、デメリットも赤裸々に紹介中

-AWS学習, インフラエンジニア