第18章 オブジェクトストレージ
Object Storage (swift) サービスは、HTTP 経由でデータを保存および取得します。オブジェクト (データの塊) は、組織的な階層に保存され、匿名の読み取り専用アクセス、ACL 定義のアクセス、または一時的なアクセスを提供するように設定できます。swift は、ミドルウェアを使用して実装される複数のトークンベースの認証メカニズムをサポートします。
アプリケーションは、業界標準の HTTP RESTful API を使用して、オブジェクトストレージにデータを保存し、取得します。バックエンドの swift コンポーネントは同じ RESTful モデルに従いますが、一部の API (耐久性を管理する API など) はクラスターに対してプライベートなままになります。
swift のコンポーネントは以下のプライマリーグループに分類されます。
- プロキシーサービス
- 認証サービス
ストレージサービス
- アカウントサービス
- コンテナーサービス
- オブジェクトサービス
オブジェクトストレージのインストールは、インターネットに接続する必要はなく、パブリックスイッチ (組織の内部ネットワークインフラストラクチャーの一部) を持つプライベートクラウドにすることもできます。
18.1. ネットワークセキュリティー
swift のセキュリティー強化は、ネットワークコンポーネントのセキュリティー保護から始まります。詳細は、ネットワークの章を参照してください。
高可用性を確保する場合、rsync プロトコルがストレージサービスノード間でデータをレプリケートするために使用されます。さらに、プロキシーサービスは、クライアントエンドポイントとクラウド環境間でデータをリレーする際にストレージサービスと通信します。
swift は、ノード間通信に暗号化または認証を使用しません。これは、swift がパフォーマンス上の理由でネイティブ rsync プロトコルを使用し、rsync 通信に SSH を使用しないためです。これが、アーキテクチャー図にプライベートスイッチまたはプライベートネットワーク ([V]LAN) が表示される理由です。このデータゾーンは、他の OpenStack データネットワークからも分離する必要があります。
データゾーン内のストレージノードには、プライベート (V)LAN ネットワークセグメントを使用します。
これには、プロキシーノードにデュアルインターフェイス (物理または仮想) が必要です。
- コンシューマーが到達できるパブリックインターフェイスとして 1 つのインターフェイス。
- ストレージノードにアクセスできるプライベートインターフェイスとしての別インターフェイス。
以下の図は、Object Storage ネットワークアーキテクチャーと管理ノード (OSAM) を使用する、可能なネットワークアーキテクチャーの 1 つを示しています。