ストレージ

2023/10/26に公開

Amazon S3(Simple Storage Service)

基礎概念

Amazon S3は、オブジェクトストレージサービスで、安価で高い耐久性を持ち、99.999999999%のデータ耐久性を提供します。また、保存容量に上限がないため、大規模なデータの保存に適しています。ここでは、Amazon S3の基本的な概念、セキュリティ、静的ホスティング、イベント通知、ストレージクラス、バージョニング、ライフサイクルマネジメント、および料金にの解説をします。

Amazon S3はHTTPSを使用して通信し、データは暗号化されます。ただし、読み書きの速度は比較的遅く、通信先と通信元での暗号化/復号作業が必要です。

大規模なデータを保存する際には適しており、APIを使用してデータにアクセスすることが容易です。

バケット: Amazon S3のトップレベルフォルダで、複数のオブジェクトを格納します。
プリフィクス: バケット内のフォルダを表し、オブジェクトを整理します。
オブジェクト: 実際のデータファイル。

https://zenn.dev/tomoshimizu/articles/7731679428b9d2

Amazon S3では、データは「オブジェクト」として保存されます。これらのオブジェクトは一意のURLを持ち、以下のようにアクセスできます

https://bucketname.XXXXXXXXXXXXXXXXX/folder/folder2/3.jpg

セキュリティ

アクセス権:
デフォルトでは、管理者とルートユーザーのみがアクセスできます。IAM(Identity and Access Management)を使用して、権限を管理できます。
IPアドレス制御:
バケットポリシーを使用して、特定のIPアドレスからのアクセスを制御できます。
ACL(Access Control List):
オブジェクトごとのアクセス制御を設定でき、ブロックパブリックアクセスも管理できます。
また、バケット単位でパブリックアクセス権限を設定できます。

静的ホスティング

Amazon S3は、静的ウェブページのホスティングにも使用できます。エンドポイントを使用して、ユーザーがウェブページにアクセスできるようになります。

イベント通知

Amazon S3は、他のAWSサービスを呼び出す通知を送信できます。たとえば、S3からLambda関数をトリガーし、データをRDS(Relational Database Service)に自動的に移動することができます。

ストレージクラス

Amazon S3はさまざまなストレージクラスを提供しており、データのアクセス頻度に応じて選択できます:

ストレージクラス 説明 特徴
標準 (STANDARD) デフォルトのストレージクラス。 一般的な用途に適しており、高い耐久性を持つ。
標準IA (STANDARD_IA) 標準よりも安価で、アクセス頻度が低いデータ向け。 アクセス頻度が低いデータのためのコスト効率的なストレージ。
1ゾーンIA (ONEZONE_IA) 冗長性が低いが、安価なストレージクラス。 データ冗長性が1つのアベイリティーゾーンに限られ、コストが低い。
Glacier 長期保存に適し、非常に安価。読み取りに時間がかかる。 データの読み取りに数分から数時間かかるが、コストが非常に低い。
Glacier Deep Archive 長期保存で最も安価。読み取りに最大12時間かかる。 最も低コストな長期保存クラス。読み取りに時間がかかる。
Intelligent-Tiering アクセス頻度に応じて自動的に階層を移動。 30日間アクセスがない場合、低頻度アクセスに自動的に移行し、コストを最適化する。

どのストレージクラスを選択するべきかまとめ

https://blogs.vmware.com/cloudhealth/s3-cost-aws-cloud-storage-costs-explained/

バージョニング

Amazon S3では、バケット単位でバージョニングを有効にできます。これにより、オブジェクトの異なるバージョンを管理し、必要に応じて前のバージョンに戻すことができます。データの保護と復元に役立ちます。

  • ファイルの編集やアップロード時、上書きされるのではなく、新しいバージョンが作成され、過去のバージョンを保持します。
  • ファイルの削除時、ファイルは完全に削除されるのではなく、削除マーカーが付与され、以前のバージョンにアクセスできるようになります。

バージョン管理と課金
バージョンはそれぞれに対して課金が発生します。バージョニングを有効にすると、バケット内のデータを保護し、誤った削除や編集によるデータ損失からデータを守ります。

MFA Delete

MFA Deleteを有効化すると、特定の操作に対してMFA認証が必要になります。具体的には以下の操作にMFA認証が必要です。
① バージョニング状態を変更する操作
② オブジェクトバージョンを完全に削除する操作

