AWS Storage Gateway
ユーザーガイド (API バージョン 2013-06-30)

AWS Storage Gateway の仕組み (アーキテクチャ)

以下では、現在利用できる AWS Storage Gateway ソリューションのアーキテクチャ的な概要を紹介します。

ファイルゲートウェイ

ファイルゲートウェイ を使用するには、最初に ファイルゲートウェイ の VM イメージをダウンロードします。その後、AWS マネジメントコンソール からか Storage Gateway API により ファイルゲートウェイ をアクティブ化します。ファイルゲートウェイは、Amazon EC2 イメージを使用して作成することもできます。

ファイルゲートウェイ を有効化したら、ファイル共有を作成して設定し、この共有を Amazon S3 バケットに関連付けます。これにより、NFS または SMB プロトコルを使用してクライアントからファイル共有にアクセスできます。ファイル共有に書き込まれたファイルは Amazon S3 内のオブジェクトになり、そのパスがキーになります。ファイルとオブジェクトの間には 1 対 1 のマッピングがあり、ファイルを変更するときに、ゲートウェイは Amazon S3 のオブジェクトを非同期的に更新します。バケット内の既存のオブジェクトは、ファイルシステム内のファイルとして表示され、そのキーはパスになります。オブジェクトは Amazon S3 のサーバー側の暗号化キー (SSE-S3) で暗号化されます。すべてのデータ転送は、HTTPS 経由で実行されます。

サービスは、マルチパート並列アップロードまたはバイト範囲のダウンロードを使用してゲートウェイと AWS 間のデータ転送を最適化し、利用可能な帯域幅をより有効に活用します。ローカルキャッシュの目的は、最近アクセスしたデータへの低レイテンシーアクセスを提供し、データ出力の料金を削減することにあります。CloudWatch メトリクスからは、VM でのリソースの使用状況と、AWS との間のデータ転送に関するインサイトが得られます。CloudTrail はすべての API コールを追跡します。

ファイルゲートウェイストレージを使用すると、クラウドのワークロードの S3 への取り込み、バックアップとアーカイブの実行、AWS クラウドへのストレージデータの階層化と移行などのタスクを行うことができます。下の図は、Storage Gateway のファイルストレージのデプロイの概要を示しています。

ボリュームゲートウェイ

ボリュームゲートウェイの場合、キャッシュ型ボリュームまたは保管型ボリュームのどちらかを使用できます。

キャッシュ型ボリュームのアーキテクチャ

キャッシュ型ボリュームを使用することで、頻繁にアクセスされるデータはローカルのストレージゲートウェイに保持しながら、Amazon S3 をプライマリデータストレージとして使用できます。キャッシュ型ボリュームは、オンプレミスのストレージインフラストラクチャをスケールする必要性を最小限に抑えます。同時に、アプリケーションからは引き続き、頻繁にアクセスするデータへの低レイテンシーなアクセスが可能になります。作成できるストレージボリュームのサイズは最大 32 TiB で、それを iSCSI デバイスとしてオンプレミスのアプリケーションサーバーにアタッチすることが可能です。ゲートウェイは、書き込まれたデータを Amazon S3 に作成されたストレージボリュームに保存し、最近読み込まれたデータはオンプレミスのストレージゲートウェイのキャッシュに保持して、バッファストレージにアップロードします。

キャッシュ型ボリュームの容量は 1 GiB~32 TiB の範囲で設定できますが、1 GiB 未満の端数は切り上げとなります。キャッシュ型ボリュームに対して設定されているゲートウェイごとに最大 32 個のボリュームがサポートされ、合計ストレージボリュームは最大 1,024 TiB (1 PiB) です。

キャッシュ型ボリュームによるソリューションでは、オンプレミスのアプリケーションデータはすべての Amazon S3ストレージボリュームに AWS Storage Gateway 保存されます。下の図は、キャッシュ型ボリュームデプロイメントの概要を示しています。

Storage Gateway ソフトウェアアプライアンス (VM) をオンプレミスのデータセンターのホストにインストールして起動すると、AWS マネジメントコンソールを使って Amazon S3 によってバックアップされたストレージボリュームをプロビジョニングできるようになります。AWS Storage Gateway API または AWS SDK ライブラリを使って、プログラム的にストレージボリュームをプロビジョニングする方法もあります。次に、そのストレージボリュームをオンプレミスのアプリケーションサーバーに iSCSI デバイスとしてマウントします。

