EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

抄録:『絵で見てわかるクラウドインフラとAPIの仕組み』 今さら聞けないクラウドAPIの基本 第2章【後編】:オブジェクトストレージとWebシステムの構築例

  2020/10/23 08:00

 前回は、書籍『絵で見てわかるクラウドインフラとAPIの仕組み』(翔泳社 平山 毅、中島 倫明、中井 悦司、矢口 悟志、森山 京平、元木 顕弘 著)より、サーバーリソースとブロックストレージリソースを解説した部分を抜粋して紹介しました。今回は、第2章(中井 悦司 著)の締めとなる部分からオブジェクトストレージとWebアプリケーションシステムというテーマで抜粋。ぜひ、最後まで読んでクラウドのコンポーネントに関する知識習得にお役立てください。

2.5 オブジェクトストレージ

 オブジェクトストレージは、ファイル単位でデータを格納するデータストアです。HTTP/HTTPS のプロトコルを用いてファイルを出し入れするファイルサーバー的な機能を提供します。仮想マシンインスタンスのゲスト OS からファイルを出し入れするほかに、外部ネットワークから直接にファイルを出し入れすることも可能です。

2.5.1 オブジェクトストレージの基本機能

 オブジェクトストレージは、ファイル単位でデータを格納する機能を提供します。格納したファイルの一部を上書きで変更することはできないので、ファイルの内容を書き換える場合は、一度、ファイルを取り出した後、変更したファイルを再格納する必要があります。

 このように、提供する機能はとてもシンプルですが、高い可用性と高速なスループットを持つので、動画ファイルや画像ファイルなど、大量のファイルを保存するのに適しています。オブジェクトストレージに格納するファイルのことを「オブジェクト」と呼ぶこともあります。

 また、これまでに説明したコンポーネントは、リージョンやアベイラビリティゾーンによって特定の場所や地域にひも付けられていましたが、オブジェクトストレージは、複数の場所や地域から共通に利用することができます。

 たとえば、AWS が提供するオブジェクトストレージのサービスである「Amazon S3」では、オブジェクトの保存領域となる「S3 バケット」はリージョンごとに用意されますが、他のリージョンの仮想マシンインスタンスからでも、インターネットを介してアクセスすることが可能です。

 あるリージョンの仮想マシンインスタンスからファイルを保存した後、それを他のリージョンの仮想マシンインスタンスから取り出すような使い方が可能になります(図 2.19)。

図2.19 リージョンを越えて利用できるオブジェクトストレージ
図2.19 リージョンを越えて利用できるオブジェクトストレージ

 オブジェクトストレージにファイルを保存する際は、オブジェクトの入れ物となる「コンテナ」を作成します。AWS では、先ほどの「S3 バケット」がコンテナに相当します[※7]。Linux のディレクトリに似ていますが、コンテナの中にコンテナを作成することはできません。ただし、ディレクトリ名付きでファイルを出し入れすることは可能です。

 たとえば、ディレクトリ名を付けて「dir01/file01」というファイルを保存すると、内部的には、「dir01/file01」という名称のオブジェクトがコンテナに保存される形になります(図 2.20)。格納したファイルに対するアクセス権の設定は、コンテナの単位で行ないます。

 また、それぞれのオブジェクトには、(Key, Value)形式のメタデータを付与することが可能です。アプリケーションと連携して利用する際は、メタデータによって、アプリケーションが取り出すファイルを選択するなどの使い方ができます。

※7 AWS の用語に合わせて、コンテナのことを「バケット」と呼ぶこともあります。

図2.20 擬似的なディレクトリの利用
図2.20 擬似的なディレクトリの利用

2.5.2 バージョニングと静的 Web ホスティング

 バージョニングは、コンテナに保存するオブジェクトにバージョン番号を付与する機能です。同じ名前のファイルを上書き保存した際は、新しいバージョン番号で保存されて、過去のファイルもそのまま残ります。必要な際は、過去のバージョンにファイルの内容を戻すことが可能になります。

 また、静的 Web ホスティングは、オブジェクトストレージを簡易的な Web サーバーとして利用する機能です。コンテナのアクセス権をパブリック(だれでも読み出し可能)にセットして、その中に静的 HTML ファイルを保存しておきます。外部のWeb ブラウザから、この保存オブジェクトに割り当てられた URL にアクセスすると、HTML のコンテンツがブラウザに表示されます。HTML ファイルの他にも、画像ファイルを保存して、ブラウザから閲覧することもできます。

2.5.3 仮想ストレージのバックアップ

 仮想ストレージのボリュームは、オブジェクトストレージにバックアップすることができます。内部的には、ボリューム全体を一定サイズのブロックに分割して、それぞれのブロックを 1 つのファイルとしてオブジェクトストレージに保存する形になります。

 オブジェクトストレージは複数のリージョン/アベイラビリティゾーンから共通に利用できるので、リージョン/アベイラビリティゾーン間でボリュームの内容をコピーする際にも使えます[※8]。コピー元のボリュームの内容をオブジェクトストレージにバックアップしておき、それをコピー先のボリュームにリストアします(図2.21)。

 ※8 AWS では、仮想ストレージのスナップショットや仮想マシンイメージ(テンプレートイメージ)をリージョン間でコピーする機能も提供されています。

図2.21 オブジェクトストレージを利用したボリュームの複製
図2.21 オブジェクトストレージを利用したボリュームの複製

関連リンク

著者プロフィール

  • EnterpriseZine編集部(エンタープライズジン ヘンシュウブ)

    「EnterpriseZine」(エンタープライズジン)は、翔泳社が運営する企業のIT活用とビジネス成長を支援するITリーダー向け専門メディアです。データテクノロジー/情報セキュリティの最新動向を中心に、企業ITに関する多様な情報をお届けしています。

バックナンバー

連載:翔泳社の本

もっと読む

All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5