SAKU BLOG

Are you ready? I'm done

AWSのストレージ【S3編】

概要

S3は、ウェブサイトやモバイルアプリケーション、社内アプリケーション、ビッグデータ、IoT センサーやデバイスからのデータなど、どこからの、どのような量のデータでも保存と取得が可能な耐久性の高いクラウド ストレージです。
高速な応答性能を実現するといった処理向けではなく、大量データの保存向けのストレージとなります。 

特徴

  • 無制限のストレージ容量

  • 高い耐久性

  • インターネット経由でアクセス

無制限のストレージ容量

S3では、バケットというデータの入れ物にデータを保存します。
保存できる容量は無制限であるため、保存したいデータ容量を先に決める必要はありません。
そのため、ストレージ容量の確保/調達を気にせず開発に専念できます。

高い耐久性

S3では、リージョンにバケットを作成データオブジェクトをアップロードします。
リージョン内のアベイラビリティゾーンは、自動的に冗長化やバックアップをします。
また、アベイラビリティゾーンの耐久性はイレブンナインです。

インターネット経由でアクセス

S3にはインターネット経由(HTTP/HTTPS)でアクセスします。


S3のセキュリティ

S3バケットは、アカウント、IAMユーザー、AWSリソースにアクセス権限を設定することができます。


アクセ権限

S3側で設定するアクセス権限には次の3つがあります。

  • アクセスコントロールリスト(ACL) → バケット、オブジェクト

  • バケットポリシー → バケット

  • IAMポリシー

アクセスコントールリスト(ACL)

バケット単位、オブジェクト単位のアクセス権限を設定ができる。

  • 他の特定のAWSアカウントにオブジェクトの一覧を許可

  • 他の特定のAWSアカウントにオブジェクトの書き込みを許可

  • 他の特定のAWSアカウントにオブジェクトの読み取りを許可

  • 誰にでもオブジェクトの一覧を許可

  • 誰にでもオブジェクトの書き込みを許可

  • 誰にでもオブジェクトの読み取りを許可

パケットポリシー

ACLよりも細かい設定ができる。
例えば特定のIPアドレスだけ許可することができます。

IAMポリシー

S3のアクセス権にIAMポリシーを設定することも可能です。


S3の料金

S3の料金には主に次の3要素があります。

  • ストレージ料金

  • リクエスト料金

  • データ転送料金

ストレージ料金

保存しているオブジェクトの容量に対しての料金です。
リージョンによって料金が異なります。
ストレージクラスによっても料金が異なります。
ストレージクラスは次の通り。

  • 標準

  • 低頻度アクセス(標準IA)

    • ストレージ料金は標準より安価だが、リクエスト料金は上がります。バックアップデータとして利用。

  • 1ゾーン低頻度アクセス(1ゾーンIA)

    • 複数リージョンにバックアップデータを保存する場合に利用。

  • Amazon Glacier

    • 単独のサービスとしても使用できるアーカイブサービスです。

リクエスト料金

データをアップロードしたりダウンロードしたりするリクエストに対しての料金です。

データ転送料金

リージョンの外にデータを転送した場合にのみ発生する料金です。
リージョンにより料金が異なります。

その他のストレージ

EFS

EFS(Elastic File Strage)は、EC2インスタンスからLAN上にあるNASとして利用できる共有ファイルストレージです。
複数のEC2インスタンスから接続・共有可能なストレージとして機能します。
S3と異なるのはインターネットからアクセスができない、完全な内部サーバー向けのストレージとしてセキュリティを強化することができます。

インスタンスストア

インスタンスストアは、EC2インスタンスの一時的なデータを保持するストレージです。
インスタンス用のブロックレベルの一時ストレージを提供します。
このストレージは、ホストコンピュータに物理的にアタッチされたディスク上にあります。