SAAで出てくるストレージタイプ
IA=Infrequently Accessの略。低頻度アクセスのこと。
取得自体は即時にできるが、その分課金が発生する
One Zone-IA
非冗長化×低頻度アクセス
ユースケース:重要でないコピーファイルのアーカイブ
ストレージゲートウェイ
キャッシュ型=オンプレ側をキャッシュサーバ、S3側をプライマリとして利用
保管型=オンプレ側をプライマリとして利用、S3側をキャッシュとして利用
具体的な利用イメージ
全体のフロー
-
オンプレミスにゲートウェイアプライアンスをインストール
- AWSストレージゲートウェイは、仮想マシン(VM)またはハードウェアアプライアンスとしてオンプレミスの環境にインストールされます。
- これにより、オンプレミスのシステムとAWSクラウド間でデータをシームレスにやり取りできるようになります。
- ゲートウェイアプライアンスは、オンプレミスのアプリケーションやサーバからのデータを処理し、AWSクラウドに送信する役割を担います。
-
オンプレミスのアプリケーションがゲートウェイにデータを保存
- オンプレミスのアプリケーションは、AWSストレージゲートウェイをローカルストレージとして認識します。たとえば、ファイルゲートウェイの場合、NFSまたはSMBプロトコルを使用してファイルサーバとしてアクセスします。
- アプリケーションがデータを保存すると、一時的にローカルキャッシュに保存されます。ボリュームゲートウェイやテープゲートウェイの場合、iSCSIインターフェースを使用してデータの読み書きを行います。
-
データをAWSクラウドに送信
- ゲートウェイアプライアンスは、オンプレミスに一時的に保存されたデータをバックグラウンドでAmazon S3やGlacierに非同期的に送信します。この処理は、オンプレミスのネットワーク帯域を最適に利用しながら行われるため、アプリケーションのパフォーマンスに影響を与えません。
- データの圧縮と暗号化が行われ、効率的かつ安全にクラウドに送信されます。これにより、ネットワーク帯域を節約しながら、データのセキュリティも確保されます。
-
クラウド上でのデータ管理
- 送信されたデータは、クラウド上でAmazon S3やAmazon Glacierに保存され、バックアップ、アーカイブ、長期保存などの用途に利用されます。
- クラウドに保存されたデータは、AWSのさまざまなサービス(データ分析、機械学習、データ復旧など)と連携して利用することが可能です。
-
キャッシュ型と保管型の動作
- キャッシュ型(Cached Mode)の場合、オンプレミスには頻繁に使用されるデータだけがローカルキャッシュとして保存され、メインのデータはすべてAWSクラウドに置かれます。これにより、大容量のデータを扱う場合でもオンプレミスのストレージリソースを最小限に抑えつつ、AWSのクラウドに格納されたデータにアクセスできます。
- 保管型(Stored Mode)の場合、データはまずオンプレミスに保存され、その後バックアップ目的でAWSクラウドにスナップショットとして送信されます。オンプレミスのシステムはローカルのデータを使用して高速なアクセスが可能でありながら、クラウドにバックアップを保存します。
-
データの復元とアクセス
- データがクラウドに送信された後、オンプレミスのシステムやアプリケーションは必要に応じてクラウドからデータを読み込むことができます。たとえば、キャッシュにないデータはクラウドから自動的に取得され、オンプレミスに再度キャッシュされます。
- 災害復旧やデータのバックアップリストアが必要な場合には、クラウド上に保存されたデータをオンプレミスの環境に迅速に復元することが可能です。
システム全体の挙動のポイント
-
ローカルキャッシュの利用: キャッシュ型モードでは、オンプレミスには必要なデータだけがキャッシュされるため、頻繁にアクセスされるデータはローカルで高速に処理されます。低遅延でのアクセスが可能です。
-
ネットワークの効率的な使用: データは圧縮され、バックグラウンドでクラウドに送信されるため、ネットワークの負荷を最小限に抑えながらデータの送信が行われます。また、オンプレミスのストレージが一杯になっても、クラウドへの非同期転送が行われるため、運用上の利便性が向上します。
-
データのセキュリティ: データは送信前に暗号化され、クラウド上での保存も暗号化されます。これにより、データの保護が確保され、セキュリティリスクを最小限に抑えます。
-
AWSのスケーラビリティの活用: AWSのクラウドストレージのスケーラビリティを活用することで、オンプレミスのストレージ容量の制限を気にせずにデータを管理できます。
-
自動管理: データの転送やキャッシュの管理は自動的に行われるため、ユーザーが手動で介入する必要はほとんどなく、運用の簡略化が実現されています。
ランダムプレフィックス
何かS3バケットに対して大量にアクセスさせる場面がある場合は、バケットのキーのつけ方に注意!
バケット名/キー名/○○.jpg というバケット構造があるとき、このキー名は日付などの連続した規則正しいものではなく、ランダムな文字列のほうがストレージに対する処理が軽くなるよーという話。
ランダムなプレフィックスではなく、日付でプレフィックスを構成するとS3に対するCRUD処理パフォーマンスが良くなるよーという話。(修正:2024/10/19)
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/using-prefixes.html
クロスアカウントアクセス、リクエスタ支払い
S3バケットのクロスアカウントアクセスを有効化して、S3バケットのリクエスタ支払い機能を有効化することで、他AWSアカウントからのS3バケットへのアクセスを許可した上で、データ取得のコストをヨーロッパ企業側に支払わせることができます。
ストレージクラス分析
任意のS3バケットに対してストレージの使い方をアクセスログから分析し、他ストレージクラスへの最適な移行プランを提案してくれる。
例 スタンダードクラスにおいてあるが、低頻度のアクセスしか実施されていないものについては、
スタンダード低頻度アクセスクラスに移行させるライフサイクルポリシーを提案してくれる