AWS Storage Gateway のローカルディスクの管理 - AWS Storage Gateway

AWS Storage Gateway のローカルディスクの管理

ゲートウェイ仮想マシン (VM) は、バッファリングおよびストレージ用としてオンプレミスで割り当てるローカルディスクを使用します。Amazon EC2 インスタンスで作成されたゲートウェイは、ローカルディスクとして Amazon EBS ボリュームを使用します。

ローカルディスクストレージの容量の決定

ゲートウェイに割り当てるディスクの数とサイズは、ユーザーが決定できます。デプロイするストレージソリューションに応じて (「Storage Gateway のデプロイを計画する」を参照)、ゲートウェイには次の追加のストレージが必要になります。

  • ファイルゲートウェイには、キャッシュとして使用するディスクが 1 つ以上必要です。

  • ボリュームゲートウェイ:

    • 保管型ゲートウェイには、アップロードバッファとして使用するディスクが 1 つ以上必要です。

    • ゲートウェイキャッシュ型には、ディスクが 2 つ以上必要です。1 つはキャッシュとして使用し、1 つはアップロードバッファとして使用します。

  • 仮想テープライブラリには、ディスクが 2 つ以上必要です。1 つはキャッシュとして使用し、1 つはアップロードバッファとして使用します。

次の表は、デプロイされるゲートウェイのローカルディスクストレージの推奨サイズを示しています。ゲートウェイをセットアップした後で、ワークロードの需要増に応じてローカルストレージを追加できます。

ローカルストレージ 説明 ゲートウェイタイプ
アップロードバッファ アップロードバッファはゲートウェイがデータを Amazon S3 にアップロードする前に、データのステージング領域を提供します。ゲートウェイは、暗号化された Secure Sockets Layer (SSL) 接続で、このバッファデータを AWS にアップロードします。
  • キャッシュボリューム

  • 保管型ボリューム

  • テープゲートウェイ

キャッシュストレージ キャッシュストレージは、オンプレミスで耐久性の高い保存場所として、アップロードバッファから Amazon S3 にアップロードされるのを保留中のデータを保存する働きをします。アプリケーションがボリュームまたはテープで I/O を実行すると、ゲートウェイは、低レイテンシーのアクセスを実現するために、データをキャッシュストレージに保存します。アプリケーションがボリュームまたはテープに対してデータを要求すると、ゲートウェイは、AWS からデータをダウンロードする前に、まずキャッシュストレージにデータがあるかどうかをチェックします。
  • キャッシュボリューム

  • テープゲートウェイ

  • ファイルゲートウェイ

注記

ディスクをプロビジョニングするとき、同じ物理リソース (同じディスク) を使用しているアップロードバッファとキャッシュストレージのローカルディスクはプロビジョニングしないことを強くお勧めします。基になる物理ストレージリソースは、VMware でデータストアとして表されます。ゲートウェイ VM をデプロイする場合は、VM ファイルを保存するデータストアを選択します。たとえば、キャッシュストレージまたはアップロードバッファとして使用するなど、ローカルディスクをプロビジョニングする場合は、VM と同じデータストアまたは別のデータストアに仮想ディスクを保存することもできます。

複数のデータストアがある場合は、キャッシュストレージ用とアップロードバッファ用でデータストアの場所を分けることを強くお勧めします。基になる物理ディスクが 1 つのみのデータストアを、キャッシュストレージとアップロードバッファの両方に使用すると、パフォーマンスが低下する場合があります。これは、バックアップが RAID1 などの低パフォーマンス RAID 設定である場合にも該当します。

ゲートウェイの初回の設定およびデプロイ後、アップロードバッファのディスクを追加または削除して、ローカルストレージを調整できます。キャッシュストレージのディスクを追加することもできます。

割り当てるアップロードバッファのサイズの決定

割り当てるアップロードバッファのサイズを決めるには、アップロードバッファの計算式を使用します。少なくとも 150 GiB のアップロードバッファを割り当てることを強く推奨します。計算式の結果が 150 GiB 未満の値を返す場合は、アップロードバッファに割り当てる容量には 150 GiB を使用します。各ゲートウェイのアップロードバッファに設定できる最大容量は 2 TiB です。

注記

ボリュームゲートウェイのアップロードバッファがその容量に達すると、ボリュームのステータスが PASS THROUGH になります。このステータスでは、アプリケーションが書き込む新しいデータはローカルに保持されますが、すぐには AWS にアップロードされません。そのため、新しいスナップショットは作成できません。アップロードバッファ容量が解放されると、ボリュームのステータスは BOOTSTRAPPING になります。このステータスでは、ローカルに保持されたすべての新しいデータが AWS にアップロードされます。最後に、ボリュームのステータスは ACTIVE に戻ります。その後、ローカルに保存されていたデータと AWS に保存されていたコピーとの通常の同期を Storage Gateway が再開し、新しいスナップショットの作成を開始できるようになります。ボリュームステータスの詳細については、「ボリュームステータスと移行について」を参照してください。

