ストレージ・ゲートウェイの概要

ストレージ・ゲートウェイは、オンプレミス・アプリケーションをOracle Cloud Infrastructureに接続できるクラウド・ストレージ・ゲートウェイです。データをNFSターゲットに書き込むことができるアプリケーションでは、REST APIを取り込むためにアプリケーションを変更しなくても、Oracle Cloud Infrastructure Object Storageにデータを書き込むことができます。

重要

ストレージ・ゲートウェイは、Oracle Cloud Infrastructure Classicと一緒にリリースされたストレージ・ソフトウェア・アプライアンスが発展したものです。Oracle Cloud Infrastructure Object Storageに移行すると、ファイルとオブジェクトの関係の透過性が向上し、スケール機能とパフォーマンスが強化されているストレージ・ゲートウェイを使用することになります。

可用性

ストレージ・ゲートウェイ・サービスは、すべてのOracle Cloud Infrastructure商用リージョンで使用できます。使用可能なリージョンのリスト、および関連する場所、リージョン識別子、リージョン・キー、可用性ドメインは、リージョンおよび可用性ドメインについてを参照してください。

ストレージ・ゲートウェイおよびOracle Cloud Infrastructureの概念

Oracle Cloud Infrastructure Storage Gatewayを使用する上で重要な概念を次に示します。

ファイル・システム
ローカル・ホスト上のストレージ・ゲートウェイ・ファイル・システムにあるファイルとディレクトリは、対応するOracle Cloud Infrastructure Object Storageバケット内の同じ名前のオブジェクトにマップされます。
ファイル・システム・キャッシュ
ストレージ・ゲートウェイに構成できるファイル・システム・キャッシュを使用すると、クラウドへのデータの移動が最適化されて非同期で行えるようになります。ファイル・システム・キャッシュは、データの格納と取得のための、書込みバッファと読取りキャッシュの両方として機能します。書込みバッファには、ディスク・キャッシュにコピーされ、Oracle Cloud Infrastructureへのアップロードのためにキューに入れられたデータが含まれます。読取りキャッシュには、頻繁に取得されるデータが含まれ、読取り操作でローカルにアクセスできます。
適切なファイル・システム・キャッシュ構成は、ストレージ・ゲートウェイのパフォーマンスにとって重要です。詳細は、ファイル・システムのキャッシュの構成を参照してください。
メタデータ
ストレージ・ゲートウェイ・ファイルに関連付けられたメタデータは、対応するオブジェクトのカスタム・メタデータとしてOracle Cloud Infrastructure Object Storageに格納されます。ファイル・メタデータの例には、オブジェクトID、作成日、変更日、サイズ、権限などがあります。ストレージ・ゲートウェイは、ファイル・システムのすべてのメタデータをローカルにキャッシュします。
NFSV4
NFSは、定評があり広く採用されている、ネットワーク・ストレージを処理するための分散ファイル・システム・プロトコルです。NFSを使用すると、クライアント・コンピュータはリモート・サーバーにファイル・システムをマウントし、ネットワークを介してそれらのリモートファイル・システムがローカル・ファイル・システムであるかのようににアクセスできます。ストレージ・ゲートウェイは、Oracle Cloud Infrastructure Object Storageとの相互作用に必要なNFSからREST APIへの変換を実行します。
ORACLE CLOUD INFRASTRUCTURE
Oracle Cloud Infrastructureは、可用性の高いホスト環境で様々な種類のアプリケーションとサービスを構築および実行できる補完型クラウド・サービスのセットです。Oracle Cloud Infrastructureは、オンプレミス・ネットワークからセキュアにアクセスできる柔軟なオーバーレイ仮想ネットワークにおいて、高パフォーマンスな計算機能(物理ハードウェア・インスタンスとして)とストレージ容量を提供します。
テナンシ
テナンシは、クラウド・リソースを作成、整理および管理するための、Oracle Cloud Infrastructure内のセキュアで分離されたパーティションです。
オブジェクト・ストレージおよびアーカイブ・ストレージ
Oracle Cloud Infrastructureでは、構造化されていないデータを格納するために2つの異なるストレージ層が用意されています。オブジェクト・ストレージ標準層は、素早く、即時に、頻繁にアクセスする必要があるデータのために使用します。アーカイブ・ストレージ・サービスのアーカイブ層は、アクセス頻度が低いが長期間保存する必要があるデータのために使用します。両方のストレージ層では、同じ管理可能リソース(オブジェクトやバケットなど)が使用されます。違いは、ファイルをアーカイブ・ストレージにアップロードすると、そのオブジェクトはすぐにアーカイブされることです。アーカイブされたオブジェクトにアクセスするには、まずオブジェクトを標準層にリストアする必要があります。
ノート

