‹ 概要 に戻る

Amazon Lightsail でのオブジェクトストレージ

最終更新日: 2021 年 7 月 14 日

Amazon Lightsail オブジェクトストレージサービスを使用して、インターネット上のどこからでも、いつでもオブジェクトの格納と取得ができます。また、ウェブスケールのコンピューティングをデベロッパーが簡単に利用できるよう設計されており、Amazon Simple Storage Service (Amazon S3) を使用して構築されています。Lightsail オブジェクトストレージを使用すると、Amazon がグローバルネットワークのウェブサイトの運用に使用する、スケーラブルで、信頼性があり、迅速で、低価格のデータストレージのインフラストラクチャにアクセスすることができます。このサービスの目的は、規模の拡大や縮小のメリットを最大限に活かし、その利益をお客様に提供することです。

オブジェクトストレージの概念

次の概念と用語は Lightsail オブジェクトストレージに適用されます。

バケット

バケットとは、オブジェクトのコンテナで、Lightsail オブジェクトストレージサービスに保存されています。すべてのオブジェクトは、バケットに格納され、それぞれのバケットには、独自の URL があります。たとえば、media/sailbot.jpg という名前のオブジェクトが米国東部(バージニア北部) リージョン(us-east-1)の DOC-EXAMPLE-BUCKET バケットに保存される場合、https://DOC-EXAMPLE-BUCKET.us-east-1.amazonaws.com/media/sailbot.jpg に類似した URL を使用してアドレスを指定できます。

Lightsail が利用可能な AWSリージョンでバケットを作成できます。Lightsail が利用可能な AWSリージョンの詳細については、AWS の全般的なリファレンスの「リージョンとエンドポイント 」を参照してください。

バケットストレージプラン

AWS API 内のストレージプランを意味するバンドルは、バケットの月額コスト、ストレージ容量、データ転送クォータを決定します。最初にバケットを作成するときに、ストレージプランを選択する必要があります。バケットの起動後に変更することもできます。

バケットのプランは、月次の AWS 請求サイクルで 1 回だけ変更できます。バケットがストレージ領域またはデータ転送クォータを一貫して上回っている場合、またはバケットの使用量がストレージ領域またはデータ転送クォータより低い範囲にある場合、バケットのプランを変更します。バケットの使用量の変動が予測できない場合があるため、バケットのプランの変更は、短期的な毎月のコスト削減策ではなく、長期的な戦略としてのみ行うことを強くお勧めします。長い間、バケットに十分なストレージ領域とデータ転送クォータを提供するストレージプランを選択します。

オブジェクト

オブジェクトは、バケットに格納される基本エンティティです。バケットにアップロードしたファイルは、格納されている間、オブジェクトと呼ばれます。オブジェクトは、データメタデータで構成されます。データ部分は、Lightsail オブジェクトストレージサービスの不透明体です。メタデータは、オブジェクトを表現する名前と値のペアのセットです。これには最終更新日などのデフォルトのメタデータや、標準 HTTP メタデータ (Content-Type など) が含まれます。

オブジェクトは、キー名とバージョン ID によってバケット内で一意に識別されます。

オブジェクトキー名

キー名とは、バケット内のオブジェクトの固有の識別子です。バケット内のすべてのオブジェクトは、厳密に 1 個のキーを持ちます。バケット、キー、バージョン ID の組み合わせで、各オブジェクトを一意に識別します。そのため、Lightsail オブジェクトストレージを「バケット + キー + バージョン」とオブジェクト自体の間の基本データマップと考えることができます。Lightsail オブジェクトストレージ内の各オブジェクトは、ウェブサービスエンドポイント、バケット名、キー、およびオプションでバージョンを組み合わせることで一意にアクセスすることができます。たとえば、https://DOC-EXAMPLE-BUCKET.us-east-1.amazonaws.com/media/sailbot.jpg という URL では、「DOC-EXAMPLE-BUCKET」がバケットの名前で、「media/sailbot.jpg」がオブジェクトキー名です。

オブジェクトのバージョニング

バージョニングとは、同じバケット内でオブジェクトの複数のバリアントを保持する機能です。バージョニングを有効にすると、 バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。バージョニングを使用すれば、意図しないユーザーアクションからもアプリケーション障害からも、より簡単に復旧できます。

バケットの作成時、デフォルトでは、バージョニングは無効になっています。バージョニングを有効にすると、バケットに格納するすべてのオブジェクトのすべてのバージョンは、保存されたバージョンを手動で削除するまで保持されます。たとえば、media/sailbot.jpg オブジェクトを格納した後で、同じオブジェクトキー名を持つより大きなファイルを格納すると、元の小さいオブジェクトが以前のバージョンとして保持されます。新しい大きなオブジェクトは現行のバージョンになります。以前のバージョンのオブジェクトが必要ないと判断した場合、オブジェクトを削除できます。オブジェクトの最新バージョンを削除すると、そのオブジェクトの以前のバージョンはすべて削除されます。

格納されたオブジェクトバージョンは、格納されたオブジェクトの現在のバージョンと同じ方法で、バケットのストレージ領域を消費します。バージョニングを有効にした後は、そのバージョニングを中断して、オブジェクトバージョンの保存を停止できます。これにより、新しいオブジェクトバージョンをアップロードするときに、バケットのストレージ領域が消費されることも少なくなります。バージョニングを一時停止すると、保存されたオブジェクトバージョンは保持されますが、バージョニングを一時停止している間にアップロードした新しいオブジェクトバージョンは保持されません。

バケットとオブジェクトのアクセス

デフォルトでは、すべてのオブジェクトストレージリソース — バケットとオブジェクト — はプライベートです。バケットを作成した Lightsail アカウント (バケット所有者) のみが、バケットとそれに含まれるオブジェクトにアクセスできます。バケット所有者は、他のユーザーにアクセス許可を付与することもできます。これは、すべてのオブジェクトまたは個々のオブジェクトを公開に設定することで実行できます。これにより、世界中の誰でも読みやすくなります。また、プログラムによる完全なアクセスを付与するには、Lightsail インスタンスをバケットに追加するか、バケットのアクセスキーを作成します。最後に、他の AWS アカウントを使用して、バケットへのプログラムによる読み取り専用アクセスを許可します。

AWS リージョン

また、Lightsail すべての AWS のオブジェクトストレージバケットある地域 Lightsail が利用可能です。レイテンシーを最適化し、コストを最小限に抑えて規制用件に対応できるリージョンを選ぶとよいでしょう。明示的に別のリージョンに移動する場合を除き、AWS リージョンに保存されたオブジェクトは、そのリージョンから移動されることはありません。たとえば、米国西部 (オレゴン) リージョンに格納されたオブジェクトがそこから移動することはありません。

バケットとオブジェクトの管理

Lightsail オブジェクトストレージは、シンプルさと堅牢性を重視し、必要な機能に絞って提供しています。バケットとオブジェクトを管理する要素の一部を次に示します。