テープゲートウェイ のアップロードバッファがその容量に達しても、アプリケーションは引き続きストレージボリュームとの間でデータを読み書きできます。ただし、Storage Gateway がローカルに保存されているデータと AWS に保存されているコピーの同期を行うまで、テープゲートウェイ はボリュームデータをアップロードバッファに書き込まず、このデータを AWS にアップロードしません。この同期は、ボリュームのステータスが BOOTSTRAPPING のときに発生します。

割り当てるアップロードバッファの量を見積もるには、予想される送受信データレートを計算し、これらのレートを以下の計算式に当てはめます。

受信データレート

これはアプリケーションスループットです。つまり、オンプレミスアプリケーションが一定期間にゲートウェイにデータを書き込むレートです。

送信データレート

これはネットワークスループットです。つまり、ゲートウェイが AWS にデータをアップロードできるレートです。このレートは、ネットワークの速度、利用状況、帯域幅スロットリングの設定により変化します。圧縮には、このレートを調整する必要があります。データを AWS にアップロードするときに、可能な限り、ゲートウェイはデータ圧縮を適用します。たとえば、アプリケーションデータがテキストのみである場合、効果的な圧縮率はおよそ 2:1 です。ただし、動画を書き込む場合、ゲートウェイはデータ圧縮を行えないことがあります。データ圧縮を行うには、ゲートウェイのアップロードバッファを増やす必要があります。

以下のいずれかに該当する場合は、150 GiB 以上のアップロードバッファ領域を割り当てることを強くお勧めします。

  • 着信レートは発信レートよりも高くなっています。

  • この数式は、150 GiB 未満の値を返します。

たとえば、1 日 12 時間、40 MB/秒 の速度でビジネスアプリケーションがゲートウェイにテキストデータを書き込み、ネットワークのスループットが 12 MB/秒 であるとします。テキストデータの圧縮係数が 2:1 とすると、約 690 GiB のスペースをアップロードバッファに割り当てることになります。

((40 MB/sec) - (12 MB/sec * 2)) * (12 hours * 3600 seconds/hour) = 691200 megabytes

最初にこの概算値を使うことで、アップロードバッファ容量としてゲートウェイに割り当てるディスクサイズを判断できます。必要に応じて、Storage Gateway コンソールを使用してアップロードバッファ領域を追加します。また、Amazon CloudWatch オペレーションメトリクスを使用してアップロードバッファ使用率をモニタリングし、追加のストレージ要件を決定することができます。メトリックとアラームの設定については、アップロードバッファのモニタリング を参照してください。

割り当てるキャッシュストレージのサイズの決定

ゲートウェイは、そのキャッシュストレージを使用して、最近アクセスされたデータに低レイテンシーでアクセスします。キャッシュストレージは、オンプレミスで耐久性の高い保存場所として、アップロードバッファから Amazon S3 にアップロードされるのを保留中のデータを保存する働きをします。通常、キャッシュストレージにはアップロードバッファの 1.1 倍のサイズを設定します。キャッシュストレージサイズを予測する方法の詳細については、「割り当てるアップロードバッファのサイズの決定」を参照してください。

キャッシュストレージ用のディスクをプロビジョニングするには、最初に、この概算値を使うことができます。その後、Amazon CloudWatch オペレーションメトリクスを使用して、キャッシュストレージの使用率をモニタリングできます。また、必要に応じて、コンソールを使用して、追加のストレージをプロビジョニングできます。メトリクスの使用とアラームの設定の詳細については、「キャッシュストレージのモニタリング」を参照してください。

アップロードバッファまたはキャッシュストレージの追加

アプリケーションのニーズの変化に応じて、ゲートウェイのアップロードバッファやキャッシュストレージの容量を増やすことができます。既存のゲートウェイ機能を中断せずに、ゲートウェイにバッファ容量を追加できます。アップロードバッファ容量を追加する場合は、ゲートウェイ VM を有効にした状態で行います。

重要

既存のゲートウェイにキャッシュやアップロードバッファを追加する場合、ホスト (ハイパーバイザーまたは Amazon EC2 インスタンス) に新しいディスクを作成することが重要です。ディスクがキャッシュやアップロードバッファとして割り当て済みである場合は、既存のディスクサイズを変更しないでください。キャッシュストレージとして割り当てられたキャッシュディスクを削除しないでください。