ストレージ・ゲートウェイのドキュメントで、オブジェクト・ストレージと記載されている場合、標準ストレージ層とアーカイブ・ストレージ層の両方が含まれます。
どちらのストレージ層も、使いやすくパフォーマンスに優れ、容量制限なしで拡張できます。
バケット
オブジェクト・ストレージ・バケットは、オブジェクトを格納するための論理コンテナです。ストレージ・ゲートウェイに作成されたファイル・システムは、オブジェクト・ストレージ内の同じ名前の対応するバケットにマップされます。1つのバケットは、単一のOracle Cloud Infrastructureコンパートメント に関連付けられます。コンパートメントのポリシー によって、バケットとそれに含まれるオブジェクトに対してユーザーが実行できるアクションが決まります。
オブジェクト
NFS共有上のストレージ・ゲートウェイ・ファイル・システムに書き込まれる個々のファイルまたはディレクトリにより、対象となるオブジェクト・ストレージのバケット内に同じ名前のオブジェクトが作成されます。オブジェクトは、オブジェクト自体と、そのオブジェクトに関するメタデータで構成されます。
ネームスペース
Oracle Cloud Infrastructure Object Storageのすべてのバケットとオブジェクトの最上位コンテナとして使用される論理エンティティ。ネームスペースを使用して、テナンシ内のバケットの命名方法を管理できます。各テナンシには、編集できない一意のグローバルなオブジェクト・ストレージ・ネームスペースがあり、すべてのコンパートメントとリージョンにまたがっています。バケット名はテナンシ内で一意である必要があります。
コンパートメント
Oracle Cloud Infrastructure関連のリソースの集まり。管理者によって明示的に付与されたアクセス権限を持つユーザーおよびグループのみが、このリソースにアクセスできます。コンパートメントは、それらのリソースへのアクセスを簡単に制御できるように、リソースを編成するのに役立ちます。Oracle Cloud Infrastructureでは、テナンシのプロビジョニング時にルート・コンパートメントが自動的に作成されます。管理者は、ルート・コンパートメントにさらにコンパートメントを作成し、それらのコンパートメントのアクセス・ルールを追加できます。1つのバケットは1つのコンパートメントにしか存在できません。

ストレージ・ゲートウェイの動作

ストレージ・ゲートウェイは、Oracle Cloud Infrastructureコンピュート・インスタンスにインストールされるか、オンプレミス・データ・センターで1つ以上のホストにLinux Dockerインスタンスとしてインストールされます。アプリケーションは、ストレージ・ゲートウェイに作成したファイル・システムを介して、Oracle Cloud Infrastructure Object Storageに対してオブジェクトの格納と取得を行います。

ストレージ・ゲートウェイは、NFSv4クライアントをサポートするすべてのホストにマウント可能なNFSマウント・ポイントを公開します。ストレージ・ゲートウェイのマウント・ポイントは、オブジェクト・ストレージのバケットにマップされます。