MFA Deleteはセキュリティ対策の一環として使用され、不正なデータの変更や削除を防ぎます。MFAデバイスの認証情報が必要であるため、より高いセキュリティレベルを提供します。これは特に重要なデータやコンプライアンス要件を満たすためのセキュリティ要件がある場合に役立ちます。

https://dev.classmethod.jp/articles/3minutes-s3-versioning-lifecycle/

ライフサイクルマネジメント

Amazon S3では、指定した期間ごとにストレージクラスを変更するライフサイクルマネジメントを設定できます。これにより、データを適切なストレージクラスに移動し、コストを最適化できます。

ストレージクラスの移行アクション:
ストレージクラスを変更するには、Amazon S3で設定したルールに従う必要があります。このルールに基づいて、特定の条件が満たされたときにオブジェクトが他のストレージクラスに移行します。ただし、上向きにストレージクラスを変更することはできません。

ストレージクラス移動には料金がかかる:
オブジェクトのストレージクラスを変更する場合、通常、データ移行に伴う費用が発生します。この移行作業によって、コストがかかることに留意する必要があります。

Intelligent-Tiering:
Intelligent-Tieringはアクセス頻度に応じて自動的にストレージクラスを変更し、コストを最適化するサービスです。一般的な利用ケースでは、Intelligent-Tieringを使用することでストレージクラスの管理が簡素化されますが、モニタリングおよびオートメーションの料金が発生することに注意が必要です。

最低保管料金:
一部のストレージクラスは、最低保管料金がかかります。これは、データを保存している期間に関係なく、最低限の費用がかかることを意味します。
※ Glacier Instant RetrievalとIntelligent-Tieringは最低保管料金が発生します。

30日分の保管料金:Amazon S3では、データを30日間保存した場合、最低限の保管料金が請求されます。この30日分の料金は、データのアクセス頻度に関係なく適用されます。

料金

保管料:
データを保存するための料金。
転送料:
データの送受信に関連する料金。データの受信は無料で、データの送信に対して課金があります。
リクエスト料金:
GETやPUTなどのリクエスト数に対して課金が発生します。

同一リージョン内でのデータ転送は無料です。

マルチパートアップロード

マルチパートアップロードは、大きなファイルを分割し、それを任意の順序でAmazon S3にアップロードする機能です。

大きなファイルに適しています:
特に100MB以上の大きなファイルをアップロードする場合におすすめです。一度に大きなファイルをアップロードすると、通信エラーが発生する可能性があるため、ファイルを分割してアップロードすることで、信頼性が向上します。

ファイルサイズの範囲:
マルチパートアップロードは、5MBから5TBまでのファイルサイズに対応しています。特に5GBを超える大きなファイルをアップロードする場合には、この機能を活用することが推奨されます。

Transfer Acceleration

Transfer Accelerationは、アップロード処理を高速化するための機能で、Amazon S3のエッジロケーションを活用します。

高速なアップロード:
Transfer Accelerationを使用することで、大容量のデータを高速にアップロードできます。特に、異なる地域間でファイルをアップロードする場合に効果的です。

エッジロケーションを活用:
Transfer Accelerationは、エッジロケーションを利用してアップロード処理を高速化します。たとえば、東京からアメリカへのファイル転送時にエッジロケーションを利用することで、高速なアップロードが可能です。

エンドポイントの変更:
Transfer Accelerationを使用する場合、S3のエンドポイントが通常のものから「s3-acceleration.XXXXXX」のようなエンドポイントに変わります。この新しいエンドポイントを使用して高速なアップロードを実現できます

https://www.tothenew.com/blog/amazon-s3-transfer-acceleration-new-blessing-for-s3/

暗号化

暗号化方法 暗号化場所 鍵管理者 暗号化方式 特徴
SSE-S3 (Server-Side S3) AWS側 S3 AES-256 S3がデータを暗号化し、鍵を管理。
SSE-KMS (Server-Side KMS) AWS側 KMS AES-256 KMSが鍵を管理し、データを暗号化。証跡が可能。
SSE-C (Server-Side Customer) AWS側 ユーザー ユーザー指定 クライアントが鍵を提供し、AWSがデータを暗号化。
クライアントサイド暗号化 (CSE) ユーザー ユーザー ユーザー指定 ユーザーがデータを暗号化し、暗号化済みデータをアップロード。

EFS

Amazon Elastic File System(EFS)は、異なるアベイラビリティーゾーン(AZ)から1つのEFSファイルシステムにアクセスできるクラウドベースのファイルストレージサービスです

アクセスと接続

