ボリュームゲートウェイの管理 - AWS Storage Gateway

Amazon S3 ファイルゲートウェイのドキュメントがAmazon S3 ファイルゲートウェイとは

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ボリュームゲートウェイの管理

以下は、ボリュームゲートウェイリソースを管理する方法についての情報です。

キャッシュ型ボリュームは、アプリケーションデータを保存できる iSCSI ターゲットとして公開される Amazon Simple Storage Service (Amazon S3) 内のボリュームです。このセクションでは、キャッシュ型セットアップのボリュームを追加および削除する方法について説明します。また、Amazon EC2 ゲートウェイの Amazon Elastic Block Store (Amazon EBS) ボリュームを追加および削除する方法も説明しています。

重要

キャッシュ型ボリュームで Amazon S3 にプライマリデータが保存される場合、ボリューム全体で全データを読み書きするプロセスは避ける必要があります。たとえば、キャッシュ型ボリューム全体をスキャンするウイルススキャンソフトウェアは使用しないことをお勧めします。このようなスキャンでは、オンデマンド型かスケジュール型かにかかわらず、Amazon S3 に保存されているすべてのデータがローカルでダウンロードされ、スキャンされるため、帯域幅の利用率が高くなります。フルディスクスキャンを実行する代わりに、リアルタイムウイルススキャンを使用できます。つまり、キャッシュボリュームからの読み取りまたは書き込み時にデータをスキャンします。

ボリュームのサイズを変更することはできません。ボリュームのサイズを変更するには、ボリュームのスナップショットを作成し、そのスナップショットから新しいキャッシュ型ボリュームを作成します。新しいボリュームは、スナップショットを作成したボリュームよりも大きくすることができます。ボリュームを削除する方法については、「ボリュームを削除するには」を参照してください。ボリュームを追加し、既存のデータを保持する方法については、「ボリュームの削除」を参照してください。

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

ボリュームの追加

アプリケーションのニーズが増えたため、ボリュームをゲートウェイに追加する必要がある場合があります。ボリュームを追加するとき、ゲートウェイに割り当てたキャッシュストレージとアップロードバッファのサイズを考慮する必要があります。ゲートウェイには、新しいボリュームに十分なバッファとキャッシュスペースが必要です。詳細については、「割り当てるアップロードバッファのサイズの決定」を参照してください。

Storage Gateway コンソールまたはStorage Gateway APIを使用してボリュームを追加できます。Storage Gateway API を使用してボリュームを追加する方法については、CreateCachediSCSIVolume。Storage Gateway コンソールを使用してボリュームを追加する方法については、ボリュームの作成

ボリュームサイズの拡大

アプリケーションのニーズが増えるにつれて、ゲートウェイにボリュームを追加する代わりにボリュームを拡大したい場合があります。この場合は、以下のいずれか方法があります。

  • 拡大するボリュームのスナップショットを作成し、そのスナップショットを使用して、より大きいサイズの新しいボリュームを作成します。スナップショットの作成方法については、「1 回限りのスナップショットの作成」を参照してください。スナップショットを使用した新しいボリュームの作成方法については、「ボリュームの作成」を参照してください。

  • 拡大するキャッシュ型ボリュームを使用して、より大きいサイズの新しいボリュームのクローンを作成します。ボリュームのクローン方法については、「ボリュームをクローンする」を参照してください。ボリュームを作成する方法については、「ボリュームの作成」を参照してください。

ボリュームをクローンする

新しいボリュームは、既存のキャッシュ型ボリュームから同じAWSリージョン。新しいボリュームは選択されたボリュームの最新の復旧ポイントから作成されます。ボリューム復旧ポイントは、ボリュームのすべてのデータに整合性がある時点です。ボリュームのクローンを作成するには、最新のリカバリ・ポイントからのクローンオプションのボリュームの作成ダイアログボックスで、ソースとして使用するボリュームを選択します。次のスクリーンショットは、[ボリュームの作成] ダイアログボックスを示しています。

既存のボリュームからのクローンは、Amazon EBS スナップショットを作成するよりすばやく、コスト効率に優れています。クローンは、ソースボリュームの最新の復旧ポイントを使用して、ソースボリュームから新しいボリュームにデータを 1 バイトずつコピーしたものです。Storage Gateway は、キャッシュされたボリュームのリカバリポイントを自動的に作成します。最新の復旧ポイントがいつ作成されたか調べるには、TimeSinceLastRecoveryPointAmazon CloudWatch。

クローンされたボリュームはソースボリュームから独立しています。つまり、クローン後にいずれかのボリュームに行われた変更は、他方には影響はありません。たとえば、ソースボリュームを削除しても、クローンされたボリュームには影響しません。イニシエータが接続されて、有効に使用されているときに、ソースボリュームをクローンできます。そうすることでソースボリュームのパフォーマンスには影響しません。ボリュームのクローン方法については、「ボリュームの作成」を参照してください。

また復旧シナリオでクローンプロセスを使用できます。詳細については、「ゲートウェイキャッシュ型が到達不可能なためデータを復旧する場合」を参照してください。

ボリューム復旧ポイントからのクローン

次の手順は、ボリューム復旧ポイントからボリュームをクローンする方法と、そのボリュームの使用方法を示しています。