ストレージ・ゲートウェイオブジェクト・ストレージの間のファイルとオブジェクトの関係は透過的です:

  • ローカル・ホスト上のストレージ・ゲートウェイのファイル・システム・ディレクトリは、Oracle Cloud Infrastructure Object Storage内の同じ名前のバケットにマップされます。

  • ストレージ・ゲートウェイのファイル・システムに書き込まれるファイルは、関連付けらているオブジェクト・ストレージのバケットに同じ名前のオブジェクトとして書き込まれます。関連付けられたファイル属性がオブジェクト・メタデータとして格納されます。

    書き込まれたファイルは、関連付けられたオブジェクト・ストレージ・バケットに非同期にアップロードされます。

  • オブジェクト・ストレージのオブジェクトには、ネイティブAPI、SDK、サードパーティ・ツール、HDFSコネクタ、およびOracle Cloud InfrastructureのCLIとコンソールを使用して直接アクセスできます。ストレージ・ゲートウェイリフレッシュ操作を使用すると、オブジェクト・ストレージで直接追加または変更されたデータが取り込まれます。

通常、エンタープライズ・アプリケーションは、ネストされたディレクトリ内のファイルを操作します。オブジェクト・ストレージのバケットおよびそれらのバケット内のオブジェクトは、フラットに存在します。ストレージ・ゲートウェイは、ディレクトリ階層をフラット化して、オブジェクト・ストレージのネストされたオブジェクトの接頭辞に変換します。詳細は、オブジェクト・ストレージとの相互作用を参照してください。

FastConnect

ストレージ・ゲートウェイ・タスクでのFastConnectの使用について学習します。

Oracle Cloud Infrastructure FastConnectは、ストレージ・ゲートウェイのタスクで使用できます。FastConnectは、データ・センターとOracle Cloud Infrastructureとの間に専用のプライベート接続を簡単に作成する方法を提供します。FastConnectは、高帯域幅のオプションを備えており、インターネット・ベースの接続に比べて、信頼性の高い一貫性のあるネットワーキング・エクスペリエンスを提供します。

詳細は、FastConnectを参照してください。

Site - to - Site VPN

ストレージ・ゲートウェイ・タスクでのサイト間VPNの使用について学習します。

Oracle Cloud Infrastructure Site - to - Site VPNは、ストレージ・ゲートウェイのタスクで使用できます。サイト間VPNは、オンプレミス・ネットワークと仮想クラウド・ネットワーク(VCN)との間にIPSec接続を提供します。

詳細は、Site - to - Site VPNを参照してください。

サポートされていない使用方法およびワークロード

ストレージ・ゲートウェイでは、次の使用方法およびワークロードはサポートされません。

WINDOWSオペレーティング・システム

Storage Gatewayは現時点ではWindowsオペレーティング環境またはWindowsソリューションに対応していません。

ノート

オブジェクト・ストレージへのアクセス方法の詳細は、オブジェクト・ストレージへのアクセス方法を参照してください。WindowsおよびOracle Cloud Infrastructure Object Storageを操作するためのソリューションについては、アーキテクチャ・チームに問い合せてください。

汎用ネットワーク・ストレージ
ストレージ・ゲートウェイは、汎用のストレージ・ファイラではありません。従来のネットワーク・ストレージ・アプライアンスのかわりに使用しないでください。
ファイルの同期と共有
ストレージ・ゲートウェイのデータ転送機能は優れていますが、ファイル同期サービスや共有サービスのかわりにはなりません。ファイルの同期や共有の機能が必要な場合は、Oracle Document CloudサービスなどのOracleサービスを検討してください。
コンテンツ・コラボレーション
ストレージ・ゲートウェイでは、複数のストレージ・ゲートウェイ・インスタンスが1つのオブジェクト・ストレージ・バケットに対して同時に読取りと書込みを行うことはサポートされません。分散チームがコンテンツの作成と管理でコラボレーションするためのツールとして、ストレージ・ゲートウェイを使用しないでください。
頻繁に変更されるファイル
データが頻繁に変更されることが予想される場合、ストレージ・ゲートウェイを使用しないでください。ファイルが変更されて閉じられると、ストレージ・ゲートウェイは、そのたびに更新バージョンを作成して、それを新規オブジェクトとしてオブジェクト・ストレージにアップロードします。データが頻繁に変更されると、帯域幅の消費と容量の使用に関して効率がかなり低下します。
同期ワークロード