さらにオンプレミスのディスクも VM に割り当てます。ここで割り当てたオンプレミスのディスクは、以下の役割を果たします。

  • ゲートウェイがキャッシュストレージとして使用するディスク – アプリケーションがデータを AWS のストレージボリュームに書き込むとき、ゲートウェイは最初にデータをキャッシュストレージに使用されるオンプレミスのディスクに保存します。次に、ゲートウェイはデータを Amazon S3 にアップロードします。キャッシュストレージは、オンプレミスで耐久性の高い保存場所として、アップロードバッファから Amazon S3 へのアップロードを保留中のデータを保存する働きをします。

    また、キャッシュストレージはアプリケーションが最近アクセスしたデータをオンプレミスに保存し、低レイテンシーでアクセスできるようにもします。アプリケーションがデータをリクエストすると、ゲートウェイはまずキャッシュストレージでそのデータを探し、見つからなければ Amazon S3 で探します。

    キャッシュストレージに割り当てるディスク容量を決定するには、次のガイドラインを使用できます。通常、既存のファイルストアサイズの少なくとも 20% をキャッシュストレージとして割り当てる必要があります。また、キャッシュストレージの容量はアップロードバッファより大きくする必要があります。このガイドラインは、Amazon S3 にまだアップロードされていないアップロードバッファのすべてのデータを永続的に保持するために十分なキャッシュストレージを確保するために有効です。

  • ゲートウェイがアップロードバッファとして使用するディスク – ゲートウェイは、受け取ったデータを Amazon S3 にアップロードする前に、アップロードバッファと呼ばれる待機領域にいったん保存します。ゲートウェイはこのバッファからデータを暗号化 Secure Sockets Layer (SSL) 接続で AWS にアップロードし、そこでデータは暗号化されて Amazon S3 に保存されます。

Amazon S3 にあるストレージボリュームは、増分バックアップ (スナップショットと呼びます) を取得できます。こうしたポイントインタイムのスナップショットは、Amazon S3 にも Amazon EBS スナップショットとして保存されます。新たにスナップショットをとる際には、前回のスナップショット以降に変更されたデータのみが保存されます。スナップショットは、スケジュールに基づいて、または 1 回のみ実行可能です。スナップショットを削除する場合、他のスナップショットが必要ないデータのみが削除されます。Amazon EBS スナップショットの詳細については、「Amazon EBS スナップショット」を参照してください。

データのバックアップを復元する必要がある場合には、Amazon EBS スナップショットをゲートウェイストレージボリュームに復元できます。また、16 TiB までのスナップショットの場合、新しい Amazon EBS ボリュームの場合は、開始点としてスナップショットを使用できます。この新しい Amazon EBS ボリュームを Amazon EC2 インスタンスにアタッチできます。

キャッシュボリューム用のすべてのゲートウェイデータとスナップショットデータは、Amazon S3 に保存され、サーバー側の暗号化 (SSE) 機能を使用して保管時に暗号化されます。ただし、このデータには Amazon S3 API や Amazon S3 マネジメントコンソールなどのツールでアクセスすることはできません。

保管型ボリュームのアーキテクチャ

保管型ボリュームを使用すると、プライマリデータをローカルに保存する一方で、そのデータを非同期に AWS にバックアップします。保管型ボリュームを使用することにより、オンプレミスのアプリケーションがそのデータセット全体に低レイテンシーでアクセスできます。同時に、耐久性のあるオフサイトのバックアップが提供されます。ストレージボリュームを作成し、それを iSCSI デバイスとしてオンプレミスのアプリケーションサーバーからマウントできます。保管型ボリュームに書き込まれたデータは、オンプレミスのストレージハードウェアに保管されます。このデータは Amazon Elastic Block Store (Amazon EBS) スナップショットとして Amazon S3 に非同期でバックアップされます。