到達不可能なゲートウェイからボリュームをクローンして使用する

  1. Storage Gateway コンソール (https://console.aws.amazon.com/storagegateway/home

  2. Storage Gateway コンソールで、ボリュームの作成

  3. [ボリュームの作成] ダイアログボックスで、[ゲートウェイ] 用のゲートウェイを選択します。

  4. [容量] にボリュームの容量を入力します。容量はソースボリュームと同じサイズ以上でなければなりません。

  5. [Clone from last recovery point] を選び、[Source volume] のボリューム ID を選択します。ソースボリュームは、選択されたAWSリージョン。

  6. [iSCSI ターゲット名] に名前を入力します。

    ターゲット名には、小文字、数字、ピリオド (.) およびハイフン (-) を含めることができます。このターゲット名は検出後、[iSCSI Microsoft initiator] UI の [Targets] タブに、[iSCSI target node] として表示されます。たとえば、名前 target1iqn.1007-05.com.amazon:target1 のように表示されます。そのターゲット名がストレージエリアネットワーク (SAN) 内でグローバルに一意であることを確認します。

  7. [ネットワークインターフェイス] 設定の IP アドレスがゲートウェイであることを確認します。または [ネットワークインターフェイス] の IP アドレスを選択します。

    複数のネットワークアダプタを使用するようにゲートウェイを定義した場合、ボリュームにアクセスするために保管アプリケーションが使用する IP アドレスを選択します。ゲートウェイに対して定義された各ネットワークアダプタは、選択できる 1 つの IP アドレスを表します。

    ゲートウェイ VM が 1 つ以上のネットワークアダプタ用に設定されている場合には、[ボリュームの作成] ダイアログボックスに [ネットワークインターフェイス] のリストが表示されます。このリストには、ゲートウェイ VM に設定された各アダプタに対して 1 つの IP アドレスが示されます。ゲートウェイ VM が 1 つのネットワークアダプタにのみ設定されている場合、存在する IP アドレスは 1 つのみであるため、リストは表示されません。

  8. [ボリュームの作成] を選択します。[CHAP 認証の設定] ダイアログボックスが表示されます。後で CHAP を設定できます。詳細については、iSCSI ターゲットの CHAP 認証の設定 を参照してください。

次のステップはボリュームをクライアントに接続することです。詳細については、「クライアントへのボリュームの接続」を参照してください。

復旧スナップショットの作成

次の手順は、ボリューム復旧ポイントからスナップショットを作成する方法と、そのスナップショットの使用方法を示しています。1 回限りの一時的なスナップショットを取得したり、ボリュームのスナップショットスケジュールをセットアップしたりできます。

到達不可能なゲートウェイからボリュームの復旧スナップショットを作成し、使用するには

  1. Storage Gateway コンソール (https://console.aws.amazon.com/storagegateway/home

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

  3. 到達不可能なゲートウェイを選択し、[Details] タブを選択します。

    復旧スナップショットのメッセージはタブに表示されます。

  4. [Create recovery snapshot] を選択して、[Create recovery snapshot] ダイアログボックスを開きます。

  5. 表示されるボリュームのリストから、復元するボリュームを選択し、[Create snapshots] を選択します。

    Storage Gateway はスナップショット処理を開始します。

  6. スナップショットを見つけて復元します。

ボリュームの使用量の表示

データをボリュームに書き込む際に、Storage Gateway Management Console でボリュームに保存されたデータ量を表示できます。各ボリュームの [Details] タブに、ボリューム使用状況の情報が表示されます。

ボリュームに書き込まれるデータ量を表示するには

  1. Storage Gateway コンソール (https://console.aws.amazon.com/storagegateway/home

  2. ナビゲーションペインで [Volumes] を選択し、対象のボリュームを選択します。

  3. [Details] タブを選択します。

    以下のフィールドには、ボリュームに関する情報が示されます。

    • [Size]: 選択したボリュームの全容量。

    • [Used: ボリュームに格納されているデータのサイズ。

      注記

      これらの値は、ボリュームにデータを保存するまで、2015 年 5 月 13 日よ以前に作成されたボリュームに対しては利用できません。

ボリュームの削除

アプリケーションのニーズの変化に応じて、ボリュームの削除が必要になる場合があります。たとえば、より大きなストレージボリュームを使用するようにアプリケーションを移行する場合などです。ボリュームを削除する前に、現在ボリュームに書き込みを行っているアプリケーションがないことを確認します。また、ボリュームのスナップショットを作成中ではないことも確認します。スナップショットスケジュールがボリュームに定義されている場合は、スナップショットのスケジュールタブStorage Gateway。詳細については、「スナップショットスケジュールの編集」を参照してください。

ボリュームは、Storage Gateway コンソールまたは Storage Gateway API を使用して削除できます。Storage Gateway APIを使用してボリュームを削除する方法については、ボリュームの削除。以下の手順は、コンソールの使い方を示しています。

ボリュームを削除する前に、データのバックアップまたは重要なデータのスナップショットを作成します。保管型ボリュームの場合、ローカルディスクは消去されません。ボリューム削除後に復元することはできません。

ボリュームを削除するには

  1. Storage Gateway コンソール (https://console.aws.amazon.com/storagegateway/home

  2. [Volumes] タブで、ボリュームを選択し、確認ボックスを選択します。リストにあるボリュームが削除するボリュームであることを確認します。

  3. [Delete] を選択しボリュームを削除します。

別のゲートウェイにボリュームを移動する

データとパフォーマンスのニーズが増大すると、ボリュームを別のボリュームゲートウェイに移動したいことがあります。これを行うには、Storage Gateway コンソールまたは API を使用して、ボリュームをデタッチしてアタッチします。

ボリュームのデタッチおよびアタッチすると、以下を実行できます。

  • より最適なホストプラットフォームあるいは最新の Amazon EC2 インスタンスにボリュームを移動すること。

  • サーバーで基盤となるハードウェアを更新すること。

  • ハイパーバイザータイプ間でボリュームを移動すること。

ボリュームをデタッチするとき、ゲートウェイは、ボリュームデータとメタデータを Storage Gateway サービスのAWS。デタッチされたボリュームは、サポートされている任意のホストプラットフォームのゲートウェイにその後簡単にアタッチできます。

注記

デタッチしたボリュームは、削除するまで、標準のボリュームストレージとして課金されます。請求額を削減する方法については、「ボリュームで課金されるストレージを削減する」を参照してください。

注記

ボリュームのアタッチおよびデタッチにはいくつかの制限があります。

  • ボリュームのデタッチには長い時間がかかる場合があります。ボリュームをデタッチするとき、ゲートウェイはそのボリューム上のすべてのデータをAWSボリュームがデタッチされる前に アップロードが完了するまでにかかる時間は、アップロードする必要のあるデータ量とAWS。

  • キャッシュ済みのボリュームをデタッチする場合、これを保存済みのボリュームとして再アタッチすることはできません。

  • 保存済みのボリュームをデタッチする場合、これをキャッシュ済みのボリュームとして再アタッチすることはできません。

  • デタッチされたボリュームは、これがゲートウェイにアタッチされるまで使用することはできません。

  • 保存済みのボリュームをアタッチする場合、ゲートウェイにアタッチする前に完全に復元する必要があります。

  • ボリュームのアタッチあるいはデタッチを開始したら、ボリュームを使用する前にオペレーションが完了するまで待機する必要があります。

  • 現在のところ、ボリュームの強制的な削除は API のみでサポートされています。

  • ゲートウェイからボリュームをデタッチしている間にこのゲートウェイを削除すると、データは喪失されます。ゲートウェイを削除する前に、ボリュームのデタッチオペレーションが完了するまで待ってください。

  • 保存済みのゲートウェイが復元状態にある場合、このゲートウェイからボリュームをデタッチすることはできません。

次の手順では、Storage Gateway コンソールを使用してボリュームをデタッチしてアタッチする方法を示します。API を使用したこれの実行方法の詳細については、「」を参照してください。DetachVolumeまたはAttachVolumeAWS Storage GatewayAPI リファレンス。

ゲートウェイからボリュームをデタッチするには

  1. Storage Gateway コンソール (https://console.aws.amazon.com/storagegateway/home

  2. ナビゲーションペインで [ボリューム] を選択します。

  3. ボリュームのリストから、デタッチするボリュームを選択します。一度に複数のボリュームをデタッチするために複数のボリュームを選択できます。

  4. [アクション] で [ボリュームのデタッチ] を選択します。選択したボリュームは、表示される [ボリュームのデタッチ] ダイアログボックスに一覧表示されます。デタッチするボリュームのみが表示されていることを確認してください。

  5. [ボリュームのデタッチ] を選択します。デタッチするボリュームに大量のデータがある場合、このボリュームはすべてのデータのアップロードが完了するまで [アタッチ済み] から [デタッチ中] ステータスに移行します。その後、ステータスは [デタッチ済み] に変更します。少量のデータにおいては、[デタッチ中] ステータスが表示されない場合があります。ボリュームにデータがない場合、ステータスは [アタッチ済み] から [デタッチ済み] に変わります。

別のゲートウェイにボリュームをアタッチできるようになりました。

ゲートウェイにボリュームをアタッチするには

  1. Storage Gateway コンソール (https://console.aws.amazon.com/storagegateway/home

  2. ナビゲーションペインで [ボリューム] を選択します。デタッチした各ボリュームのステータスは [デタッチ済み] と示されます。

  3. デタッチ済みのボリュームのリストから、アタッチするボリュームを選択します。一度にアタッチできるボリュームは 1 つのみです。

  4. [アクション] で [ボリュームのアタッチ] を選択します。

  5. [ボリュームのアタッチ] ダイアログボックスで、ボリュームをアタッチするゲートウェイを選択し、ボリュームを接続する iSCSI ターゲットを入力します。

    保存済みのボリュームをアタッチする場合には、[ディスク ID] にそのディスク識別子を入力します。

  6. [ボリュームのアタッチ] を選択します。アタッチするボリュームに大量のデータがある場合、このボリュームはデタッチ済みアタッチ済みの場合AttachVolumeオペレーションが成功します。

  7. CHAP 認証設定ウィザードが表示されたら、[イニシエータ名]、[イニシエータのシークレット]、[ターゲットのシークレット] を選択し、[Save (保存)] を選択します。チャレンジハンドシェイク認証プロトコル (CHAP) 認証を操作する詳細については、「iSCSI ターゲットの CHAP 認証の設定」を参照してください。

ボリュームで課金されるストレージを削減する

ファイルシステムからファイルを削除しても、必ずしも基になるブロックデバイスからデータが作成されたり、ボリュームに保存されているデータの量が減るわけではありません。ストレージの課金されるストレージの量を減らす必要がある場合、ファイルをゼロで上書きして実際のストレージの量をわずかな量に圧縮することをお勧めします。Storage Gateway では、圧縮されたストレージに基づいてボリュームの利用を課金します。

注記

ボリュームのデータをランダムデータで上書きする削除ツールを使用する場合には、使用量は削減しません。これは、ランダムデータが圧縮不可能であるためです。

1 回限りのスナップショットの作成

スケジュールされたスナップショットの他に、ボリュームゲートウェイでは 1 回限りの臨時のスナップショットを作成できます。これを作成すると、スケジュールされている次のスナップショットを待たずに、すぐにストレージボリュームをバックアップできます。

ストレージボリュームの 1 回限りのスナップショットを作成するには

  1. Storage Gateway コンソール (https://console.aws.amazon.com/storagegateway/home

  2. ナビゲーションペインで [Volumes] を選択し、スナップショットを作成するボリュームを選択します。

  3. [アクション] で [スナップショットを作成] を選択します。

  4. [Create snapshot] ダイアログボックスで、スナップショットの説明を入力し、[Create snapshot] を選択します。

    スナップショットがコンソールを使用して作成されたことを確認できます。

スナップショットはボリュームと同じ行の [Snapshots] に表示されます。

スナップショットスケジュールの編集

保管型ボリュームの場合、AWS Storage Gateway はデフォルトのスナップショットスケジュール (1 日 1 回) を作成します。

注記

デフォルトのスナップショットスケジュールを削除することはできません。保管型ボリュームには少なくとも 1 つのスナップショットスケジュールが必要です。ただし、毎日のスナップショットが発生する時間か、頻度 (1、2、4、8、12、または 24 時間ごと) か、またはその両方を指定して、スナップショットスケジュールを変更できます。

キャッシュ型ボリュームの場合、AWS Storage Gateway はデフォルトのスナップショットスケジュールを作成しません。データは Amazon S3 に保存されるため、デフォルトのスケジュールは作成されません。このため、災害復旧用のスナップショットまたはスナップショットスケジュールは必要ありません。ただし、必要に応じていつでもスナップショットスケジュールを設定できます。キャッシュ型ボリュームのスナップショットを作成することは、必要時のデータ復元のためのもう 1 つの方法となります。

ボリュームのスナップショットスケジュールを編集するには、次の手順に従います。

ボリュームのスナップショットスケジュールを編集するには

  1. Storage Gateway コンソール (https://console.aws.amazon.com/storagegateway/home

  2. ナビゲーションペインで [Volumes] を選択し、スナップショットが作成されたボリュームを選択します。

  3. [Actions (アクション)] で、[Edit snapshot schedule (スナップショットスケジュールの編集)] を選択します。

  4. [Edit snapshot schedule] ダイアログボックスで、スケジュールを変更し、[Save] を選択します。

スナップショットの削除

ストレージボリュームのスナップショットを削除できます。たとえば、長期間に渡ってストレージボリュームの多数のスナップショットを作成し、古いスナップショットが不要になった場合などは、これを実行できます。スナップショットは増分バックアップなので、スナップショットを削除すると、他のスナップショットで必要とされていないデータのみが削除されます。

Amazon EBS コンソールでは、スナップショットを一度に 1 つずつ削除できます。Amazon EBS コンソールを使用してスナップショットを削除する方法については、「」Amazon EBS スナップショットの削除Amazon EC2 ユーザーガイド。

一度に複数のスナップショットを削除するには、いずれかのスナップショットを使用しますAWSStorage Gateway の操作をサポートする SDK。例については、「を使用したスナップショットの削除AWSSDK for Java」、「を使用したスナップショットの削除AWSSDK for .NET」、および「を使用したスナップショットの削除AWS Tools for Windows PowerShell」を参照してください。

を使用したスナップショットの削除AWSSDK for Java

ボリュームに関連付けられている多数のスナップショットを削除するには、プログラム的な方法を使用します。次の例は、スナップショットを削除する方法を示しています。AWSSDK for Java サンプルコードを使用するには、Java コンソールアプリケーションの実行について理解している必要があります。詳細については、「」を参照してください。開始方法AWSSDK for Java 開発者ガイド。いくつかのスナップショットだけを削除する必要がある場合は、スナップショットの削除 で説明されているように、コンソールを使用します。

例 : を使用したスナップショットの削除AWSSDK for Java

次の Java コード例では、ゲートウェイの各ボリュームのスナップショットと、スナップショットの開始時間が指定した日付の前か後かをリストに表示します。これは、AWSStorage Gateway および Amazon EC2 対応 SDK for Java API。Amazon EC2 API には、スナップショットを操作するためのオペレーションが含まれています。

サービスエンドポイント、ゲートウェイの Amazon リソースネーム (ARN) およびスナップショットを保存する日数を提供するコードを更新します。スナップショットは、この期限が削除される前に取得されます。また、viewOnly というブール値も指定する必要があります。この値は、削除されるスナップショットを表示するかどうかや、実際に削除を行うかどうかを示します。まずは、表示オプションだけで (つまり、viewOnlytrue に設定して) コードを実行して、コードによって何が削除されるかを確認します。のリストAWSStorage Gateway で使用できるサービスエンドポイントの詳細については、」AWS Storage GatewayエンドポイントとクォータAWS全般のリファレンス

import java.io.IOException; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; import com.amazonaws.auth.PropertiesCredentials; import com.amazonaws.services.ec2.AmazonEC2Client; import com.amazonaws.services.ec2.model.DeleteSnapshotRequest; import com.amazonaws.services.ec2.model.DescribeSnapshotsRequest; import com.amazonaws.services.ec2.model.DescribeSnapshotsResult; import com.amazonaws.services.ec2.model.Filter; import com.amazonaws.services.ec2.model.Snapshot; import com.amazonaws.services.storagegateway.AWSStorageGatewayClient; import com.amazonaws.services.storagegateway.model.ListVolumesRequest; import com.amazonaws.services.storagegateway.model.ListVolumesResult; import com.amazonaws.services.storagegateway.model.VolumeInfo; public class ListDeleteVolumeSnapshotsExample { public static AWSStorageGatewayClient sgClient; public static AmazonEC2Client ec2Client; static String serviceURLSG = "https://storagegateway.us-east-1.amazonaws.com"; static String serviceURLEC2 = "https://ec2.us-east-1.amazonaws.com"; // The gatewayARN public static String gatewayARN = "*** provide gateway ARN ***"; // The number of days back you want to save snapshots. Snapshots before this cutoff are deleted // if viewOnly = false. public static int daysBack = 10; // true = show what will be deleted; false = actually delete snapshots that meet the daysBack criteria public static boolean viewOnly = true; public static void main(String[] args) throws IOException { // Create a storage gateway and amazon ec2 client sgClient = new AWSStorageGatewayClient(new PropertiesCredentials( ListDeleteVolumeSnapshotsExample.class.getResourceAsStream("AwsCredentials.properties"))); sgClient.setEndpoint(serviceURLSG); ec2Client = new AmazonEC2Client(new PropertiesCredentials( ListDeleteVolumeSnapshotsExample.class.getResourceAsStream("AwsCredentials.properties"))); ec2Client.setEndpoint(serviceURLEC2); List<VolumeInfo> volumes = ListVolumesForGateway(); DeleteSnapshotsForVolumes(volumes, daysBack); } public static List<VolumeInfo> ListVolumesForGateway() { List<VolumeInfo> volumes = new ArrayList<VolumeInfo>(); String marker = null; do { ListVolumesRequest request = new ListVolumesRequest().withGatewayARN(gatewayARN); ListVolumesResult result = sgClient.listVolumes(request); marker = result.getMarker(); for (VolumeInfo vi : result.getVolumeInfos()) { volumes.add(vi); System.out.println(OutputVolumeInfo(vi)); } } while (marker != null); return volumes; } private static void DeleteSnapshotsForVolumes(List<VolumeInfo> volumes, int daysBack2) { // Find snapshots and delete for each volume for (VolumeInfo vi : volumes) { String volumeARN = vi.getVolumeARN(); String volumeId = volumeARN.substring(volumeARN.lastIndexOf("/")+1).toLowerCase(); Collection<Filter> filters = new ArrayList<Filter>(); Filter filter = new Filter().withName("volume-id").withValues(volumeId); filters.add(filter); DescribeSnapshotsRequest describeSnapshotsRequest = new DescribeSnapshotsRequest().withFilters(filters); DescribeSnapshotsResult describeSnapshotsResult = ec2Client.describeSnapshots(describeSnapshotsRequest); List<Snapshot> snapshots = describeSnapshotsResult.getSnapshots(); System.out.println("volume-id = " + volumeId); for (Snapshot s : snapshots){ StringBuilder sb = new StringBuilder(); boolean meetsCriteria = !CompareDates(daysBack, s.getStartTime()); sb.append(s.getSnapshotId() + ", " + s.getStartTime().toString()); sb.append(", meets criteria for delete? " + meetsCriteria); sb.append(", deleted? "); if (!viewOnly & meetsCriteria) { sb.append("yes"); DeleteSnapshotRequest deleteSnapshotRequest = new DeleteSnapshotRequest().withSnapshotId(s.getSnapshotId()); ec2Client.deleteSnapshot(deleteSnapshotRequest); } else { sb.append("no"); } System.out.println(sb.toString()); } } } private static String OutputVolumeInfo(VolumeInfo vi) { String volumeInfo = String.format( "Volume Info:\n" + " ARN: %s\n" + " Type: %s\n", vi.getVolumeARN(), vi.getVolumeType()); return volumeInfo; } // Returns the date in two formats as a list public static boolean CompareDates(int daysBack, Date snapshotDate) { Date today = new Date(); Calendar cal = new GregorianCalendar(); cal.setTime(today); cal.add(Calendar.DAY_OF_MONTH, -daysBack); Date cutoffDate = cal.getTime(); return (snapshotDate.compareTo(cutoffDate) > 0) ? true : false; } }

を使用したスナップショットの削除AWSSDK for .NET

ボリュームに関連付けられている多数のスナップショットを削除するには、プログラム的な方法を使用します。次の例は、スナップショットを削除する方法を示しています。AWSSDK for .NET バージョン 2 および 3。サンプルコードを使用するには、.NET コンソールアプリケーションの実行について理解している必要があります。詳細については、「」を参照してください。開始方法AWSSDK for .NET 開発者ガイド。いくつかのスナップショットだけを削除する必要がある場合は、スナップショットの削除 で説明されているように、コンソールを使用します。

例 : を使用したスナップショットの削除AWSSDK for .NET

次の C# コード例では、AWS Identity and Access Management(IAM) ユーザーによってゲートウェイの各ボリュームのスナップショットを一覧表示できます。ユーザーは、スナップショットの開始時間が指定日 (保持期間) 前あるいは後であるかを決定し、保持期間を過ぎたスナップショットを削除できます。この例では、を使用しますAWSStorage Gateway および Amazon EC2 対応 .NET API 対応 SDK。Amazon EC2 API には、スナップショットを操作するためのオペレーションが含まれています。

次のコード例では、を使用しますAWSSDK for .NET バージョン 2 および 3。以前のバージョンの .NET を新しいバージョンに移行できます。詳細については、「」を参照してください。最新バージョンの「」へのコードの移行AWSSDK for .NET

サービスエンドポイント、ゲートウェイの Amazon リソースネーム (ARN) およびスナップショットを保存する日数を提供するコードを更新します。スナップショットは、この期限が削除される前に取得されます。また、viewOnly というブール値も指定する必要があります。この値は、削除されるスナップショットを表示するかどうかや、実際に削除を行うかどうかを示します。まずは、表示オプションだけで (つまり、viewOnlytrue に設定して) コードを実行して、コードによって何が削除されるかを確認します。のリストAWSStorage Gateway で使用できるサービスエンドポイントの詳細については、」AWS Storage GatewayエンドポイントとクォータAWS全般のリファレンス

まず、IAM ユーザーを作成し、最小限の IAM ポリシーを IAM ユーザーにアタッチします。次に、ゲートウェイの自動スナップショットをスケジュールします。

次のコードでは、IAM ユーザーがスナップショットを削除できるようにする最小限のポリシーを作成します。この例では、ポリシーの名前は sgw-delete-snapshot です。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "StmtEC2Snapshots", "Effect": "Allow", "Action": [ "ec2:DeleteSnapshot", "ec2:DescribeSnapshots" ], "Resource": [ "*" ] }, { "Sid": "StmtSgwListVolumes", "Effect": "Allow", "Action": [ "storagegateway:ListVolumes" ], "Resource": [ "*" ] } ] }

次の C# コードでは、指定されたゲートウェイで、ボリュームと指定されたカットオフ期間が一致するすべてのスナップショットを検出し、削除します。

using System; using System.Collections.Generic; using System.Text; using Amazon.EC2; using Amazon.EC2.Model; using Amazon.StorageGateway.Model; using Amazon.StorageGateway; namespace DeleteStorageGatewaySnapshotNS { class Program { /* * Replace the variables below to match your environment. */ /* IAM AccessKey */ static String AwsAccessKey = "AKIA................"; /* IAM SecretKey */ static String AwsSecretKey = "*******************************"; /* Account number, 12 digits, no hyphen */ static String OwnerID = "123456789012"; /* Your Gateway ARN. Use a Storage Gateway ID, sgw-XXXXXXXX* */ static String GatewayARN = "arn:aws:storagegateway:ap-southeast-2:123456789012:gateway/sgw-XXXXXXXX"; /* Snapshot status: "completed", "pending", "error" */ static String SnapshotStatus = "completed"; /* Region where your gateway is activated */ static String AwsRegion = "ap-southeast-2"; /* Minimum age of snapshots before they are deleted (retention policy) */ static int daysBack = 30; /* * Do not modify the four lines below. */ static AmazonEC2Config ec2Config; static AmazonEC2Client ec2Client; static AmazonStorageGatewayClient sgClient; static AmazonStorageGatewayConfig sgConfig; static void Main(string[] args) { // Create an EC2 client. ec2Config = new AmazonEC2Config(); ec2Config.ServiceURL = "https://ec2." + AwsRegion + ".amazonaws.com"; ec2Client = new AmazonEC2Client(AwsAccessKey, AwsSecretKey, ec2Config); // Create a Storage Gateway client. sgConfig = new AmazonStorageGatewayConfig(); sgConfig.ServiceURL = "https://storagegateway." + AwsRegion + ".amazonaws.com"; sgClient = new AmazonStorageGatewayClient(AwsAccessKey, AwsSecretKey, sgConfig); List<VolumeInfo> StorageGatewayVolumes = ListVolumesForGateway(); List<Snapshot> StorageGatewaySnapshots = ListSnapshotsForVolumes(StorageGatewayVolumes, daysBack); DeleteSnapshots(StorageGatewaySnapshots); } /* * List all volumes for your gateway * returns: A list of VolumeInfos, or null. */ private static List<VolumeInfo> ListVolumesForGateway() { ListVolumesResponse response = new ListVolumesResponse(); try { ListVolumesRequest request = new ListVolumesRequest(); request.GatewayARN = GatewayARN; response = sgClient.ListVolumes(request); foreach (VolumeInfo vi in response.VolumeInfos) { Console.WriteLine(OutputVolumeInfo(vi)); } } catch (AmazonStorageGatewayException ex) { Console.WriteLine(ex.Message); } return response.VolumeInfos; } /* * Gets the list of snapshots that match the requested volumes * and cutoff period. */ private static List<Snapshot> ListSnapshotsForVolumes(List<VolumeInfo> volumes, int snapshotAge) { List<Snapshot> SelectedSnapshots = new List<Snapshot>(); try { foreach (VolumeInfo vi in volumes) { String volumeARN = vi.VolumeARN; String volumeID = volumeARN.Substring(volumeARN.LastIndexOf("/") + 1).ToLower(); DescribeSnapshotsRequest describeSnapshotsRequest = new DescribeSnapshotsRequest(); Filter ownerFilter = new Filter(); List<String> ownerValues = new List<String>(); ownerValues.Add(OwnerID); ownerFilter.Name = "owner-id"; ownerFilter.Values = ownerValues; describeSnapshotsRequest.Filters.Add(ownerFilter); Filter statusFilter = new Filter(); List<String> statusValues = new List<String>(); statusValues.Add(SnapshotStatus); statusFilter.Name = "status"; statusFilter.Values = statusValues; describeSnapshotsRequest.Filters.Add(statusFilter); Filter volumeFilter = new Filter(); List<String> volumeValues = new List<String>(); volumeValues.Add(volumeID); volumeFilter.Name = "volume-id"; volumeFilter.Values = volumeValues; describeSnapshotsRequest.Filters.Add(volumeFilter); DescribeSnapshotsResponse describeSnapshotsResponse = ec2Client.DescribeSnapshots(describeSnapshotsRequest); List<Snapshot> snapshots = describeSnapshotsResponse.Snapshots; Console.WriteLine("volume-id = " + volumeID); foreach (Snapshot s in snapshots) { if (IsSnapshotPastRetentionPeriod(snapshotAge, s.StartTime)) { Console.WriteLine(s.SnapshotId + ", " + s.VolumeId + ", " + s.StartTime + ", " + s.Description); SelectedSnapshots.Add(s); } } } } catch (AmazonEC2Exception ex) { Console.WriteLine(ex.Message); } return SelectedSnapshots; } /* * Deletes a list of snapshots. */ private static void DeleteSnapshots(List<Snapshot> snapshots) { try { foreach (Snapshot s in snapshots) { DeleteSnapshotRequest deleteSnapshotRequest = new DeleteSnapshotRequest(s.SnapshotId); DeleteSnapshotResponse response = ec2Client.DeleteSnapshot(deleteSnapshotRequest); Console.WriteLine("Volume: " + s.VolumeId + " => Snapshot: " + s.SnapshotId + " Response: " + response.HttpStatusCode.ToString()); } } catch (AmazonEC2Exception ex) { Console.WriteLine(ex.Message); } } /* * Checks if the snapshot creation date is past the retention period. */ private static Boolean IsSnapshotPastRetentionPeriod(int daysBack, DateTime snapshotDate) { DateTime cutoffDate = DateTime.Now.Add(new TimeSpan(-daysBack, 0, 0, 0)); return (DateTime.Compare(snapshotDate, cutoffDate) < 0) ? true : false; } /* * Displays information related to a volume. */ private static String OutputVolumeInfo(VolumeInfo vi) { String volumeInfo = String.Format( "Volume Info:\n" + " ARN: {0}\n" + " Type: {1}\n", vi.VolumeARN, vi.VolumeType); return volumeInfo; } } }

を使用したスナップショットの削除AWS Tools for Windows PowerShell

ボリュームに関連付けられている多数のスナップショットを削除するには、プログラム的な方法を使用します。次の例は、スナップショットを削除する方法を示しています。AWS Tools for Windows PowerShell。スクリプト例を使用するには、PowerShell スクリプトの実行を熟知している必要があります。詳細については、https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-started.html の「AWS Tools for Windows PowerShellご利用開始にあたって」を参照してください。いくつかのスナップショットだけを削除する必要がある場合は、スナップショットの削除 の説明に従ってコンソールを使用します。

例 : を使用したスナップショットの削除AWS Tools for Windows PowerShell

次の PowerShell スクリプト例では、ゲートウェイの各ボリュームのスナップショットと、スナップショットの開始時間が指定した日付の前か後かをリストに表示します。これは、AWS Tools for Windows PowerShellStorage Gateway および Amazon EC2 用のコマンドレットを使用します。Amazon EC2 API には、スナップショットを操作するためのオペレーションが含まれています。

スクリプトを更新し、ゲートウェイの Amazon リソースネーム (ARN) およびスナップショットを保存する日数を提供する必要があります。スナップショットは、この期限が削除される前に取得されます。また、viewOnly というブール値も指定する必要があります。この値は、削除されるスナップショットを表示するかどうかや、実際に削除を行うかどうかを示します。まずは、表示オプションだけで (つまり、viewOnlytrue に設定して) コードを実行して、コードによって何が削除されるかを確認します。

<# .DESCRIPTION Delete snapshots of a specified volume that match given criteria. .NOTES PREREQUISITES: 1) AWS Tools for Windows PowerShell from https://aws.amazon.com/powershell/ 2) Credentials and AWS Region stored in session using Initialize-AWSDefault. For more info see, https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html .EXAMPLE powershell.exe .\SG_DeleteSnapshots.ps1 #> # Criteria to use to filter the results returned. $daysBack = 18 $gatewayARN = "*** provide gateway ARN ***" $viewOnly = $true; #ListVolumes $volumesResult = Get-SGVolume -GatewayARN $gatewayARN $volumes = $volumesResult.VolumeInfos Write-Output("`nVolume List") foreach ($volumes in $volumesResult) { Write-Output("`nVolume Info:") Write-Output("ARN: " + $volumes.VolumeARN) write-Output("Type: " + $volumes.VolumeType) } Write-Output("`nWhich snapshots meet the criteria?") foreach ($volume in $volumesResult) { $volumeARN = $volume.VolumeARN $volumeId = ($volumeARN-split"/")[3].ToLower() $filter = New-Object Amazon.EC2.Model.Filter $filter.Name = "volume-id" $filter.Value.Add($volumeId) $snapshots = get-EC2Snapshot -Filter $filter Write-Output("`nFor volume-id = " + $volumeId) foreach ($s in $snapshots) { $d = ([DateTime]::Now).AddDays(-$daysBack) $meetsCriteria = $false if ([DateTime]::Compare($d, $s.StartTime) -gt 0) { $meetsCriteria = $true } $sb = $s.SnapshotId + ", " + $s.StartTime + ", meets criteria for delete? " + $meetsCriteria if (!$viewOnly -AND $meetsCriteria) { $resp = Remove-EC2Snapshot -SnapshotId $s.SnapshotId #Can get RequestId from response for troubleshooting. $sb = $sb + ", deleted? yes" } else { $sb = $sb + ", deleted? no" } Write-Output($sb) } }

ボリュームステータスと移行について

各ボリュームには、ボリュームの状態をわかりやすく示すステータスが関連付けられています。ほぼ常に、ステータスは、ボリュームが正常に機能しており、ユーザーによる対応は不要であることを示しています。まれに、ボリュームで問題が発生していることをステータスが示すことがあり、ユーザーによる対応が必要かどうかは問題によって異なります。このセクションでは、ユーザーによる対応が必要かどうかを判断するために役立つ情報を示します。ボリュームステータスは、Storage Gateway コンソールで、または Storage Gateway API オペレーション (たとえば、DescribeCachediSCSIVolumesまたはDescribeStorediSCSIVolumes

ボリュームのステータスについて

次の表では、Storage Gateway コンソールのボリュームステータスを示しています。ボリュームステータスは、ゲートウェイの各ストレージボリュームの [Status] 列に表示されます。通常どおり機能しているボリュームのステータスは [Available (使用可能)] となっています。

次の表では、各ストレージボリュームのステータスについての説明と、各ステータスごとの対応のタイミングおよびその必要性についてを示しています。[Available (使用可能)] ステータスは、ボリュームの正常な状態を示すステータスです。ボリュームの使用中は常に、またはほとんどの場合にこのステータスである必要があります。

ステータス 意味
使用可能

ボリュームは使用できます。このステータスは、ボリュームが正常に実行中であることを示すステータスです。

[ブートストラッピング] フェーズが完了すると、ボリュームは [Available (使用可能)] ステータスに戻ります。つまり、ゲートウェイは最初に [Pass Through (パススルー)] ステータスになってからボリュームに生じたすべての変更を同期します。

ブートストラッピング

ゲートウェイでは、に保存されたデータのコピーとローカルでデータを同期させています。AWS。ほとんどの場合、ストレージボリュームのステータスは自動的に [Available (使用可能)] になるため、通常このステータスに対しては何もする必要はありません。

ボリュームのステータスが [ブートストラッピング] の場合、以下のシナリオが考えられます。

  • ゲートウェイが予期せずシャットダウンした。

  • ゲートウェイのアップロードバッファの容量を超えた。このシナリオでは、ボリュームのステータスが [Pass Through (パススルー)] で、アップロードバッファの空き容量が十分に増設されたときに、ブートストラップが発生します。アップロードバッファの空き領域の割合を増やす 1 つの方法として、追加のアップロードバッファ領域を用意できます。特にこのシナリオでは、ストレージボリュームのステータスが [Pass Through (パススルー)] から [ブートストラッピング] に変わってから、[Available (使用可能)] に変わります。ブートストラップの間もこのボリュームを使い続けることができます。ただし、この時点でボリュームのスナップショットを作成することはできません。

  • 保管型ボリュームゲートウェイを作成していて、既存のローカルディスクデータを保存しています。このシナリオでは、ゲートウェイステータスがすべてのデータをAWS。ボリュームにはブートストラッピングステータスが、ローカルディスクの全データがAWS。ブートストラップの間もボリュームを使用できます。ただし、この時点でボリュームのスナップショットを作成することはできません。

作成

ボリュームは現在作成中であり、使用準備ができていません。[Creating (作成中)] は過渡的なステータスです。アクションは必要ありません。

削除

ボリュームは削除中です。[Deleting (削除中)] ステータスは過渡的なものです。アクションは必要ありません。

回復不可能

エラーが発生し、ボリュームは回復できません。この場合の操作については、「ボリュームに関するトラブルシューティング」を参照してください。

パススルー

ローカルに保持されているデータは、に格納されたデータと同期されていませんAWS。ボリュームが [パススルー] ステータスにあるときに書き込まれたデータは、ボリュームのステータスが [ブートストラッピング] になるまでキャッシュに残ります。このデータは、へのアップロードを始めますAWSメトリックブートストラッピングステータスが開始されます。

[パススルー] ステータスになる理由にはいくつかあり、以下のような理由が考えられます。

  • ゲートウェイでアップロードバッファ領域が不足した場合、[パススルー] ステータスになります。ボリュームのステータスが [パススルー] である間、アプリケーションでストレージボリュームからのデータの読み込み、および書き込みを続けることができます。ただし、ゲートウェイではそのアップロードバッファにボリュームデータを書き込むことも、このデータをAWS。

    ゲートウェイでは、ボリュームのステータスが [パススルー] になるまで、ボリュームに書き込まれたデータのアップロードが続行されます。ボリュームのステータスが [パススルー] である間は、保留中またはスケジュールされたストレージボリュームのスナップショットは作成できません。アップロードバッファの超過が原因でストレージボリュームのステータスが [パススルー] である場合に行う操作については、「ボリュームに関するトラブルシューティング」を参照してください。

    ACTIVE ステータスに戻すには、[パススルー] にあるボリュームで [ブートストラッピング] フェーズを完了する必要があります。実行時ブートストラッピングの場合、ボリュームは同期を再確立しますAWSを有効にして、ボリュームの変更レコード (ログ) が再開され、CreateSnapshot機能。[ブートストラッピング] 実行中、ボリュームへの書き込みはアップロードバッファに記録されます。

  • 複数のストレージボリュームで同時にブートストラップが発生したときは、[パススルー] ステータスになります。1 度に 1 つのゲートウェイストレージのみがブートストラップを行うことができます。たとえば、2 つのストレージボリュームを作成し、両方で既存データの保存を選択するとします。この場合、2 番目のストレージボリュームは、最初のストレージボリュームがブートストラップを終了するまで、[パススルー] ステータスとなります。このシナリオでは、必要となる動作はありません。各ストレージボリュームは、作成が完了すると自動的に [Available (使用可能)] ステータスに移行します。ストレージボリュームのステータスが [パススルー] または [ブートストラッピング] の間は、ストレージボリュームの読み込みおよび書き込みができます。

  • まれに、[パススルー] ステータスが、アップロードバッファの使用に割り当てられているディスクでエラーが発生したことを示していることがあります。このシナリオで行う操作については、ボリュームに関するトラブルシューティング を参照してください。

  • [パススルー] ステータスは、ボリュームが [アクティブ] または [ブートストラッピング] ステータスのときに発生することがあります。この場合、ボリュームは書き込みを受信しますが、アップロードされたバッファにはその書き込みを記録 (ログ) するための十分な容量がありません。

  • [パススルー] ステータスは、ボリュームが任意の状態にあり、ゲートウェイが正常にシャットダウンされていない場合に発生します。この種類のシャットダウンは、ソフトウェアがクラッシュした、あるいは VM の電源が切れている場合に生じます。この場合、ボリュームのすべてのステータスは [パススルー] ステータスに変更します。

復元

ボリュームは既存のスナップショットから復元中です。このステータスは、保管型ボリュームにのみ適用されます。詳細については、「Storage Gateway の仕組み(アーキテクチャ)」を参照してください。

同時に 2 つのストレージボリュームを復元する場合、両方のストレージボリュームのステータスが [リストア中] になります。各ストレージボリュームは、作成が完了すると自動的に [Available (使用可能)] ステータスに移行します。[リストア中] ステータスの間は、ストレージボリュームの読み込みと書き込み、およびスナップショットの作成ができます。

パススルーのリストア中

既存のスナップショットから復元中のボリュームで、アップロードバッファの問題が発生しました。このステータスは、保管型ボリュームにのみ適用されます。詳細については、「Storage Gateway の仕組み(アーキテクチャ)」を参照してください。

[パススルーのリストア中] ステータスになる原因の 1 つは、ゲートウェイでアップロードバッファ領域が不足した場合です。ステータスが [パススルーのリストア中] である間、アプリケーションでストレージボリュームのデータの読み込み、および書き込みを続けることができます。ただし、ステータスが [パススルーのリストア中] に、ストレージボリュームのスナップショットを作成することはできません。アップロードバッファ容量の超過が原因でストレージボリュームのステータスが [パススルーのリストア中] になっている場合に行うアクションについては、「ボリュームに関するトラブルシューティング」を参照してください。

まれに、[パススルーのリストア中] ステータスが、アップロードバッファ用に割り当てられているディスクでエラーが発生したことを示していることがあります。このシナリオで行う操作については、ボリュームに関するトラブルシューティング を参照してください。

アップロードバッファ設定なし

ゲートウェイでアップロードバッファが構成されていないため、ボリュームの作成あるいは使用はできません。キャッシュ型ボリューム設定でボリュームにアップロードバッファ容量を追加する方法については、「割り当てるアップロードバッファのサイズの決定」を参照してください。保管型ボリューム設定でボリュームにアップロードバッファ容量を追加する方法については、「割り当てるアップロードバッファのサイズの決定」を参照してください。

アタッチメントステータスについて

Storage Gateway コンソールあるいは API を使用して、ゲートウェイからボリュームをデタッチしたり、ゲートウェイにボリュームをアタッチできます。次の表では、Storage Gateway コンソールでのボリュームアタッチメントを示しています。ボリュームアタッチメントのステータスは、ゲートウェイの各ストレージボリュームの [アタッチメントのステータス] 列に表示されます。たとえば、ゲートウェイからデタッチされたボリュームには [デタッチ済み] のステータスがあります。ボリュームのデタッチとアタッチ方法については、「別のゲートウェイにボリュームを移動する」を参照してください。

ステータス 意味
アタッチ済み

ボリュームはゲートウェイにアタッチされます。

デタッチ済み

ボリュームはゲートウェイからデタッチされます。

デタッチ中

ボリュームはゲートウェイからデタッチされています。ボリュームをデタッチするときにこのボリュームにデータがない場合、このステータスが表示されないことがあります。

キャッシュ型ボリュームステータスの遷移を理解する

次の図を使用して、キャッシュ型ゲートウェイのボリュームでよく発生するステータス間の遷移を理解します。ゲートウェイを効果的に使用するために、この図を詳しく理解する必要はありません。むしろ、この図はボリュームゲートウェイの仕組みをより良く知るための詳細を提供しています。

この図には、[アップロードバッファ設定なし] ステータスや [Deleting (削除中)] ステータスは含まれていません。図では、ボリュームのステータスを緑、黄、赤のボックスで表しています。各色は次に説明するように理解します。

カラー ボリュームのステータス
Green ゲートウェイは正常に動作しています。ボリュームのステータスは [Available (使用可能)] であるか、またはやがて [Available (使用可能)] になります。
黄色 ボリュームのステータスが [パススルー] です。これは、ストレージボリュームに潜在的な問題があることを示しています。アップロードバッファ領域が満たされているためにこのステータスが表示される場合、バッファ領域が再び利用可能になることがあります。その時点で、ストレージボリュームは [Available (使用可能)] ステータスに自己修正されます。それ以外の場合は、アップロードバッファ領域をゲートウェイに追加して、ストレージボリュームのステータスを [Available (使用可能)] にする必要があります。アップロードバッファ容量が超過した場合にトラブルシューティングする方法については、「ボリュームに関するトラブルシューティング」を参照してください。アップロードバッファ容量を追加する方法については、「割り当てるアップロードバッファのサイズの決定」を参照してください。
ストレージボリュームのステータスが [回復不可能] です。この場合、ボリュームを削除する必要があります。これを行う方法については、「ボリュームを削除するには」を参照してください。

図では、2 つのステータスの間の遷移はラベル付きの線で表されます。たとえば、[Creating (作成中)] ステータスから [Available (使用可能)] ステータスへの遷移には、Create Basic Volume (ベーシックボリュームの作成) or Create Volume from Snapshot (ベーシックボリューム作成あるいはスナップショットからのボリュームの作成) というラベルが付きます。この移行はキャッシュ型ボリュームの作成を表しています。ストレージボリュームの作成方法については、「ボリュームの追加」を参照してください。

注記

ボリュームの [パススルー] ステータスは、黄色でこの図に表示されます。ただし、このステータスアイコンの色は異なります。ステータスボックスに、Storage Gateway コンソールが表示されます。

保管型ボリュームステータスの遷移を理解する

次の図を使用して、保管型ゲートウェイのボリュームでよく発生するステータス間の遷移を理解します。ゲートウェイを効果的に使用するために、この図を詳しく理解する必要はありません。むしろ、ボリュームゲートウェイの仕組みをより良く理解するために、図で説明しています。

この図には、[アップロードバッファ設定なし] ステータスや [Deleting (削除中)] ステータスは含まれていません。図では、ボリュームのステータスを緑、黄、赤のボックスで表しています。各色は次に説明するように理解します。

カラー ボリュームのステータス
Green ゲートウェイは正常に動作しています。ボリュームのステータスは [Available (使用可能)] であるか、またはやがて [Available (使用可能)] になります。
黄色 ストレージボリュームの作成中やデータの保存中に、他のボリュームがブートストラップ中の場合、ステータスは [作成中] から [パススルー] に変わります。この場合、[パススルー] ステータスのボリュームは、[ブートストラッピング] ステータスになり、最初のボリュームのブートストラップが終了すると、[Available (使用可能)] ステータスになります。特定のシナリオがある場合を除き、黄色 ([パススルー] ステータス) は、ストレージボリュームに潜在的な問題があることを示します。最も多いのはアップロードバッファの問題です。アップロードバッファ容量が超過している場合、バッファ領域が再び利用可能になることがあります。その時点で、ストレージボリュームは [Available (使用可能)] ステータスに自己修正されます。それ以外の場合は、アップロードバッファ容量をゲートウェイに追加して、ストレージボリュームのステータスを [Available (使用可能)] に戻す必要があります。アップロードバッファ容量が超過した場合にトラブルシューティングする方法については、「ボリュームに関するトラブルシューティング」を参照してください。アップロードバッファ容量を追加する方法については、「割り当てるアップロードバッファのサイズの決定」を参照してください。
ストレージボリュームのステータスが [回復不可能] です。この場合、ボリュームを削除する必要があります。これを行う方法については、「ボリュームの削除」を参照してください。

次の図では、2 つのステータスの間の遷移はラベル付きの線で表されます。たとえば、[Creating (作成中)] ステータスから [Available (使用可能)] ステータスへの遷移には、Create Basic Volume (ベーシックボリュームの作成) というラベルが付きます。この移行は、データ保存なしでのストレージボリュームの作成、あるいはスナップショットからのボリュームの作成を表しています。

注記

ボリュームの [パススルー] ステータスは、黄色でこの図に表示されます。ただし、このステータスアイコンの色は異なります。ステータスボックスに、Storage Gateway コンソールが表示されます。