ストレージ・ゲートウェイは、ファイルをオブジェクト・ストレージ・バケットに非同期にアップロードして、最終的な一貫性を提供します。Object Storageバケットに直接アップロードされたファイルは、ローカルStorage Gatewayファイル・システムにリアルタイムでは反映されません。ストレージ・ゲートウェイ管理コンソールで「リフレッシュ」をクリックするか、自動リフレッシュを使用して、オブジェクト・ストレージで直接追加または変更されたデータが取り込まれます。

自動リフレッシュが積極的な間隔で構成されている場合、リフレッシュは進行中のリフレッシュが終了したときにのみ発生します。つまり、連続する2つのリフレッシュの開始時刻から開始時刻までの時間は、指定された自動リフレッシュ間隔に、ファイル・システムのリフレッシュを実行するために必要な時間を加えたものと等しくなるため、ストレージ・ゲートウェイNFSマウントとオブジェクト・ストレージ・バケットの内容は非同期になります。また、ネットワーク接続に問題がある場合は、バケットに直接アップロードされたファイルが同期されていない可能性があります。

詳細は、Managing File Systemsを参照してください。
大きなディレクトリ・ツリーの名前変更
ストレージ・ゲートウェイでのディレクトリの名前変更は、小さいディレクトリ・ツリーの場合は適切に機能します。しかし、多数の子がある親ディレクトリの名前を変更すると、時間がかかる場合があります。このサービスでは、新しいパスを反映するように、オブジェクト・ストア内の対応するすべての子オブジェクトのオブジェクトIDが更新されます。名前変更を開始した場合は、ストレージ・ゲートウェイのユーザー・インタフェースで「保留中のアップロード」フィールドをモニタリングして、アクションが終了したことを確認してください。

セキュリティに関する考慮事項

管理パスワード
ストレージ・ゲートウェイ管理者はファイル・システムを作成、変更および削除できるため、次のパスワードのガイドラインに従います:
  • 強力なパスワードを設定します。
  • パスワードが安全であることを確認します。
  • 他のユーザーにパスワードを伝えるのは必要な場合のみにします。
DOCKER
ストレージ・ゲートウェイは、セキュリティと分離のためにDockerコンテナ内で実行されます。次のDocker関連のガイドラインと推奨事項に従います:
  • Dockerインスタンスの操作は回避するか最小限に抑えます。
  • Dockerコンテナへのログインを回避します。Dockerコンテナにログインする必要性が本当に高い場合は、サービスの混乱を避けるために十分な注意を払います。オラクル社サポート担当者から指示がないかぎり、Dockerの構成またはDockerインスタンスを変更しないでください。
  • NFSプロトコルはクライアントからファイル・システムへのアクセスを制御しますが、ストレージ・ゲートウェイのファイル・システムもDockerコンテナ内にローカルにマウントされます。ファイル・システム・データへの不正アクセスを防止するために、Dockerコンテナには管理者または認可ユーザーしかアクセスできないことを確認します。
  • Dockerホストを構成し、ストレージ・ゲートウェイのDockerコンテナへのユーザー・アクセスを制限します。
  • Dockerコンテナ内のファイルとディレクトリは、Dockerホストでも確認できます。通常、Dockerホスト内でプロビジョニングされたファイル・システムとディレクトリはコンテナにマップされます。適切な所有権とモードを設定して、管理者または認可ユーザーのみがこれらのフォルダにアクセスできるようにします。次をお薦めします:
    • 専用ストレージ・ゲートウェイ・ホスト。
    • ストレージ・ゲートウェイ・ホストにアクセスできるユーザーを制限します。
    • DockerホストおよびDockerコンテナへのアクセスを制限するファイアウォール・ルールを設定します。
    • ストレージ・ゲートウェイに関連付けられたファイルのバックアップと保持のポリシーを実装します。
