Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

RGW(アールジーダブリュー)とは | 意味や読み方など丁寧でわかりやすい用語解説

RGW(アールジーダブリュー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

リグウォ (リグウォ)

英語表記

RGW (アールジーダブリュー)

用語解説

RGWはRados Gatewayの略であり、分散ストレージシステムであるCephが提供するオブジェクトストレージサービスへのアクセスゲートウェイである。具体的には、Amazon S3やOpenStack Swiftといった広く普及しているオブジェクトストレージのAPI(Application Programming Interface)と互換性のあるインターフェースを提供し、クライアントがCephクラスタにデータを保存したり、そこからデータを取得したりできるようにする役割を持つ。これにより、既存のS3やSwiftに対応したアプリケーションやツールを特別な変更なしにCephのオブジェクトストレージで利用できるようになり、クラウドネイティブな環境でのデータ管理を容易にする。

オブジェクトストレージは、ファイルやブロックといった従来のストレージ形式とは異なり、データを「オブジェクト」という単位で管理する。各オブジェクトはデータ本体と、そのデータを説明するメタデータ(作成日時、サイズ、タイプなど)および一意の識別子で構成される。この方式は非常に高いスケーラビリティ、耐久性、可用性を提供し、大量の非構造化データ(画像、動画、バックアップデータ、Webコンテンツなど)を扱うのに適している。オブジェクトストレージへのアクセスは、HTTP/HTTPSベースのRESTful APIを通じて行われるのが一般的である。

Cephは、Software-Defined Storage(SDS)の一種であり、コモディティハードウェア上で高いスケーラビリティと耐障害性を持つストレージシステムを構築するためのオープンソースプロジェクトである。その核となるのはRados(Reliable Autonomic Distributed Object Store)と呼ばれる分散オブジェクトストレージであり、全てのデータはRadosにオブジェクトとして保存される。CephはRadosを基盤として、オブジェクトストレージ、ブロックストレージ(RBD: Rados Block Device)、ファイルシステム(CephFS)の3種類のストレージインターフェースを提供する。RGWは、この3種類のインターフェースのうち、オブジェクトストレージ機能を提供するゲートウェイサービスに当たる。

RGWのアーキテクチャでは、RGWサービス自体がHTTPサーバーとして機能し、クライアントからのRESTful APIリクエストを受け付ける。これらのリクエストは、S3またはSwiftのプロトコルに準拠している。RGWは受け取ったリクエストを解析し、Cephクラスタ内のRadosにアクセスして実際のデータ操作を行う。たとえば、クライアントがS3互換のAPIを使ってオブジェクトをアップロードする際、RGWはそのリクエストを受け取り、内部的にRadosオブジェクトとしてCephクラスタのOSD(Object Storage Daemon)にデータを書き込む。同様に、オブジェクトのダウンロードリクエストが来た場合も、RGWがRadosからデータを読み出し、クライアントに返す。

RGWはユーザー認証と認可の機能も提供する。S3互換APIの場合、アクセスキーとシークレットキーを使用した署名付きリクエストによる認証をサポートし、Swift互換APIの場合はトークンベースの認証を用いる。これにより、どのユーザーがどのデータに対してどのような操作(読み取り、書き込み、削除など)を許可されているかを細かく制御できる。また、S3のバケットやオブジェクトに対するACL(Access Control List)やIAM(Identity and Access Management)ポリシーに相当する機能も実装しており、セキュリティを強化している。

RGWは非常にスケーラブルな設計を持つ。複数のRGWインスタンスをデプロイし、ロードバランサーを介してトラフィックを分散させることで、処理能力と可用性を向上させることが可能である。各RGWインスタンスはステートレスであり、どのRGWインスタンスを介しても同じストレージデータにアクセスできるため、特定のRGWに障害が発生しても、他のインスタンスが処理を引き継ぎ、サービスの中断を防ぐことができる。データ自体の耐久性や冗長性は、RGWの背後にあるCephクラスタのRadosが担当し、データのレプリケーションやイレイジャーコーディングといったメカニズムによって保護される。

RGWの主な利用シナリオには、クラウドネイティブアプリケーションのバックエンドストレージ、Webサイトやモバイルアプリケーションのコンテンツ配信、ビッグデータ分析のためのデータレイク、長期的なデータアーカイブ、既存のS3/Swift対応アプリケーションからのデータ移行などがある。オープンソースであるCephの一部として提供されるため、商用のオブジェクトストレージサービスに依存せず、自社のインフラストラクチャ上でオブジェクトストレージ環境を構築・運用したい場合に非常に有力な選択肢となる。

関連コンテンツ

関連IT用語