次の手順は、ゲートウェイのアップロードバッファまたはキャッシュストレージを設定する方法を示しています。

アップロードバッファまたはキャッシュストレージを追加して設定するには

  1. ホスト (ハイパーバイザーまたは Amazon EC2 インスタンス) に新しいディスクをプロビジョンします。ハイパーバイザーでディスクをプロビジョンする方法については、ハイパーバイザーのユーザーマニュアルを参照してください。Amazon EC2 インスタンスに Amazon EBS ボリュームを追加する方法については、「Amazon EC2 でホストされているゲートウェイの Amazon EBS ボリュームの削除および追加」を参照してください。このディスクをアップロードバッファまたはキャッシュストレージとして設定します。

  2. https://console.aws.amazon.com/storagegateway/home で AWS Storage Gateway コンソールを開きます。

  3. ナビゲーションペインで、[ Gateways] を選択します。

  4. [Actions] メニューで、[Edit local disks] を選択します。

  5. [ローカルディスクの編集] ダイアログボックスで、ブロビジョニング済みのディスクを識別し、どのディスクをアップロードバッファまたはキャッシュストレージとして使用するかを決定します。

    注記

    保管型ボリュームの場合、保管型ボリュームにはキャッシュディスクがないため、アップロードバッファのみ表示されます。

  6. ドロップダウンリストボックスの [割り当て済み] 列で、アップロードバッファとして使用するディスクの [アップロードバッファ] を選択します。

  7. キャッシュ型ボリュームおよび テープゲートウェイ の場合は、キャッシュストレージとして使用するディスク用の [キャッシュ] を選択します。

    ディスクが表示されない場合は、[Refresh] ボタンを選択します。

  8. [Save] を選択して設定を保存します。

EC2 ゲートウェイでエフェメラルストレージを使用する

このセクションでは、ゲートウェイのキャッシュストレージとしてエフェメラルディスクを選択した場合に、データ損失を防ぐために必要な手順について説明します。

エフェメラルディスクは、Amazon EC2 インスタンス用のブロックレベルの一時ストレージを提供します。エフェメラルディスクは、ゲートウェイのアップロードバッファやキャッシュストレージなど、頻繁に変更されるデータを一時的に保存するのに理想的です。Amazon EC2 Amazon マシンイメージとゲートウェイを起動した場合で、選択したインスタンスタイプがエフェメラルストアをサポートしている場合、ディスクが自動的に表示され、ディスクの 1 つを選択してゲートウェイキャッシュのデータを保存することができます。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイド の「Amazon EC2 インスタンスストア」を参照してください。

アプリケーションのディスクへの書き込みは、同期的にキャッシュに保存された後で、非同期的に Amazon S3 の永続的なストレージにアップロードされます。データのアップロードが完了する前に Amazon EC2 インスタンスが停止したためにエフェメラルストレージに保存されたデータが失われると、キャッシュに残存していて、まだ Amazon S3 にアップロードされていないデータが失われる場合があります。ゲートウェイをホストしている EC2 インスタンスを再起動または停止する前に、次の手順に従うことによって、このようなデータ損失を防ぐことができます。

注記

エフェメラルストレージを使用していて、ゲートウェイを停止して起動した場合、ゲートウェイは完全にオフラインになります。これは、物理ストレージディスクが置き換えられたために発生します。この問題の回避策はないため、ゲートウェイを削除し、新しい Amazon EC2 インスタンスで新しいゲートウェイをアクティブ化する必要があります。

以下の手順は、ファイルゲートウェイに固有の手順です。

エフェメラルディスクを使用するファイルゲートウェイのデータ損失を防ぐ方法

  1. ファイル共有に書き込みをしている、すべてのプロセスを停止します。

  2. CloudWatch イベント から通知を受信するようにサブスクライブします。詳細については、ファイルのアップロード通知の受け取り を参照してください。

  3. NotifyWhenUploaded API を呼び出し、書き込まれたデータが永続的に Amazon S3 に保存されたときに、エフェメラルストレージが失われるまで、通知を受け取るようにします。

  4. API が完了するのを待って、通知 ID を受け取ります。

    同じ通知 ID を持つ CloudWatch イベントを受け取ります。

  5. ファイル共有の CachePercentDirty メトリクスが 0 であることを確認します。これにより、すべてのデータが Amazon S3 に書き込まれたことが確認できます。ファイル共有のメトリクスの詳細については、「ファイル共有メトリクスについて」を参照してください。

  6. これでデータを失うリスクなく、ファイルゲートウェイを再起動または停止できるようになりました。