アクセス制御
デフォルトのファイル・システムのエクスポート・オプションには制限が不足しています。信頼できるNFSクライアントのみがファイル・システムのデータとメタデータにアクセスできるように、より限定的なエクスポート・オプションを設定します。ファイル・システムの拡張設定、「NFS許可ホスト」および「NFSエクスポート・オプション」を変更して、ファイル・システムへのアクセスを制限します。NFSプロトコルのセキュリティに加えて、ホストにファイアウォールを設定して構成し、ファイル・システムへのアクセスをさらに制御することもできます。UID/GID/モードは、ファイルおよびディレクトリへのアクセスを制御します。適切な所有権モードを設定して機密データを保護します。
オブジェクト・ストレージ
ファイル・システム内のファイルはOracle Cloud Infrastructureにアップロードされ、オブジェクト・ストレージ・バケットにオブジェクトとして格納されます。関連付けられたファイル属性は、オブジェクト・メタデータとして格納されます。オブジェクト・ストレージのアクセス制御は、従来のファイル・システムのアクセス制御とは異なります。バケット内のいずれかのオブジェクトに対して読取りまたは変更の権限を持つユーザーは、そのバケット内のすべてのオブジェクトの読取りまたは変更ができます。機密データを保護するには、Oracle Cloud Infrastructure IAMポリシーを設定して、バケット内のオブジェクトにアクセスできるユーザーを制限します。
ストレージ・ゲートウェイでは、データをOracle Cloud Infrastructureに転送する際にHTTPSが使用されるため、これによってストレージ・ゲートウェイとクラウドの間で転送中のデータ・パケットは暗号化されます。オブジェクト・ストレージに書き込まれるデータは、常にクラウドで自動的に暗号化されます。
ネットワーキング

信頼できるネットワークへのオープン・ネットワーク・ポート・アクセスのみを使用してください。Oracleでは、パブリック・インターネットへのネットワーク・ポートを開かないことを強くお薦めします。かわりに、VPNやSSHローカル・フォワード・トンネルなど、ストレージ・ゲートウェイ管理コンソールをホストしているマシンへのプライベート接続を使用します。詳細は、Site - to - Site VPNを参照してください。

SSHローカル・フォワード・トンネルには、次の構文を使用します。

ssh -L localHost:localPort:remoteHost:remotePort remoteHost

詳細は、https://www.ssh.com/ssh/tunneling/example#local-forwardingを参照してください。

ストレージ・ゲートウェイ・リソースの制限

適用可能な制限の一覧と制限の引上げをリクエストする手順は、「サービス制限」を参照してください。

その他の制限は次のとおりです:

  • ストレージ・ゲートウェイ当たりのファイル・システム数が10を超えないようにします。最適なパフォーマンスを得るには、各ファイル・システムを専用のストレージ・ゲートウェイでホストします。
  • ストレージ・ゲートウェイのファイル・システムに格納されるオブジェクト数が1億個を超えないようにします。1億個を超えるオブジェクトで構成されるデータセットの場合は、複数のストレージ・ゲートウェイにオブジェクトを分散します。
  • ファイル・システム・キャッシュに対して適切なローカル・ストレージを構成します。推奨値の500GB未満の構成である場合、ストレージ・ゲートウェイによって警告が表示されます。
  • ストレージ・ゲートウェイのファイル・システムに必要なメモリーの最小容量は、16GBです。

    • ファイルが5000万個までのファイル・システムでは、32GBのメモリーが必要です。
    • ファイルが1億個までの大規模ファイル・システムでは、64GBのメモリーが必要です。
  • キャッシュ内のファイル数の制限は20,000個です。指定したキャッシュ・サイズ(バイト単位)には関係ありません。
  • ファイルの取込みやクラウドへのアップロード操作の効率を高めたり、ネームスペース内のオブジェクト数を減らしたりするには、ストレージ・ゲートウェイに書き込む前に小規模ファイルをバイナリ形式にパックするか圧縮します。