保管型ボリュームの容量は 1 GiB~32 TiB の範囲で設定できますが、1 GiB 未満の端数は切り上げとなります。保管型ボリュームに対して設定されるゲートウェイごとに、最大 32 個のボリュームがサポートされ、合計ボリュームストレージは最大 512 TiB (0.5 PiB) です。

保管型ボリュームでは、ボリュームストレージをオンプレミスのデータセンターに維持します。つまり、アプリケーションデータはすべてオンプレミスのストレージハードウェアに保存されます。その後、ゲートウェイはデータセキュリティの維持に役立つ機能を使用して、コスト効率の高いバックアップと迅速な障害復旧のため、AWS クラウドにデータをアップロードします。すべてのデータに低レイテンシーでアクセスできる必要があるため、データをローカルのオンプレミスに保持したいが、バックアップは AWS に置いておきたいという場合、これは最適なソリューションです。

下の図は、保管型ボリュームのデプロイの概要を示しています。

AWS Storage Gateway ソフトウェアアプライアンス (VM) をオンプレミスのデータセンターのホストにインストールして起動したら、ゲートウェイのストレージボリュームを作成できます。次に、オンプレミスのダイレクトアタッチドストレージ (DAS) またはストレージエリアネットワーク (SAN) ディスクにマッピングできます。起動は、新規ディスクからでも、すでにデータを保持しているディスクからでも行えます。次に、そのストレージボリュームをオンプレミスのアプリケーションサーバーに iSCSI デバイスとしてマウントします。オンプレミスのアプリケーションがゲートウェイのストレージボリュームに対してデータの読み書きを行う時、そのデータはボリュームに割り当てられたディスクに保存され、読み込まれます。

データを Amazon S3 にアップロードする前に、ゲートウェイは受け取ったデータをアップロードバッファと呼ばれる待機領域にいったん保存します。作業用ストレージとしてオンプレミスの DAS または SAN ディスクが使用できます。ゲートウェイはデータをアップロードバッファから、暗号化 Secure Sockets Layer (SSL) 接続経由で、AWS クラウドで実行される AWS Storage Gateway サービスにアップロードします。ここでデータは暗号化されて Amazon S3 に保存されます。

ストレージボリュームは、増分バックアップ (スナップショットと呼びます) をとることができます。ゲートウェイは、こうしたスナップショットを Amazon S3 に Amazon EBS スナップショットとして保存します。新たにスナップショットをとる際には、前回のスナップショット以降に変更されたデータのみが保存されます。スナップショットは、スケジュールに基づいて、または 1 回のみ実行可能です。スナップショットを削除する場合、他のスナップショットが必要ないデータのみが削除されます。

データのバックアップを復元する必要がある場合には、Amazon EBS スナップショットをオンプレミスのゲートウェイストレージボリュームに復元できます。このスナップショットから新たに Amazon EBS ボリュームを作成し、それを Amazon EC2 インスタンスにアタッチすることもできます。

テープゲートウェイ

テープゲートウェイ は、データを AWS クラウドにアーカイブすることで、耐久性が高くコスト効率的なソリューションを提供します。仮想テープライブラリ (VTL) のインターフェイスを使用することで、既存のテープベースのバックアップインフラストラクチャを利用して、テープゲートウェイ 上に作成する仮想テープカートリッジにデータを保存できます。各 テープゲートウェイ にはメディアチェンジャーとテープドライブがあらかじめ組み込まれています。これらは、既存のクライアントバックアップアプリケーションから iSCSI デバイスとして利用できます。データをアーカイブするには、必要に応じてテープカートリッジを追加します。

次の図は、テープゲートウェイ デプロイメントの概要を示しています。

