AWSクラウドを使用する中で、ストレージサービスとして利用可能なのがAmazon S3です。今回利用する機会があったため、そのS3について簡単にまとめてみました。
Amazon S3 とは?
Amazon S3について公式ページを参照されたい方はこちら
Amazon S3とはAmazon Simple Storage Serviceの通称で、主にデータファイルなどを格納しておけるサービスです。AWSですのでWebからのアクセスを可能としています。
インターネットを利用したサービスに関する大量のデータを格納する先として利用したり、または重要なデータのバックアップ先としても利用したりと柔軟な利用方法があります。
また、AWSのサービスとの連携も容易であるため、特定のS3にデータが格納されたらそれをトリガーに別の処理を呼び出すといった連携も行うことができます。
主に以下の用途で利用されるようです。
- オブジェクトストレージとしての利用
- JSONやCSV、XMLなどをはじめとしたデータファイルを格納しサービスの中で利用・保存するストレージの利用です。
- バックアップとアーカイブ
- メディアコンテンツの配信
- 静的Webコンテンツのホスティング
- データレイクとしての利用
- ログファイルの保存
Amazon S3の料金体系
Amazon S3で料金が発生する要素として、ストレージ機能にかかってくるものは「データオブジェクトのサイズ」・「格納している期間の長さ」・「どのS3ストレージタイプを利用しているか」の3つです。
また、データを保管していることに対する料金とは別に、ストレージのタイプによってはS3からデータの取得やデータの移行といったことにも料金が発生します。
その他にも、管理オプションで利用するバージョニングやライフサイクルポリシー、データの暗号化などの設定はS3の基本的な従量課金とは別に発生する可能性があります。
ただここではS3を試してみることをメインとして、料金についての詳細までは記載していません。
最も一般的なストレージタイプであるS3標準の料金目安は以下の通りです。

AWS公式のページでは料金についての詳細が記載されていますので、知りたい方はご確認ください。
S3の料金についてのよくある質問、AWS料金お見積りツールなども参照ください。
※AWSには無料利用枠があるため、サインアップした時から12ヶ月の間、毎月一定量のストレージ利用・データ取得数・データ送信量が与えられています。
実際に触ってみる
Amazon S3を実際に利用していきます。
S3バケットの作成
まずAWSクラウドのマネジメントコンソール画面にアクセスします。
https://aws.amazon.com/jp/console
ログインをすると、コンソールのホーム画面に行くので、「S3」を検索して選択します。

S3のページに遷移すると、バケットを一つも作成していない状態だと以下の画面が表示されますので、「バケットの作成」ボタンを押下します。

バケットの作成画面に遷移しますので、ここでバケットの設定をしていきます。バケット名には任意の名前を設定できます。

今回は以下のような設定にしていきます。
- バケットタイプ:汎用
- バケット名:(任意)
- ※既存のバケットの設定をコピーしたい場合は「バケットを選択する」からコピーしたいバケットを選択できる
- オブジェクト所有者:ACL無効
- このバケットのブロックパブリックアクセス設定:「パブリックアクセスを全てブロック」
- ※Amazon S3のオブジェクトはURL指定してインターネットからアクセスできるため、アクセスを制御する設定にしておく
- バケットのバージョニング:無効にする
- タグ:未設定
- デフォルトの暗号化:
- 暗号化タイプ:Amazon S3 マネージドキーを使用したサーバー側の暗号化(SSE-KMS)
- バケットキー:有効にする
最後に「バケットを作成」ボタンを押下すると、バケットが作成されます。
作成されたバケットをクリックすると、そのバケットのページが表示されます。

ここで「アップロード」ボタンもしくは、アップロードしたいファイルをドラッグ&ドロップし、アップロード画面で再度「アップロード」を押下することでS3バケットにオブジェクトを格納することができます。
S3バケットの削除
それでは今回追加したバケットを削除していきます。
バケット一覧のページに戻り、削除するバケットの左にあるラジオボタンを選択状態にします。そうすると右側の「削除」ボタンが押せる状態になるのでクリックします。

バケットの削除画面に遷移した後、画面上で指定されている文言をテキストフィールドに入力し「バケットを削除」ボタンを押下します。

削除が完了すると、「バケット「〜〜」が正常に削除されました」と表示されます。
これでS3バケットの削除が完了しました。
まとめ
これまでAmazon S3の基本的な情報を挙げた上で、実際に画面を確認しつつ触ってみました。
実際にサービスの中で利用する際は、データの種類や利用目的に応じてS3のタイプや管理設定を適切に行うことも考えることが必要です。
セキュリティやアクセスコントロールなどの面にも考慮するなど、AWSの他のサービスや機能とも連携して利用していくことが重要になっていきます。
今後そのあたりについても書いていきたいと思っています!