マウントターゲット:
EFSにアクセスするためには、マウントターゲットを使用します。これにより、EC2インスタンスなどからEFSにファイルをマウントできます。また、オンプレミスからのアクセスやDirect Connect(DX)を介したアクセスも可能です。

データ保管とデータ転送の暗号化:
EFSはデータの保管と転送時の暗号化をサポートしており、データセキュリティを強化します。

スケーラビリティ

事前の容量設定不要:
EFSは必要に応じて自動的にファイルシステムを拡張および縮小します。容量の設定や管理が不要で、柔軟な使用が可能です。

https://blog.serverworks.co.jp/tech/2020/04/06/post-81878/

ストレージクラス

EFSには異なるストレージクラスがあり、アクセス頻度と可用性に応じて選択できます

ストレージクラス アクセス頻度 可用性 冗長化 取り出し課金 その他
標準ストレージ (Standard Storage) 高い 高い 3つ以上のAZ 課金なし -
標準低頻度アクセスIA (Standard IA) 低い 高い 3つ以上のAZ 課金あり アーカイブ向け
1ゾーン (One Zone) 高い 低い 1つのAZ 課金なし AZ障害に弱い
1ゾーン低頻度アクセスIA (One Zone IA) 低い 低い 1つのAZ 課金あり AZ障害に弱い, アーカイブ向け

ライフサイクルポリシー

EFSではライフサイクルポリシーを設定でき、データの移行や削除を自動化することができます。

セキュリティ

マウントターゲットはプライベートIPアドレスを使用し、セキュリティグループで管理できます。データへのアクセス制御を強化します。

Amazon FSx

FSx for Windows File Server

FSx for Windows File Serverは、Windows向けのフルマネージドなファイルシステムを提供するサービスです。

SMBプロトコル:
SMBプロトコルをサポートし、Windowsネイティブのファイル共有機能を利用できます。Active Directory(AD)との統合もサポートしています。

Windows標準機能:
Windowsのファイルシステム機能(例:Shadow Copy)を提供し、データの保護と復元が容易です。

冗長構成:
冗長構成を採用でき、高可用性とデータの信頼性を確保できます。

https://aws.amazon.com/jp/solutions/partners/eagledream-fsx-windows-file-server/

FSx for Lustre

FSx for Lustreは、高性能コンピューティング(HPC)向けのファイルシステムを提供するサービスです。

S3との連携:
S3と連携しており、S3上のデータをファイルシステムのように利用できます。これにより、データの統合と操作が容易に行えます。

POSIXメタデータ転送:
POSIXメタデータが自動的にS3オブジェクトに転送され、HPCワークフローの一部として使用できます。

権限管理:
ファイルやディレクトリに対するアクセス権限など、権限管理が容易に行えます。

https://docs.aws.amazon.com/ja_jp/fsx/latest/LustreGuide/using-fsx-lustre.html

AWS Storage Gateway

オンプレミスの環境とAWSのストレージサービスとの間でデータを統合的に管理するためのサービスです

S3 File Gateway

S3 File Gatewayは、オンプレミスからAmazon S3にアクセスするためのソリューションです。

HTTPS通信:
オンプレミスからS3 File Gatewayへの通信はHTTPSを使用して暗号化されています。

ローカルキャッシュ:
S3 File Gatewayはローカルにデータをキャッシュして高アクセス性と低遅延を提供します。

FSx File Gateway

FSx File Gatewayは、オンプレミスからAmazon FSxにアクセスするためのソリューションで、通信にSMBプロトコルを使用します

接続方法:
オンプレミスからFSx File Gatewayへの接続はDirect Connect(DX)またはVPNを使用します。プライベートネットワークが必要です。

Volume Gateway

Volume Gatewayは、オンプレミス環境とAWSのストレージサービス間でデータを同期するためのソリューションです

Cached Volume

データ保存:全てのデータはS3に保存され、iSCSIを使用してオンプレミスとの通信が行われます。また、ローカルにデータのキャッシュが保存されます。

Stored Volume

データ保存:
全てのデータはオンプレミスに保存され、AWS S3にも保存され、EBSスナップショットとしてバックアップが行われます。バックアップの管理にはAWS Backupを利用できます。ポイントインタイムバックアップと増分バックアップがサポートされています。

Tape Gateway

Tape Gatewayは、テープを使ったバックアップを提供します。データは仮想テープライブラリに保存され、Amazon S3またはAmazon Glacierにアーカイブされます。テープを使った長期的なデータ保管ニーズに対応します。

Discussion