この図では、次に使用されている テープゲートウェイ 構成要素を特定します。

  • 仮想テープ – 仮想テープは物理テープカートリッジに似ています。ただし、仮想テープデータは AWS クラウドに保存されます。物理テープと同様、仮想テープには空白のものもデータが書き込まれたものもあります。仮想テープを作成するには、Storage Gateway コンソールを使うか、プログラムから Storage Gateway API を利用します。ゲートウェイ 1 つにつき最大 1500 本までのテープを保持でき、テープのデータは最大で合計 1 PiB までです。仮想テープの容量は、テープ作成時に設定することができ、範囲は 100 GiB~2.5 TiB です。

  • 仮想テープライブラリ (VTL) – VTL は、オンプレミスで利用できる、ロボットアームとテープドライブを備えた物理テープライブラリに似ています。VTL には、保存されている仮想テープのコレクションが含まれています。VTL は各 テープゲートウェイ に 1 つ組み込まれています。

    仮想テープを作成すると、ゲートウェイの VTL に表示されます。VTL 内のテープは Amazon S3 によってバックアップされます。バックアップソフトウェアがゲートウェイにデータを書き込むと、ゲートウェイはそのデータをローカルに保存した後、VTL 内の仮想テープ (Amazon S3) に非同期的にアップロードします。

    • テープドライブ – VTL テープドライブは物理テープドライブに相当し、テープへの I/O やシーク操作を行います。各 VTL には、テープドライブが 10 セット組み込まれており、バックアップアプリケーションから iSCSI デバイスとして使用することができます。

    • メディアチェンジャー – VTL メディアチェンジャーは、物理テープライブラリの保管スロットやテープドライブにテープを出し入れするロボットにあたるものです。各 VTL にはメディアチェンジャーが 1 つ組み込まれており、バックアップアプリケーションから iSCSI デバイスとして使用することができます。

  • アーカイブ – アーカイブは現実でいえばオフサイトのテープ保管施設にあたります。ゲートウェイ VTL からアーカイブに仮想テープをアーカイブできます。必要に応じて、アーカイブからゲートウェイ VTL にテープを取得できます。

    • テープのアーカイブ - バックアップソフトウェアがテープを取り出すと、ゲートウェイは長期保存のためにテープをアーカイブに移動します。アーカイブは、ゲートウェイをアクティブ化した AWS リージョン内にあります。アーカイブ内のテープは、データのアーカイブとバックアップのための低コストのストレージサービスである Amazon Glacier にバックアップされた仮想テープシェルに保管されます。詳細については、「Amazon Glacier」を参照してください。

    • テープの回収 – アーカイブされたテープは、直接読み込むことができません。アーカイブされたテープを読み込むには、まずテープを テープゲートウェイ に回収する必要があります。これには Storage Gateway コンソールまたは Storage Gateway API を使います。回収されたテープは、取得の開始後、約 3~5 時間にわたり VTL で利用できます。

テープゲートウェイ をデプロイし起動したら、仮想テープドライブとメディアチェンジャーを iSCSI デバイスとして、オンプレミスのアプリケーションサーバーにマウントします。必要なだけ仮想テープを作成します。次に、既存のバックアップソフトウェアアプリケーションを使ってデータを仮想テープに書き込みます。メディアチェンジャーは仮想テープを仮想テープドライブに装填/排出し、読み書き操作ができるようにします。

ローカルディスクをゲートウェイ VM に割り当てる

ゲートウェイ VM には、以下の目的のために割り当てるローカルディスクが必要です。

  • キャッシュストレージ – アップロードバッファから Amazon S3 へのアップロードを保留中のデータを保存する、耐久性の高い保管場所となります。

    アプリケーションが仮想テープからデータを読み込むと、そのデータはキャッシュストレージに保存されます。最近アクセスがあったデータもキャッシュストレージに保存され、低レイテンシーでアクセスできるようにします。アプリケーションがテープのデータをリクエストすると、ゲートウェイはまずキャッシュストレージでそのデータを探し、見つからない場合は AWS からデータをダウンロードします。

  • アップロードバッファ – データが仮想テープにアップロードする前に集められる場所となります。また、アップロードバッファは予期しない障害からテープを復元するための復元ポイントを作成する際にも重要な役割を果たします。詳細については、「正常に機能していない テープゲートウェイ から仮想テープを復旧する必要がある」を参照してください。

バックアップアプリケーションがデータをゲートウェイに書き込むと、ゲートウェイはそのデータをキャッシュストレージとアップロードバッファの両方にコピーします。次に、書き込みオペレーションの完了をバックアップアプリケーションに対して確認します。

キャッシュストレージおよびアップロードバッファに割り当てるディスク容量のガイドラインについては、「ローカルディスクストレージの容量の決定」を参照してください。