

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Lightsail オブジェクトストレージバケットを使用してデータを保存および管理する
<a name="buckets-in-amazon-lightsail"></a>

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

## オブジェクトストレージの概念
<a name="object-storage-concepts"></a>

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

**バケット**

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

Lightsail が利用可能な AWS リージョン でバケットを作成できます。で使用できる AWS リージョン Lightsail の詳細については、[「 全般のリファレンス」の「リージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/lightsail.html)」を参照してください。 *AWS *

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

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

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

**オブジェクト**

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

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

**オブジェクトキー名**

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

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

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

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

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

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

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

**AWS リージョン**

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

## バケットとオブジェクトを管理する
<a name="managing-buckets-and-objects"></a>

Lightsail オブジェクトストレージは、シンプルさと堅牢性を重視し、必要な機能に絞って提供しています。バケットとオブジェクトを管理する要素の一部を次に示します。
+ **バケットの作成** – データを格納するバケットを作成します。バケットとは、Lightsail オブジェクトストレージにおける基本的なコンテナです。詳細については、「[バケットの作成](amazon-lightsail-creating-buckets.md)」を参照してください。
+ **データの保存** – Lightsailコンソール、 AWS Command Line Interface (AWS CLI)、API AWS APIs。ファイルのアップロードに関する詳細については、「[バケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)」を参照してください。
+ **データのダウンロード** — 保存したオブジェクトをいつでもダウンロードできます。詳細については、「[バケットからオブジェクトをダウンロードする](amazon-lightsail-downloading-bucket-objects.md)」を参照してください。
+ **アクセス権の付与** — 外部 (ソフトウェアや個人など) からの、バケット内のデータのアップロードまたはデータのダウンロードアクセスを許可または拒否します。認証メカニズムによって、データソースを不正アクセスから保護することができます。詳細については、「[バケットのアクセス許可](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。　
+ **バージョニング管理** — バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保持するために、バージョニングを有効にします。詳細については、「[バケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。
+ **使用状況のモニタリング** — バケットに格納されているオブジェクトの数と、使用されているストレージ領域の量を監視します。詳細については、「[バケットメトリクスを表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。
+ **ストレージプランを変更する** — バケットが過剰に使用されている場合はアップサイズを、使用されていない場合はダウンサイズします。詳細については、「[バケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。
+ **バケットを接続する** — Lightsail バケットを WordPress ウェブサイトに接続して、ウェブサイトの画像と添付ファイルを保存します。バケットを、Lightsail コンテンツ配信ネットワーク (CDN) ディストリビューションのオリジンとして指定します。これにより、世界中のユーザーへのバケット内のオブジェクトの配信が高速化されます。詳細については、「[チュートリアル: バケットを WordPress インスタンスに接続する](amazon-lightsail-connecting-buckets-to-wordpress.md)」および「[チュートリアル: バケットをコンテンツ配信ネットワークディストリビューションと使用する](amazon-lightsail-using-distributions-with-buckets.md)」を参照してください。
+ **バケットの削除** — 使用しなくなったバケットを削除します。詳細については、「[バケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# オブジェクトストレージ用の Lightsail バケットを作成する
<a name="amazon-lightsail-creating-buckets"></a>

クラウドへのファイルのアップロードを開始する準備が整ったら、Amazon Lightsailオブジェクトストレージサービスでバケットを作成します。Lightsail オブジェクトストレージサービスにアップロードしたすべてのファイルは Lightsail バケットに保存されます。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## バケットを作成する
<a name="creating-buckets"></a>

Lightsail バケットを作成する手順は以下のとおりです。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. [**バケットを作成**] を選択します。

1. [** AWS リージョンの変更**] を選択して、バケットを作成するリージョンを選択します。

   バケットで使用する予定のリソース AWS リージョン と同じ にバケットを作成することをお勧めします。作成後にバケットのリージョンを変更することはできません。

1. バケットのストレージプランを選択します。

   ストレージプランでは、バケットの月額コスト、ストレージ領域のクォータ、データ転送クォータを指定します。

   バケットのプランは、毎月の AWS 請求サイクル内で 1 回だけ変更できます。バケットがストレージ領域またはデータ転送クォータを一貫して上回っている場合、またはバケットの使用量がストレージ領域またはデータ転送クォータより低い範囲にある場合、バケットのプランを変更します。詳細については、「[バケットのプランを変更する](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットの名前を入力します。

   バケット名の詳細については、[「Amazon Lightsail でのバケット命名規則」](bucket-naming-rules-in-amazon-lightsail.md)を参照してください。

1. [**Create bucket**] (バケットの作成) を選択します。

   新しいバケットの管理ページにリダイレクトされます。バケットを使用および管理するための追加ドキュメントについては、このガイドの「次のステップ」セクションに進んでください。

## バケットとオブジェクトを管理する
<a name="creating-buckets-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](#amazon-lightsail-creating-buckets) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# Lightsail オブジェクトストレージバケットを削除する
<a name="amazon-lightsail-deleting-buckets"></a>

Amazon Lightsail オブジェクトストレージサービスで使用していないバケットを削除します。バケットを削除すると、保存されたバージョンのオブジェクトやアクセスキーなど、バケット内のすべてのオブジェクトが完全に削除されます。

バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## バケットの強制削除
<a name="force-delete-bucket"></a>

次のいずれかの条件を持つバケットは、削除を承認しない限り、削除できません。
+ ディストリビューションのオリジンのバケット。
+ インスタンスが添付されたバケット。
+ オブジェクトがあるバケット。
+ アクセスキーがあるバケット。

バケットに依存する既存のワークフローが中断されないように、削除を承認する必要があります。たとえば、バケットにメディアを保存している WordPress ウェブサイトや、バケット内のオブジェクトをキャッシュして提供しているディストリビューションなどが該当します。

前述の条件のいずれかを持つバケットの削除を承認するには、バケットを強制的に削除する必要があります。バケットを削除する前に、Lightsail サービスはこれらのどの条件が該当するか、プロンプトで表示します。Lightsail コンソールを使用してバケットを削除すると、バケットを強制的に削除するオプションが表示されます。を使用する場合は AWS CLI、`delete-bucket`リクエストを行うときに `--force-delete`フラグを指定する必要があります。これらの手順については、このガイドの[「Lightsail コンソールを使用してバケットを削除する」](#delete-bucket-using-lightsail-console)および[「 AWS CLIを使用してバケットを削除する」](#delete-bucket-using-aws-cli)のセクションを参照してください。

## Lightsail コンソールを使用してバケットを削除する
<a name="delete-bucket-using-lightsail-console"></a>

Lightsail コンソールを使用してバケットを削除するには、以下の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. 削除するバケットの名前を選択します。

1. タブメニューの省略記号 (⋮) アイコンを選択し、そして [**削除**] を選択します。

1. [**Delete Bucket ( バケットを削除 )**] を選択します。

1. 表示されるプロンプトで、バケットが次の条件のいずれかを満たしているかどうかを確認します。
   + オブジェクトを含む
   + アクセスキーを含む
   + インスタンスに添付されている
   + ディストリビューションのオリジンである

   これらの条件のいずれかが該当する場合は、バケットを強制的に削除するように選択する必要があります。

1. 以下のオプションのいずれかを選択してください。
   + [**強制削除**] を選択することで、この手順のステップ 6 の条件を有していてもバケットを削除することができます。
   + ステップ 6 に記された条件を有していない場合は、**「はい、削除します」**を選択してバケットを削除します。
   + **「いいえ、キャンセルします」**を選択して削除をキャンセルします。

## を使用してバケットを削除する AWS CLI
<a name="delete-bucket-using-aws-cli"></a>

 AWS Command Line Interface () を使用してバケットを削除するには、次の手順を実行しますAWS CLI。これは、`delete-bucket` コマンドを使用して実行できます。詳細については、「AWS CLI コマンドリファレンス」の「[delete-bucket](https://docs.aws.amazon.com/cli/latest/reference/lightsail/delete-bucket.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. コマンドプロンプトまたはターミナルウィンドウで、次のいずれかのコマンドを入力します。
   + 本ガイドの[[「バケットの強制削除」](#force-delete-bucket)セクションに記されている条件が当てはまらないバケットを削除するためには、以下のコマンドを入力します。

     ```
     aws lightsail delete-bucket --bucket-name BucketName
     ```
   + 本ガイドの[「バケットの強制削除」](#force-delete-bucket)セクションに記されている条件が当てはまるバケットを削除するためには、以下のコマンドを入力します。

     ```
     aws lightsail delete-bucket --bucket-name BucketName --force-delete
     ```

   コマンドで、*BucketName* を削除するバケットの名前に置き換えます。

   例:

   ```
   aws lightsail delete-bucket --bucket-name amzn-s3-demo-bucket
   ```

   以下の例のような結果が表示されるはずです。  
![\[バケットの削除リクエストの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-delete-bucket-cli.png)

## バケットとオブジェクトを管理する
<a name="deleting-buckets-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](#amazon-lightsail-deleting-buckets)」を参照してください。

# Lightsail オブジェクトストレージバケットのアクセスキーを作成する
<a name="amazon-lightsail-creating-bucket-access-keys"></a>

アクセスキーを使用して、バケットとそのオブジェクトへのフルアクセスを付与する一連の認証情報を作成できます。アクセスキーは、アクセスキー ID とシークレットアクセスキーとのセットで構成されます。シークレットアクセスキーは、作成時にのみ使用できます。ソフトウェアまたはプラグインでアクセスキーを設定すると、 AWS APIs および AWS SDKs を使用してバケットへの完全な読み取りおよび書き込みアクセスを持つことができます。 AWS CLIでアクセスキーを設定することもできます。

**重要**  
バケットごとに 2 つのアクセスキーを持つことができますが、一度に 1 つのバケットアクセスキーのみ作成することをお勧めします。定期的にキーをローテーションして、既存のキーのインベントリを作成することもお勧めします。シークレットアクセスキーがコピー、紛失、侵害された場合、アクセスキーを削除して新しいキーを作成する必要があります。バケットアクセスキーをローテーションするベストプラクティスの詳細については、「[バケットのアクセスキーをローテーションする](amazon-lightsail-bucket-security-best-practices.md#bucket-security-best-practices-rotate-bucket-access-keys)」を参照してください。

許可のオプションの詳細については、「[バケットのアクセス許可](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## バケットのアクセスキーを作成する
<a name="create-bucket-access-keys"></a>

バケットのアクセスキーを作成するには、以下の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. アクセス権限を設定するバケットの名前を選択します。

1. [**Permissions (許可)**] タブを選択します。

   ページの**アクセスキー**セクションには、バケットの既存のアクセスキー（存在する場合）が表示されます。

1. バケットの新しいキーを作成するには、[**Create access key (アクセスキーの作成)**] を選択します。

1. 表示されるプロンプトで、「**はい、作成します**」を選択し、新しいアクセスキーの作成を確定します。それ以外の場合は、[**キャンセル**] を選択します。

1. 表示される成功プロンプトで、アクセスキー ID を書き留めます。

1. [**Show secret access key (シークレットアクセスキーを表示)**] を選択してシークレットアクセスキーを表示し、それをメモします。シークレットアクセスキーは再度表示されることはありません。
**重要**  
アクセスキー ID とシークレットアクセスキーは安全な場所に保存します。これらが漏洩された場合は、削除し、新しいキーを作成する必要があります。詳細については、「[Lightsail オブジェクトのストレージバケットのアクセスキーを削除します](amazon-lightsail-deleting-bucket-access-keys.md)」を参照してください。

1. [**Continue (続行)**] を選択して終了します。

   新しいアクセスキーはページの**アクセスキー**のセクションで操作します。アクセスキーが漏洩された場合、または紛失した場合は、キーを削除し、新しいキーを作成します。
**注記**  
各アクセスキーの隣に表示される [**最終使用日**] の列は、キーが最後に使用されたのがいつかを示します。キーが使用されていない場合は、ダッシュが表示されます。アクセスキーノードを展開して、サービスおよびキーが最後に使用された AWS リージョン 場所を表示します。

# Lightsail オブジェクトのストレージバケットのアクセスキーを削除します
<a name="amazon-lightsail-deleting-bucket-access-keys"></a>

アクセスキーは、バケットとそのオブジェクトへのフルアクセスを付与する一連の認証情報です。アクセスキーは、アクセスキー ID とシークレットアクセスキーがセットです。シークレットアクセスキーがコピー、紛失、侵害された場合、アクセスキーを削除し、アクセスキーを削除する必要があります。

## バケットのアクセスキーを削除します
<a name="delete-bucket-access-keys"></a>

次の手順でバケットアクセスキーを削除できます。

**警告**  
アクセスキーを削除すると、永久に削除されるため、再度取得することはできません。新しいアクセスキーでのみ置き換えることができます。

**既存の Lightsail オブジェクトストレージバケットのアクセスキーを削除する方法**

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. アクセスキーを削除するバケットの名前を選択します。

1. **[アクセス許可]** タブを選択します。

1. **[アクセスキー]** で、削除するアクセスキーの削除アイコンを選択します。  
![\[Lightsail オブジェクトストレージバケットのアクセスキーを削除する方法が表示されます。\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-keys-delete.png)

1. **[はい、削除します]** を選択し、アクセスキーの削除を続行します。

既存のキーが削除されたら、新しいアクセスキーを作成してソフトウェアまたはプラグイン用に設定できます。詳細については、「[バケットのアクセスキーをローテーションする](amazon-lightsail-bucket-security-best-practices.md#bucket-security-best-practices-rotate-bucket-access-keys)」を参照してください。

# Lightsail バケットとオブジェクトへのパブリックアクセスを制限する
<a name="amazon-lightsail-block-public-access-for-buckets"></a>

Amazon Simple Storage Service (Amazon S3) は、お客様がデータを保存して保護することができるオブジェクトストレージサービスです。Amazon Lightsail オブジェクトストレージサービスは Amazon S3 テクノロジーに基づいて構築されています。Amazon S3 はアカウントレベルのブロックパブリックアクセスを提供しており、これを使用して AWS アカウント内のすべての S3 バケットへのパブリックアクセスを制限できます。アカウントレベルのブロックパブリックアクセスは、既存の個々のバケットとオブジェクトのアクセス許可に関係なく、 内のすべての S3 バケットを AWS アカウント プライベートにすることができます。

パブリックアクセスを許可または拒否する場合、Lightsail オブジェクトストレージバケットは次のことを考慮します。
+ Lightsail バケットアクセス許可。詳細については、「[バケットのアクセス許可](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。
+ Amazon S3 アカウントレベルのパブリックアクセスのブロック設定。Lightsail バケットアクセス許可を上書きします。

Amazon S3 でアカウントレベルの **[*すべて*のパブリックアクセスのブロック]** をオンにした場合、パブリックの Lightsail バケットおよびオブジェクトがプライベートになり、公開アクセスができなくなります。

## アカウントのブロックパブリックアクセス設定の構成
<a name="configuring-block-public-access"></a>

Amazon S3 コンソール、 AWS Command Line Interface (AWS CLI)、 AWS SDKs、および REST API を使用して、パブリックアクセスのブロックを設定できます。次の例に示すように、Amazon S3 コンソールのナビゲーションペインでアカウントレベルのパブリックアクセスのブロック機能にアクセスできます。

![\[Amazon S3 コンソールのパブリックアクセスのブロックのナビゲーションペインのオプション\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3-block-public-access-navigation-pane.png)


Amazon S3 コンソールには、すべてのパブリックアクセスのブロック、新しいまたは任意のアクセスコントロールリストを通じて付与されたパブリックアクセスのブロック、新しいまたは任意のパブリックバケットまたはアクセスポイントポリシーを通じて付与されたバケットおよびオブジェクトへのパブリックアクセスのブロックの設定があります。

![\[Amazon S3 コンソールのパブリックアクセスのブロックのオプション\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3-block-public-access-in-s3-console.png)


Amazon S3 コンソールで各設定を [**オン**] または [**オフ**] にできます。API では、対応する設定は `TRUE` (オン) または `FALSE` (オフ) です。次のセクションでは、S3 バケットと Lightsail バケットに対する各設定の影響について説明します。

**注記**  
次のセクションでは、アクセスコントロールリスト (ACL) について説明します。ACL は、バケットまたは個々のオブジェクトを所有している、またはそれらにアクセスできるユーザーを定義します。詳細については、「Amazon S3 ユーザーガイド」の「[アクセスコントロールリストの概要](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html)」を参照してください。
+ ***すべて*のパブリックアクセスのブロック** - この設定をオンにすると、S3 バケット、Lightsail バケット、それぞれの対応するオブジェクトへのパブリックアクセスがすべてブロックされます。この設定には、次の設定がすべて組み込まれています。この設定をオンにすると、あなた (バケット所有者) と許可されたユーザーのみが、バケットとそのオブジェクトにアクセスできます。この設定は、Amazon S3 コンソールでのみオンにできます。これは、 AWS CLI、Amazon S3 API、または SDK では使用できません。 AWS SDKs
  + **新しいアクセスコントロールリスト (ACL) を通じて付与されたバケットおよびオブジェクトへのパブリックアクセスをブロック** — この設定をオンにすると、バケットおよびオブジェクトに対するパブリック ACL の配置がブロックされます。この設定は、既存の ACL には影響しません。したがって、既にパブリック ACL を持つオブジェクトはパブリックのままとなります。この設定は、バケットアクセス許可が **[All objects are public and read-only]** (すべてのオブジェクトがパブリックかつ読み取り専用) に設定されているため、パブリックであるオブジェクトに影響を与えることもありません。この設定は、Amazon S3 API で `BlockPublicAcls` としてラベル付けされています。
**注記**  
Offload Media Light プラグインなど、メディアを Lightsail バケットに配置する WordPress プラグインは、この設定をオンにすると動作を停止する場合があります。これは、ほとんどの WordPress プラグインがオブジェクトでパブリック読み取り ACL を設定するためです。オブジェクト ACL を切り替える WordPress プラグインも動作を停止する可能性があります。
  + **すべてのアクセスコントロールリスト (ACL) を通じて付与されたバケットおよびオブジェクトへのパブリックアクセスをブロック** — この設定をオンにすると、パブリック ACL が無視され、バケットおよびオブジェクトへのパブリックアクセスがブロックされます。この設定では、パブリック ACL をバケットとオブジェクトに配置できますが、アクセス権を付与するときは無視されます。Lightsail バケットの場合、バケットのアクセス許可を **[All objects are public and read-only]** (すべてのオブジェクトがパブリックかつ読み取り専用) に設定するか、または個別のオブジェクトの許可を **[Public (read-only)]** (パブリック (読み取り専用)) に設定することは、パブリック ACL をいずれかに配置することと同等です。この設定は、Amazon S3 API で `IgnorePublicAcls` としてラベル付けされています。
  + ***新しい*パブリックバケットまたはアクセスポイントポリシーを通じて付与されたバケットとオブジェクトへのパブリックアクセスのブロック** — この設定をオンにすると、**[すべてのオブジェクトをパブリックと読み取り専用にする]** のバケットアクセス許可が、Lightsail バケットで設定されないようにブロックします。この設定は、**[All objects are public and read-only]** (すべてのオブジェクトがパブリックかつ読み取り専用) のバケットアクセス許可で既に設定されているバケットには影響しません。この設定は、Amazon S3 API で `BlockPublicPolicy` としてラベル付けされています。
  + ***あらゆる*パブリックバケットポリシーまたはアクセスポイントポリシーを介したバケットとオブジェクトへのパブリックアクセスおよびクロスアカウントアクセスをブロック** — この設定をオンにすると、すべての Lightsail バケットがプライベートになります。これにより、**[All objects are public and read-only]** (すべてのオブジェクトがパブリックかつ読み取り専用) のバケットアクセス許可で設定されている場合でも、すべての Lightsail バケットがプライベートになります。この設定は、Amazon S3 API で `RestrictPublicBuckets` としてラベル付けされています。
**重要**  
この設定は、Lightsail バケットで設定されているクロスアカウントアクセス (Lightsail で **[All objects are public and read-only]** (すべてのオブジェクトがパブリックかつ読み取り専用) のバケットアクセス許可でも設定されているもの) もブロックします。クロスアカウントアクセスを引き続き許可するには、Amazon S3 で **[*あらゆる*パブリックバケットポリシーまたはアクセスポイントポリシーを介したバケットとオブジェクトへのパブリックアクセスおよびクロスアカウントアクセスをブロック]** 設定をオンにする前に、必ず Lightsail で **[すべてのオブジェクトをプライベートにする]** のバケットアクセス許可を Lightsail バケットに設定してください。

ブロックパブリックアクセスとその設定方法の詳細については、「Amazon S3 ユーザーガイド」で以下のリソースを参照してください。
+ [Amazon S3 ストレージへのパブリックアクセスのブロック](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html)
+ [アカウントのブロックパブリックアクセス設定の構成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/configuring-block-public-access-account.html)

Lightsail コンソール、 AWS CLI、 AWS SDKs、および REST API を使用して、Lightsailバケットのアクセス許可を設定します。詳細については、「[バケットのアクセス許可](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。　

**注記**  
Lightsail は、Amazon S3 から現在のアカウントレベルのブロックパブリックアクセス設定を取得し、それを Lightsail オブジェクトストレージリソースに適用するためにサービスリンクロールを使用します。Amazon S3 でパブリックアクセスのブロックを設定した後、Lightsail で有効になるまで少なくとも 1 時間待機します。詳細については、「[サービスにリンクされたロール](amazon-lightsail-using-service-linked-roles.md)」を参照してください。

## バケットとオブジェクトを管理する
<a name="block-public-access-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](#amazon-lightsail-block-public-access-for-buckets)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# アクセスログを使用してオブジェクトストレージバケットリクエストを追跡する
<a name="amazon-lightsail-bucket-access-logs"></a>

アクセスログは、Amazon Lightsail オブジェクトストレージサービスのバケットに対して行われたリクエストの詳細なレコードを提供します。この情報には、リクエストタイプ、リクエストで指定されたリソース、リクエストが処理された日時が含まれます。アクセスのログは、多くのアプリケーションに役立ちます。例えば、アクセスのログ情報は、セキュリティやアクセスの監査に役立ちます。また、顧客基盤について知るうえでも役立ちます。

**目次**
+ [ログ配信を有効にするには何が必要ですか](#access-log-delivery)
+ [ログオブジェクトのキーフォーマット](#log-object-key-format)
+ [ログを配信する方法](#how-are-logs-delivered)
+ [ベストエフォート型のアクセスログ配信](#best-effort-access-log-delivery)
+ [バケットのログ記録ステータスの変更が有効になるまでには時間がかかる](#bucket-logging-status-changes)

## ログ配信を有効にするには何が必要ですか
<a name="access-log-delivery"></a>

ログ配信を有効にする前に、次の点を考慮してください。詳細は、「[バケットアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)」を参照してください。

1. **ログのターゲットバケットを特定します。**このバケットは、Lightsail がアクセスログをオブジェクトとして保存する場所です。ソースバケットとターゲットバケットの両方が同じ AWS リージョンにあり、同じアカウントによって所有されている必要があります。

   ログの保存先のバケットとして、ソースバケットと同じリージョンにあるユーザー所有のバケットを指定できます。これにはソースバケット自体も含まれます。ただし、ログを管理しやすくするため、アクセスログは別のバケットに保存することをお勧めします。

   ソースバケットとターゲットバケットが同じである場合、バケットに書き込まれるログに関する追加のログが作成されます。これは、ストレージの消費がいくらか増える可能性があるため、望ましくない場合があります。また、ログに関する追加のログのために、必要なログを見つけにくくなります。アクセスログの保存先をソースバケットにする場合は、ログオブジェクトを簡単に区別できるように、すべてのログオブジェクトキーにプレフィックスを指定し、オブジェクト名を共通の文字列で始めてください。[キープレフィックス](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix)は、複数のバケットが同じターゲットバケットにログを記録する場合に、ソースバケットを区別するためにも役立ちます。

1. **(オプション) ログオブジェクトキーのプレフィックスを特定します。**プレフィックスを使用すると、ログオブジェクトを見つけやすくなります。例えば、プレフィックスの値として `logs/` を指定すると、Lightsail で作成する各ログオブジェクトのキーの先頭に `logs/` というプレフィックスが付きます。プレフィックスの末尾であることを示すには、末尾のスラッシュ `/` が必要です。`logs/` プレフィックス付きのログオブジェクトキーの例を次に示します。

   ```
   logs/2021-11-31-21-32-16-E568B2907131C0C0
   ```

## ログオブジェクトのキーフォーマット
<a name="log-object-key-format"></a>

Lightsail では、ターゲットバケットにログオブジェクトをアップロードする際に、以下のオブジェクトキーフォーマットを使用します。

```
TargetPrefix/YYYY-mm-DD-HH-MM-SS-UniqueString
```

このキーで、`YYYY`、`mm`、`DD`、`HH`、`MM`、`SS` は、ログファイルを配信した年、月、日、時、分、秒をそれぞれ表す数字です。これらの日付と時刻は協定世界時 (UTC) です。

ある時点で配信されたログファイルには、その時点より前に書き込まれたレコードが含まれます。特定の期間のすべてのログレコードが配信されたかどうかを知る方法はありません。

キーの `UniqueString` コンポーネントは、ファイルの上書きを防止するためのものです。意味はないため、ログ処理ソフトウェアでは無視されます。

## ログを配信する方法
<a name="how-are-logs-delivered"></a>

Lightsail は、アクセスログレコードを定期的に収集してログファイルにまとめ、そのログファイルをログオブジェクトとしてターゲットバケットにアップロードします。複数のソースバケットでログ記録の配信先が同じターゲットバケットである場合、これらのすべてのソースバケットのアクセスログがターゲットバケットに収容されます。ただし、各ログオブジェクトは、ソースバケット別にアクセスログレコードをレポートします。

## ベストエフォート型のアクセスログ配信
<a name="best-effort-access-log-delivery"></a>

アクセスログレコードの配信は、ベストエフォートで行われます。ログ記録用に適切にバケットを設定した場合、そのバケットへのほとんどのリクエストについてログレコードが配信されます。ほとんどのログレコードは、記録された時間から数時間以内に配信されますが、配信間隔は短くなる場合もあります。

アクセスのログ記録の完全性や適時性は保証されません。リクエストのログレコードが、リクエストが実際に処理されてからかなり後に配信されたり、配信すらされなかったりすることもあり得ます。アクセスログの目的は、バケットに対するトラフィックの特性を理解することです。ログレコードが失われることはまれですが、すべてのリクエストが完全に報告されるとは限りません。

## バケットのログ記録ステータスの変更が有効になるまでには時間がかかる
<a name="bucket-logging-status-changes"></a>

バケットのログ記録ステータスの変更がログファイルの配信に反映されるまでには時間がかかります。例えば、バケットのログを有効にする場合、その後数時間に行われるリクエストは記録されることもあれば、されないこともあります。ログ記録のターゲットバケットをバケット A からバケット B に変更すると、その後 1 時間は一部のログがバケット A に引き続き配信されたり、新しいターゲットバケット B に配信されたりします。いずれにしても、最終的に新しい設定が有効になるため、ユーザー側の操作は一切不要です。

**Topics**
+ [ログ配信を有効にするには何が必要ですか](#access-log-delivery)
+ [ログオブジェクトのキーフォーマット](#log-object-key-format)
+ [ログを配信する方法](#how-are-logs-delivered)
+ [ベストエフォート型のアクセスログ配信](#best-effort-access-log-delivery)
+ [バケットのログ記録ステータスの変更が有効になるまでには時間がかかる](#bucket-logging-status-changes)
+ [アクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
+ [アクセスログを管理する](amazon-lightsail-enabling-bucket-access-logs.md)
+ [アクセスログの使用](amazon-lightsail-using-bucket-access-logs.md)

# Lightsail バケットログを使用してオブジェクトストレージアクセスを分析する
<a name="amazon-lightsail-bucket-access-log-format"></a>

アクセスログは、Amazon Lightsail オブジェクトストレージサービスのバケットに対して行われたリクエストの詳細なレコードを提供します。アクセスのログ記録を使用して、セキュリティとアクセスを監査し、顧客ベースを確認することができます。このセクションでは、アクセスログファイルの形式およびその他の詳細について説明します。ログ記録の基本の詳細については、「[バケットのアクセスログ](amazon-lightsail-bucket-access-logs.md)」を参照してください。　

アクセスのログファイルは、一連のログレコードを改行で区切って構成します。各ログレコードは 1 個のリクエストを表し、各フィールドをスペースで区切って構成します。

次に示すのは、5 個のログレコードで構成されるログの例です。

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /amzn-s3-demo-bucket?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 9vKBE6vMhrNiWHZmb2L0mXOcqPGzQOI5XLnCtZNPxev+Hf+7tpT6sxDwDty4LHBUOZJG96N1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /amzn-s3-demo-bucket?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - BNaBsXZQQDbssi6xMBdBU2sLt+Yf5kZDmeBUP35sFoKa3sLLeMC78iwEIWxs99CRUrbS4n11234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - Ke1bUcazaN1jWuUlPJaxF64cQVpUEhoZKEG/hmy/gijN/I1DeWqDfFvnpybfEseEME/u7ME1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /amzn-s3-demo-bucket/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 10S62Zv81kBW7BB6SX4XJ48o6kpcl6LPwEoizZQQxJd5qDSCTLX0TgS37kYUBKQW3+bPdrg1234= SigV4 ECDHE-RSA-AES128-SHA AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

**注記**  
任意のログレコードフィールドを `–` (ダッシュ) に設定して、データが不明または使用不可であること、またはフィールドがこのリクエストに適用されなかったことを示すことができます。

**目次**
+ [ログレコードフィールド](#log-record-fields)
+ [コピー操作の追加ログ記録](#additional-logging-for-copy-operations)
+ [カスタムアクセスログ情報](#custom-access-log-information)
+ [拡張可能なアクセスログの形式のプログラミングに関する考慮事項](#programing-considerations)

## ログレコードフィールド
<a name="log-record-fields"></a>

次のリストには、ログレコードのフィールドが説明されています。

**アクセスポイントの ARN (Amazon リソースネーム)**

リクエストのアクセスポイントの Amazon リソースネーム (ARN) です。アクセスポイントの ARN の形式が不正、または使用されていない場合、このフィールドには「−」が含まれます。アクセスポイントの詳細については、「[アクセスポイントを使用する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)」を参照してください。ARN の詳細については、*AWS 全般リファレンス*で「[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)」に関するトピックを参照してください。

エントリ例

```
arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP
```

**バケット所有者**

ソースバケット所有者の正規ユーザー ID。正規ユーザー ID は、別の形式の AWS アカウント ID です。正規ユーザー ID の詳細については、「AWS 全般のリファレンス」の「[AWS アカウント ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)」を参照してください。アカウントの正規ユーザー ID を検索する方法については、「[AWS アカウントの正規ユーザー ID の検索](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId)」を参照してください。

エントリ例

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**バケット**

リクエストの処理ターゲットのバケットの名前。システムで受け取ったリクエストの形式に誤りがあり、バケットを特定できない場合、そのリクエストはアクセスログに表示されません。

エントリ例

```
amzn-s3-demo-bucket
```

**時間**

リクエストが受信された時間。これらの日付と時刻は協定世界時 (UTC) です。*strftime()* 用語を使用すると、形式は次のようになります: *[%d/%b/%Y:%H:%M:%S %z]*

エントリ例

```
[06/Feb/2019:00:00:38 +0000]
```

**リモート IP**

リクエスタの表面上のインターネットアドレス。中間プロキシやファイアウォールにより、リクエストを作成したマシンの実際のアドレスが不明確になる場合があります。

エントリ例

```
192.0.2.3
```

**リクエスタ**

リクエスタの正規ユーザー ID。認証されていないリクエストの場合は `-` です。リクエスタが IAM ユーザーの場合、このフィールドは、リクエスタの IAM ユーザー名と IAM ユーザーが所属する AWS ルートアカウントを返します。この識別子は、アクセスコントロールに使用されるものと同じです。

エントリ例

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**リクエスト ID**

各リクエストを一意に識別するために Lightsail で生成される文字列。

エントリ例

```
3E57427F33A59F07
```

**操作**

ここに表示されているオペレーションは、`SOAP.operation`、`REST.HTTP_method.resource_type`、`WEBSITE.HTTP_method.resource_type` または `BATCH.DELETE.OBJECT` と表示されます。

エントリ例

```
REST.PUT.OBJECT
```

**キー**

リクエストの URL エンコードされた「key」部分、オペレーションがキーパラメータを取らない場合は「−」。

エントリ例

```
/photos/2019/08/puppy.jpg
```

**Request-URI**

HTTP リクエストメッセージの Request−URI の部分。

エントリ例

```
"GET /amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
```

**HTTP ステータス**

レスポンスの HTTP ステータスの数値。

エントリ例

```
200
```

**エラーコード**

Amazon S3 [エラーコード](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingRESTError.html#ErrorCode)、またはエラーが発生しなかった場合は「-」。

エントリ例

```
NoSuchBucket
```

**送信バイト数**

送信されたレスポンスのバイト数 (HTTP プロトコルオーバーヘッドを除きます)。ゼロの場合は「−」。

エントリ例

```
2662992
```

**オブジェクトのサイズ**

該当するオブジェクトの合計サイズ。

エントリ例

```
3462992
```

**合計時間**

バケットから見た、リクエストの転送の時間数 (ミリ秒単位)。これは、リクエストが受信されてから、レスポンスの最終バイトが送信されるまでの時間を計測した値です。クライアント側での計測値は、ネットワーク遅延により長くなる場合があります。

エントリ例

```
70
```

**ターンアラウンド時間**

Lightsail でリクエストの処理に要した時間数 (ミリ秒単位)。これは、リクエストの最終バイトが受信されてから、レスポンスの先頭バイトが送信されるまでの時間を計測した値です。

エントリ例

```
10
```

**リファラー**

HTTP Referer ヘッダーの値 (存在する場合)。一般に、HTTP ユーザーエージェント (ブラウザなど) は、このヘッダーをリクエスト作成時のリンクページや埋め込みページの URL に設定します。

エントリ例

```
"http://www.amazon.com/webservices"
```

**ユーザーエージェント**

HTTP User−Agent ヘッダーの値。

エントリ例

```
"curl/7.15.1"
```

**バージョン ID**

リクエストのバージョン ID、または オペレーションが `versionId` パラメータを取らない場合は「`-`」。

エントリ例

```
3HL4kqtJvjVBH40Nrjfkd
```

**ホスト ID**

x-amz-id-2 または Lightsail で拡張されたリクエスト ID。

エントリ例

```
s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
```

**署名バージョン**

署名バージョン `SigV2` か `SigV4` (リクエストの認証に使用)、または `-` (認証されていないリクエストの場合)。

エントリ例

```
SigV2
```

**暗号スイート**

HTTPS リクエストに対してネゴシエートされた Secure Sockets Layer (SSL) 暗号、または HTTP リクエストに対してネゴシエートされた `-`。

エントリ例

```
ECDHE-RSA-AES128-GCM-SHA256
```

**認証タイプ**

使用されるリクエスト認証のタイプ。認証ヘッダーは `AuthHeader`、クエリ文字列 (署名付き URL) は `QueryString`、認証されていないリクエストには `-`。

エントリ例

```
AuthHeader
```

**ホストヘッダー**

Lightsail への接続に使用するエンドポイント。

エントリ例

```
s3.us-west-2.amazonaws.com
```

**TLS のバージョン**

クライアントによってネゴシエートされた Transport Layer Security (TLS) バージョン。値は `TLSv1`、`TLSv1.1`、`TLSv1.2`、`-` のいずれかです (TLS を使用しなかった場合)。

エントリ例

```
TLSv1.2
```

## コピーオペレーションの追加ログ記録
<a name="additional-logging-for-copy-operations"></a>

コピーオペレーションには `GET` と `PUT` が含まれます。このため、コピーオペレーションの実行時には 2 つのログレコードが記録されます。前述のセクションでは、コピーオペレーションの `PUT` 部分に関連するフィールドを説明しています。次のリストでは、コピーオペレーションの `GET` 部分に関連するフィールドを説明します。

**バケット所有者**

コピーされたオブジェクトを格納するバケットの正規ユーザー ID。正規ユーザー ID は、別の形式の AWS アカウント ID です。正規ユーザー ID の詳細については、「AWS 全般のリファレンス」の「[AWS アカウント ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)」を参照してください。アカウントの正規ユーザー ID を検索する方法については、「[AWS アカウントの正規ユーザー ID の検索](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId)」を参照してください。

エントリ例

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**バケット**

コピーターゲットのオブジェクトを格納するバケットの名前。

エントリ例

```
amzn-s3-demo-bucket
```

**時間**

リクエストが受信された時間。これらの日付と時刻は協定世界時 (UTC) です。`strftime()` terminology を使用した形式は次のようになります: `[%d/%B/%Y:%H:%M:%S %z]`

エントリ例

```
[06/Feb/2019:00:00:38 +0000]
```

**リモート IP**

リクエスタの表面上のインターネットアドレス。中間プロキシやファイアウォールにより、リクエストを作成したマシンの実際のアドレスが不明確になる場合があります。

エントリ例

```
192.0.2.3
```

**リクエスタ**

リクエスタの正規ユーザー ID。認証されていないリクエストの場合は `-` です。リクエスタが IAM ユーザーの場合、このフィールドは、リクエスタの IAM ユーザー名と IAM ユーザーが所属する AWS ルートアカウントと共に表示します。この識別子は、アクセスコントロールに使用されるものと同じです。

エントリ例

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**リクエスト ID**

各リクエストを一意に識別するために Lightsail で生成される文字列。

エントリ例

```
3E57427F33A59F07
```

**操作**

ここに表示されているオペレーションは、`SOAP.operation`、`REST.HTTP_method.resource_type`、`WEBSITE.HTTP_method.resource_type` または `BATCH.DELETE.OBJECT` と表示されます。

エントリ例

```
REST.COPY.OBJECT_GET
```

**キー**

コピーターゲットのオブジェクトのkey」部分。オペレーションがキーパラメータを取らない場合は「−」。

エントリ例

```
/photos/2019/08/puppy.jpg
```

**Request-URI**

HTTP リクエストメッセージの Request−URI の部分。

エントリ例

```
"GET /amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-foo=bar"
```

**HTTP ステータス**

コピーオペレーションの `GET` 部分の HTTP ステータスの数値。

エントリ例

```
200
```

**エラーコード**

コピーオペレーションの `GET` 部分の Amazon S3 エラーコード、またはエラーがない場合は「`-`」。

エントリ例

```
NoSuchBucket
```

**送信バイト数**

送信されたレスポンスのバイト数 (HTTP プロトコルオーバーヘッドを除きます)。ゼロの場合は「−」。

エントリ例

```
2662992
```

**オブジェクトのサイズ**

該当するオブジェクトの合計サイズ。

エントリ例

```
3462992
```

**合計時間**

バケットから見た、リクエストの転送の時間数 (ミリ秒単位)。これは、リクエストが受信されてから、レスポンスの最終バイトが送信されるまでの時間を計測した値です。クライアント側での計測値は、ネットワーク遅延により長くなる場合があります。

エントリ例

```
70
```

**ターンアラウンド時間**

Lightsail でリクエストの処理に要した時間数 (ミリ秒単位)。これは、リクエストの最終バイトが受信されてから、レスポンスの先頭バイトが送信されるまでの時間を計測した値です。

エントリ例

```
10
```

**リファラー**

HTTP Referer ヘッダーの値 (存在する場合)。一般に、HTTP ユーザーエージェント (ブラウザなど) は、このヘッダーをリクエスト作成時のリンクページや埋め込みページの URL に設定します。

エントリ例

```
"http://www.amazon.com/webservices"
```

**ユーザーエージェント**

HTTP User−Agent ヘッダーの値。

エントリ例

```
"curl/7.15.1"
```

**バージョン ID**

コピー対象のオブジェクトのバージョン ID、または `x-amz-copy-source` ヘッダーでコピー元の一部として `versionId` パラメータを指定しなかった場合は「`-`」。

エントリ例

```
3HL4kqtJvjVBH40Nrjfkd
```

**ホスト ID**

x-amz-id-2 または Lightsail で拡張されたリクエスト ID。

エントリ例

```
s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
```

**署名バージョン**

署名バージョン `SigV2` か `SigV4` (リクエストの認証に使用)、または `-` (認証されていないリクエストの場合)。

エントリ例

```
SigV2
```

**暗号スイート**

HTTPS リクエストに対してネゴシエートされた Secure Sockets Layer (SSL) 暗号、または HTTP リクエストに対してネゴシエートされた `-`。

エントリ例

```
ECDHE-RSA-AES128-GCM-SHA256
```

**認証タイプ**

使用されるリクエスト認証のタイプ。認証ヘッダーは `AuthHeader`、クエリ文字列 (署名付き URL) は `QueryString`、認証されていないリクエストには `-`。

エントリ例

```
AuthHeader
```

**ホストヘッダー**

Lightsail への接続に使用するエンドポイント。

エントリ例

```
s3.us-west-2.amazonaws.com
```

**TLS のバージョン**

クライアントによってネゴシエートされた Transport Layer Security (TLS) バージョン。値は `TLSv1`、`TLSv1.1`、`TLSv1.2`、`-` のいずれかです (TLS を使用しなかった場合)。

エントリ例

```
TLSv1.2
```

## カスタムアクセスログ情報
<a name="custom-access-log-information"></a>

リクエストのアクセスログレコードに保存するカスタム情報を含めることができます。これを行うには、リクエストの URL にカスタムクエリ文字列パラメータを追加します。Lightsail は「x-」で始まるクエリ文字列パラメータを無視しますが、ログレコードの `Request-URI` フィールドの一部として、リクエストのアクセスログレコードにそれらのパラメータを含めます。

例えば、`GET` の `"s3.amazonaws.com/amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-user=johndoe"` リクエストは、`"s3.amazonaws.com/amzn-s3-demo-bucket/photos/2019/08/puppy.jpg"` のリクエストと同じように動作します。ただし 、`"x-user=johndoe"` 文字列は関連付けられたログレコードの `Request-URI` フィールドに含まれている点が異なります。この機能は REST インターフェイスでのみ利用できます。

## 拡張可能なアクセスログの形式のプログラミングに関する考慮事項
<a name="programing-considerations"></a>

場合によっては、新しいフィールドを各行末に追加することで、アクセスログレコードの形式を拡張することがあります。したがって、アクセスログを解析するコードは、理解できない可能性のある後続フィールドを処理するよう作成する必要があります。

# Lightsail のバケットアクセスログ記録の有効化
<a name="amazon-lightsail-enabling-bucket-access-logs"></a>

アクセスログは、Amazon Lightsail オブジェクトストレージサービスのバケットに対して行われたリクエストの詳細なレコードを提供します。アクセスのログは、多くのアプリケーションに役立ちます。例えば、アクセスのログ情報は、セキュリティやアクセスの監査に役立ちます。また、顧客基盤について知るうえでも役立ちます。

デフォルトでは、Lightsail によってバケットへのアクセスのログは収集されません。ログ記録を有効にすると、Lightsail は、ソースバケットのアクセスログを選択されたターゲットバケットに配信します。ソースバケットとターゲットバケットの両方が同じ にあり AWS リージョン 、同じアカウントによって所有されている必要があります。

アクセスログのレコードには、バケットに対するリクエストの詳細が取り込まれます。この情報には、リクエストタイプ、リクエストで指定されたリソース、リクエストが処理された日時が含まれます。このガイドでは、 Lightsail API、 AWS Command Line Interface (AWS CLI)、または AWS SDKs を使用してバケットのアクセスログ記録を有効または無効にする方法を示します。

ログ記録の基本の詳細については、「[バケットのアクセスログ](amazon-lightsail-bucket-access-logs.md)」を参照してください。　

**目次**
+ [アクセスログ記録のコスト](#costs-for-access-logging)
+ [AWS CLIを使用してアクセスログ記録を有効にする](#enabling-access-logging)
+ [AWS CLIを使用してアクセスログ記録を無効にする](#disabling-access-logging)

## アクセスログ記録のコスト
<a name="costs-for-access-logging"></a>

バケットに対してアクセスのログ記録を有効にしても追加料金はかかりません。ただし、システムがバケットに配信するログファイルのストレージ領域は消費されます。ログはいつでも削除できます。ログバケットのデータ転送が設定された月額許容範囲内にある場合、ログファイルの配信に対してデータ転送料金はかかりません。

ターゲットバケットでアクセスのログ記録が有効になっていない必要があります。ログの保存先のバケットとして、ソースバケットと同じリージョンにあるユーザー所有のバケットを指定できます。これにはソースバケット自体も含まれます。ただし、ログを管理しやすくするため、アクセスログは別のバケットに保存することをお勧めします。

## を使用してアクセスログ記録を有効にする AWS CLI
<a name="enabling-access-logging"></a>

バケットのアクセスログ記録を有効にするには、バケット AWS リージョン がある各 に専用のログ記録バケットを作成することをお勧めします。その後、 アクセスログをその専用のロギングバケットに配信します。

 AWS CLIを使用してアクセスログ記録を有効にするには、次の手順を実行します。

**注記**  
この手順を続行するLightsail前に、 をインストール AWS CLI し、 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ローカルコンピュータでコマンドプロンプトまたはターミナルウィンドウを開きます。

1. 次のコマンドを入力して、アクセスのログ記録を有効にします。

   ```
   aws lightsail update-bucket --bucket-name SourceBucketName --access-log-config "{\"enabled\": true, \"destination\": \"TargetBucketName\", \"prefix\": \"ObjectKeyNamePrefix/\"}"
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *sourceBucketName* - アクセスログが作成されるソースバケットの名前。
   + *TargetBucketName* - アクセスログを保存するターゲットバケットの名前。
   + *ObjectKeyNamePrefix/* - アクセスログのオプションのオブジェクトキー名のプレフィックス。このプレフィックスは、スラッシュ (`/`) で終わる必要があります。

   **例**

   ```
   aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket1 --access-log-config "{\"enabled\": true, \"destination\": \"amzn-s3-demo-bucket2\", \"prefix\": \"logs/amzn-s3-demo-bucket1/\"}"
   ```

   この例では、*amzn-s3-demo-bucket1* はアクセスログを作成するソースバケット、*amzn-s3-demo-bucket2* はアクセスログを保存する送信先バケット、*logs/amzn-s3-demo-bucket1/* はアクセスログのオブジェクトキー名のプレフィックスです。

   コマンドを実行すると、次の例のような結果が表示されます。ソースバケットが更新され、アクセスログの生成が開始され、保存先バケットに保存されます。  
![\[バケットへのアクセスのログ記録を有効にする\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-enable-access-logging-for-a-bucket.png)

## を使用したアクセスログ記録の無効化 AWS CLI
<a name="disabling-access-logging"></a>

 AWS CLIを使用してアクセスログ記録を無効にするには、次の手順を実行します。

**注記**  
この手順を続行するLightsail前に、 をインストール AWS CLI し、 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ローカルコンピュータでコマンドプロンプトまたはターミナルウィンドウを開きます。

1. 次のコマンドを入力して、アクセスのログ記録を無効にします。

   ```
   aws lightsail update-bucket --bucket-name SourceBucketName --access-log-config "{\"enabled\": false}"
   ```

   コマンドで、*SourceBucketName* をアクセスログを無効にするソースバケットの名前に置き換えます。

   **例**

   ```
   aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket --access-log-config "{\"enabled\": false}"
   ```

   コマンドを実行すると、次の例のような結果が表示されます。  
![\[バケットのアクセスログ記録が無効になりました\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-disable-access-logging-for-a-bucket.png)

# Lightsail で Amazon Athena を使用してバケットアクセスログを分析する
<a name="amazon-lightsail-using-bucket-access-logs"></a>

このガイドでは、アクセスログを使用したバケットへのリクエストの識別方法を説明します。詳細については、「[バケットアクセスのログ](amazon-lightsail-bucket-access-logs.md)」を参照してください。

**目次**
+ [Amazon Athena を使用してリクエストのアクセスログをクエリする](#querying-access-logs-for-requests)
+ [Amazon S3 アクセスログを使用してオブジェクトアクセスリクエストの識別する](#identifying-object-access-requests)

## Amazon Athena を使用してリクエストのアクセスログをクエリする
<a name="querying-access-logs-for-requests"></a>

Amazon Athena を使用して、アクセスログのバケットへのリクエストをクエリ、識別することができます。

Lightsail は、アクセスログをオブジェクトとして Lightsail バケットに保存します。多くの場合、ログを分析できるツールを使用する方が簡単です。Athena はオブジェクトの分析をサポートしてしるため、アクセスログに対してクエリを実行するのに使用できます。

**例**

次の例は、Amazon Athena でバケットサーバーアクセスログをクエリする方法を示しています。

**注記**  
Athena クエリでバケットの場所を指定するには、ログが配信されるターゲットバケット名とターゲットプレフィックスを、次のような S3 URI でフォーマットする必要があります: `s3://amzn-s3-demo-bucket1-logs/prefix/`

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/) で Athena コンソールを開きます。

1. **クエリエディタ**で、次のようなコマンドを実行します。

   ```
   create database bucket_access_logs_db
   ```
**注記**  
S3 バケット AWS リージョン と同じ にデータベースを作成するのがベストプラクティスです。

1. **クエリエディタ**で、次のようなコマンドを実行して、ステップ 2 で作成したデータベースでテーブルスキーマを作成します。`STRING` および `BIGINT` データ型の値はアクセスログのプロパティです。これらのプロパティは Athena でクエリできます。`LOCATION` の場合は、前述のようにバケットとプレフィックスパスを入力します。

   ```
   CREATE EXTERNAL TABLE `s3_access_logs_db.amzn-s3-demo-bucket_logs`(
     `bucketowner` STRING, 
     `bucket_name` STRING, 
     `requestdatetime` STRING, 
     `remoteip` STRING, 
     `requester` STRING, 
     `requestid` STRING, 
     `operation` STRING, 
     `key` STRING, 
     `request_uri` STRING, 
     `httpstatus` STRING, 
     `errorcode` STRING, 
     `bytessent` BIGINT, 
     `objectsize` BIGINT, 
     `totaltime` STRING, 
     `turnaroundtime` STRING, 
     `referrer` STRING, 
     `useragent` STRING, 
     `versionid` STRING, 
     `hostid` STRING, 
     `sigv` STRING, 
     `ciphersuite` STRING, 
     `authtype` STRING, 
     `endpoint` STRING, 
     `tlsversion` STRING)
   ROW FORMAT SERDE 
     'org.apache.hadoop.hive.serde2.RegexSerDe' 
   WITH SERDEPROPERTIES ( 
     'input.regex'='([^ ]*) ([^ ]*) \\[(.*?)\\] ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) (\"[^\"]*\"|-) (-|[0-9]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) (\"[^\"]*\"|-) ([^ ]*)(?: ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*))?.*$') 
   STORED AS INPUTFORMAT 
     'org.apache.hadoop.mapred.TextInputFormat' 
   OUTPUTFORMAT 
     'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
   LOCATION
     's3://amzn-s3-demo-bucket1-logs/prefix/'
   ```

1. ナビゲーションペインにある、[**データベース**] で、データベースを選択します。

1. [**テーブル**] で、テーブル名の横にある、[**Preview table (テーブルのプレビュー)**] を選択します。

   [**結果**] ペインに、サーバーアクセスログのデータ (`bucketowner`、`bucket`、`requestdatetime` など) が表示されます。これは、Athena テーブルが正常に作成されたことを意味します。これで、バケットサーバーアクセスログのクエリを実行できます。

**例 - 誰がいつオブジェクトを削除したか (タイムスタンプ、IP アドレス、および IAM ユーザー) を表示する**

```
SELECT RequestDateTime, RemoteIP, Requester, Key 
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs 
WHERE key = 'images/picture.jpg' AND operation like '%DELETE%';
```

**例 - IAM ユーザーによって実行されたすべてのオペレーションを表示する**

```
SELECT * 
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs 
WHERE requester='arn:aws:iam::123456789123:user/user_name';
```

**例 - 特定の期間にオブジェクトに対して実行されたすべてのオペレーションを表示する**

```
SELECT *
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs
WHERE Key='prefix/images/picture.jpg' 
    AND parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z')
    BETWEEN parse_datetime('2017-02-18:07:00:00','yyyy-MM-dd:HH:mm:ss')
    AND parse_datetime('2017-02-18:08:00:00','yyyy-MM-dd:HH:mm:ss');
```

**例 - 特定の期間に特定の IP アドレスによって送信されたデータの量を表示する**

```
SELECT SUM(bytessent) AS uploadTotal,
      SUM(objectsize) AS downloadTotal,
      SUM(bytessent + objectsize) AS Total
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs
WHERE RemoteIP='1.2.3.4'
AND parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z')
BETWEEN parse_datetime('2017-06-01','yyyy-MM-dd')
AND parse_datetime('2017-07-01','yyyy-MM-dd');
```

## Amazon S3 アクセスログを使用してオブジェクトアクセスリクエストの識別する
<a name="identifying-object-access-requests"></a>

アクセスログに対するクエリを使用して、*GET*、*PUT*、*DELETE* などのオペレーションに対するオブジェクトアクセスリクエストを識別し、それらのリクエストに関する詳細情報を確認することができます。

次の Amazon Athena クエリの例は、サーバーアクセスログからバケットに対するすべての `PUT` オブジェクトリクエストを取得する方法を示しています。

**例 - 一定期間内に PUT オブジェクトリクエストを送信しているすべてのリクエスタを表示する**

```
SELECT Bucket, Requester, RemoteIP, Key, HTTPStatus, ErrorCode, RequestDateTime
FROM s3_access_logs_db
WHERE Operation='REST.PUT.OBJECT' AND
parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z') 
BETWEEN parse_datetime('2019-07-01:00:42:42','yyyy-MM-dd:HH:mm:ss')
AND 
parse_datetime('2019-07-02:00:42:42','yyyy-MM-dd:HH:mm:ss')
```

次の Amazon Athena クエリの例は、サーバーアクセスログから Amazon S3 に対するすべての GET オブジェクトリクエストを取得する方法を示しています。

**例 - 一定期間内に GET オブジェクトリクエストを送信しているすべてのリクエスタを表示する**

```
SELECT Bucket, Requester, RemoteIP, Key, HTTPStatus, ErrorCode, RequestDateTime
FROM s3_access_logs_db
WHERE Operation='REST.GET.OBJECT' AND
parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z') 
BETWEEN parse_datetime('2019-07-01:00:42:42','yyyy-MM-dd:HH:mm:ss')
AND 
parse_datetime('2019-07-02:00:42:42','yyyy-MM-dd:HH:mm:ss')
```

次の Amazon Athena のクエリの例は、S3 バケットへのすべての匿名リクエストをサーバーアクセスログから取得する方法を示しています。

**例 - 特定の期間にバケットにリクエストを行っているすべての匿名リクエスタを表示する**

```
SELECT Bucket, Requester, RemoteIP, Key, HTTPStatus, ErrorCode, RequestDateTime
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs
WHERE Requester IS NULL AND
parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z') 
BETWEEN parse_datetime('2019-07-01:00:42:42','yyyy-MM-dd:HH:mm:ss')
AND 
parse_datetime('2019-07-02:00:42:42','yyyy-MM-dd:HH:mm:ss')
```

**注記**  
ニーズに合わせられるように、データ範囲を変更することができます。
このクエリの例は、セキュリティのモニタリングにも役立つ場合があります。予期しないまたは不正な IP アドレス/リクエスタからの `PutObject` または `GetObject` コールの結果を確認し、バケットへの匿名リクエストを特定できます。
このクエリでは、ログ記録が有効になった時間以降の情報のみ取得されます。

# Lightsail バケット内のファイルとフォルダを管理する
<a name="amazon-lightsail-viewing-objects-in-a-bucket"></a>

Lightsail コンソールを使用して、Amazon Lightsail オブジェクトストレージサービスのバケットに保存されているすべてのオブジェクトを表示できます。( AWS Command Line Interface AWS CLI) と AWS SDKs を使用して、バケット内のオブジェクトキーを一覧表示することもできます。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## Lightsail コンソールを使用してオブジェクトをフィルターする
<a name="view-objects-lightsail-console"></a>

Lightsail コンソールを使用してバケットに格納されたオオブジェクトストレージを表示するには、以下の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. オブジェクトを表示するバケットの名前を選択します。

1. [**オブジェクト**] タブの [**オブジェクトブラウザ**] ペインには、バケットに保存されているオブジェクトとフォルダが表示されます。  
![\[Lightsail コンソールのオブジェクトブラウザペイン\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-object-browser-pane.png)

1. プロパティを表示するオブジェクトのロケーションを見つけます。

1. プロパティを表示するオブジェクトの横にチェックマークを追加します。

1. ページの右側にある [**オブジェクトのプロパティ**] ペインに、オブジェクトに関する情報が表示されます。  
![\[Lightsail コンソールのオブジェクトプロパティペイン\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-object-properties-pane.png)

   表示される情報には、次の情報が含まれます。

   1. オブジェクトを表示およびダウンロードするリンク。

   1. アクションメニュー (⋮) を使用して、オブジェクトをコピーまたは削除します。オブジェクトのコピーと削除の詳細については、「[Amazon Lightsail バケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)」および「[バケットのオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)」を参照してください。

   1. オブジェクトのサイズ、および最終更新タイムスタンプ。

   1. 個々のオブジェクトのアクセス許可は、プライベートまたは公開（読み取り専用）です。バケットのアクセス許可の詳細については、「[バケットのアクセス許可](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   1. オブジェクトのメタデータ。コンテンツタイプ (`ContentType`) キーは、現時点で Lightsail オブジェクトストレージサービスがサポートする唯一のメタデータです。

   1. オブジェクトキーバリュータグ 詳細については、「[バケットオブジェクトにタグを付ける](amazon-lightsail-tagging-bucket-objects.md)」を参照してください。

   1. オブジェクトの保存されたバージョンを管理するオプション。詳細については、「[バケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。
**注記**  
複数のオブジェクトを選択すると、[**オブジェクトのプロパティ**] ペインには、選択したオブジェクトの合計サイズのみが表示されます。

## を使用してオブジェクトを表示する AWS CLI
<a name="view-objects-aws-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用して、バケットのオブジェクトのキーをリスト化するには、次の手順を実行します。これは、`list-objects-v2` コマンドを使用して実行できます。詳細については、「*AWS CLI コマンドリファレンス*」の「[list-objects-v2](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects-v2.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS Command Line Interface ように Amazon Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. コマンドプロンプトまたはターミナルウィンドウを開きます。

1. 以下のいずれかのコマンドを入力します。
   + 次のコマンドを入力して、バケット内のすべてのオブジェクトキーをリスト化します。

     ```
     aws s3api list-objects-v2 --bucket BucketName --query "Contents[].{Key: Key, Size: Size}"
     ```

     コマンドで、*BucketName* をすべてのオブジェクトをリスト化するバケットの名前に置き換えます。
   + 次のコマンドを入力して、特定のオブジェクトキー名のプレフィックスで始まるオブジェクトをリスト化します。

     ```
     aws s3api list-objects-v2 --bucket BucketName --prefix ObjectKeyNamePrefix --query "Contents[].{Key: Key, Size: Size}"
     ```

     コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
     + *BucketName* - すべてのオブジェクトをリストするバケット名。
     + *ObjectKeyNamePrefix* - オブジェクトキー名のプレフィックスで、指定されたプレフィックスで始まるキーへのレスポンスを制限します。
**注記**  
これらのコマンドは、`--query` パラメータを使用して、`list-objects-v2` リクエストのレスポンスを各オブジェクトのキーバリューとサイズにフィルタリングします。

   例:

   バケット内のすべてのオブジェクトキーをリスト化

   ```
   aws s3api list-objects-v2 --bucket amzn-s3-demo-bucket --query "Contents[].{Key: Key, Size: Size}"
   ```

   前述のコマンドでは、次の例に示すような結果が表示されます。  
![\[AWS CLI list-objects-v2 コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-list-objects-v2-result.png)

   オブジェクトキーのリストは、`archived/`オブジェクトキー名のプレフィックスで始まります:

   ```
   aws s3api list-objects-v2 --bucket amzn-s3-demo-bucket --prefix archived/ --query "Contents[].{Key: Key, Size: Size}"
   ```

   前述のコマンドでは、次の例に示すような結果が表示されます。  
![\[AWS CLI list-objects-v2 コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-list-objects-v2-prefix-result.png)

## バケットとオブジェクトを管理する
<a name="viewing-objects-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](#amazon-lightsail-viewing-objects-in-a-bucket)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

**Topics**
+ [Lightsail コンソールを使用してオブジェクトをフィルターする](#view-objects-lightsail-console)
+ [を使用してオブジェクトを表示する AWS CLI](#view-objects-aws-cli)
+ [バケットとオブジェクトを管理する](#viewing-objects-managing-buckets-and-objects)
+ [オブジェクトをコピーまたは移動する](amazon-lightsail-copying-moving-bucket-objects.md)
+ [オブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)
+ [オブジェクトをダウンロードする](amazon-lightsail-downloading-bucket-objects.md)
+ [オブジェクトをフィルタリングする](amazon-lightsail-filtering-bucket-objects.md)
+ [オブジェクトのバージョニングを管理する](amazon-lightsail-managing-bucket-object-versioning.md)
+ [オブジェクトバージョンを復元する](amazon-lightsail-restoring-bucket-object-versions.md)
+ [オブジェクトをタグ付けする](amazon-lightsail-tagging-bucket-objects.md)

# Lightsail バケットの間でオブジェクトをコピーおよび移動する
<a name="amazon-lightsail-copying-moving-bucket-objects"></a>

Amazon Lightsail オブジェクトストレージサービスのバケットに既に保存されているオブジェクトをコピーできます。このガイドでは、 Lightsailコンソールと AWS Command Line Interface () を使用してオブジェクトをコピーする方法を示しますAWS CLI。バケット内のオブジェクトをコピーして、オブジェクトの複製コピーを作成したり、オブジェクトの名前を変更したり、場所間でオブジェクトを移動したりします (たとえば、オブジェクトをある場所から別のLightsail場所に移動 AWS リージョン し、 Lightsailが使用可能）。ロケーション間でオブジェクトをコピーできるのは、 AWS APIs AWS SDKs、および AWS Command Line Interface () のみですAWS CLI。

バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## オブジェクトのコピーに関する制約事項
<a name="copying-moving-bucket-objects-restrictions"></a>

Lightsail コンソールでは、2 GB までのサイズのオブジェクトのコピーを作成することができます。 AWS Command Line Interface (AWS CLI)、 AWS APIs、 AWS SDKs を使用して、1 つのコピーオブジェクトアクションで最大 5 GB のサイズのオブジェクトのコピーを作成できます。サイズが 5 GB を超えるオブジェクトをコピーするには、 AWS CLI、 AWS APIs、 AWS SDKs のマルチパートアップロードアクションを使用する必要があります。詳細については、「[マルチパートアップロードを使用してバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)」を参照してください。

## Lightsailコンソールを使用してオブジェクトをコピーする
<a name="copying-moving-bucket-objects-lightsail-console"></a>

Lightsailコンソールを使用し、バケットに格納されたオブジェクトをコピーするには、以下の手順を実行します。バケット内のオブジェクトを移動するには、そのオブジェクトを新しい場所にコピーし、元のオブジェクトを削除する必要があります。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. オブジェクトのコピー先のバケットの名前を選択します。

1. **オブジェクト**のタブで、**オブジェクトブラウザペイン**を使用し、オブジェクトのコピー先のロケーションを参照します。

1. コピーするオブジェクトの隣のチェックマークを入れます。

1. **オブジェクト情報**のウィンドウで、アクション (⋮) メニューを選択し、**にコピーします**。

1. **送信先の選択**ペインで、選択したオブジェクトをコピーするバケット内のロケーションを参照します。**送信先パス**テキストボックスにフォルダ名を入力して、新しいパスを作成することもできます。

1. 選択したコピー先または指定したコピー先にオブジェクトをコピーするためには、**コピー**を選択します。それ以外の場合は、[**いいえ、キャンセル**] を選択します。

   オブジェクトが正常にコピーされると、**コピー完了**のメッセージが表示されます。オブジェクトの移動を目的としていた場合は、元のオブジェクトを削除する必要があります。詳細については、「[バケットオブジェクトを削除する](amazon-lightsail-deleting-bucket-objects.md)」を参照してください。

## を使用してオブジェクトをコピーする AWS CLI
<a name="copying-moving-bucket-objects-aws-cli"></a>

 AWS Command Line Interface () を使用してバケット内のオブジェクトをコピーするには、次の手順を実行しますAWS CLI。これは、`copy-object` コマンドを使用して実行できます。詳細については、「AWS CLI コマンドリファレンス」の「[copy-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. バケット内のオブジェクトをコピーするには、次のコマンドを入力します。

   ```
   aws s3api copy-object --copy-source SourceBucketNameAndObjectKey --key DestinationObjectKey --bucket DestinationBucketName --acl bucket-owner-full-control
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *SourceBucketNameAndObjectKey* - ソースオブジェクトが現在存在するバケットの名前と、コピーされるオブジェクトのフルオブジェクトキー。たとえば、`amzn-s3-demo-bucket`バケットからオブジェクト`images/sailbot.jpg`をコピーするには、`amzn-s3-demo-bucket/images/sailbot.jpg`を指定します。
   + *DestinationObjectKey* - 新しいオブジェクトのコピーのフルオブジェクトキー。
   + *DestinationBucket* - 送信先バケットの名前。

   例:
   + バケット内のオブジェクトを同じバケット内にコピーする:

     ```
     aws s3api copy-object --copy-source amzn-s3-demo-bucket1/images/sailbot.jpg --key media/sailbot.jpg --bucket amzn-s3-demo-bucket --acl bucket-owner-full-control
     ```
   + バケットから別のバケットへオブジェクトをコピーする:

     ```
     aws s3api copy-object --copy-source amzn-s3-demo-bucket1/images/sailbot.jpg --key images/sailbot.jpg --bucket amzn-s3-demo-bucket2 --acl bucket-owner-full-control
     ```

   以下の例のような結果が表示されるはずです。  
![\[AWS CLI copy-object コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-copy-object-result.png)

## バケットとオブジェクトを管理する
<a name="moving-objects-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](#amazon-lightsail-copying-moving-bucket-objects)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# オブジェクトを削除して Lightsail バケットストレージをクリアする
<a name="amazon-lightsail-deleting-bucket-objects"></a>

Amazon Lightsail オブジェクトストレージサービス内のバケットからオブジェクトを削除することができます。ストレージ領域を解放するには、不要になったオブジェクトを削除します。たとえば、ログファイルを収集している場合は、不要になったファイルを削除することをお勧めします。

バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

**目次**
+ [バージョニングが有効なバケットからオブジェクトを削除する](#deleting-objects-from-version-enabled-buckets)
+ [Lightsail コンソールを使用してオブジェクトを削除します。](#deleting-objects-lightsail-console)
+ [Lightsail コンソールを使用してオブジェクトバージョンを削除する](#deleting-object-versions-lightsail-console)
+ [を使用して単一のオブジェクトまたはオブジェクトバージョンを削除する AWS CLI](#deleting-single-object-aws-cli)
+ [を使用して複数のオブジェクトまたはオブジェクトバージョンを削除する AWS CLI](#delete-objects-aws-cli)

## バージョニングが有効なバケットからオブジェクトを削除する
<a name="deleting-objects-from-version-enabled-buckets"></a>

バージョニングがバケットで有効化されている場合、複数のバージョンのオブジェクトがバケット内に存在する可能性があります。Lightsail コンソール、 AWS APIs AWS CLI、または AWS SDK を使用して、オブジェクトの任意のバージョンを削除できます。ただし、次のオプションを検討する必要があります。

**Lightsail コンソールを使用して、オブジェクトおよびオブジェクトバージョンを削除する**

Lightsail コンソールの [**オブジェクト**] タブの**オブジェクトブラウザペイン**でオブジェクトの最新バージョンを削除すると、以前のバージョンのオブジェクトもすべて削除されます。オブジェクトの特定のバージョンを削除するには、**バージョンの管理**ペインから実行してください。**バージョン管理**ペインを使用してオブジェクトの現在のバージョンを削除すると、以前の最新のバージョンが現在のバージョンとして復元されます。詳細については、このガイドで後述する[「Lightsail コンソールを使用してオブジェクトバージョンを削除する」](#deleting-object-versions-lightsail-console)を参照してください。

**Lightsail API、 AWS CLI、または AWS SDKs を使用してオブジェクトとオブジェクトバージョンを削除する**

単一のオブジェクトとその保存されているすべてのバージョンを削除するには、削除リクエストでオブジェクトのキーのみを指定します。オブジェクトの特定のバージョンを削除するためには、オブジェクトのキー名とバージョン ID の両方を指定します。詳細については、このガイドで後述する[「 AWS CLIで単一のオブジェクトまたはオブジェクトバージョンを削除するには」](#deleting-single-object-aws-cli)を参照してください。

## Lightsail コンソールを使用してオブジェクトを削除します。
<a name="deleting-objects-lightsail-console"></a>

Lightsail コンソールを使い、保存された以前のバージョンを含めオブジェクトを削除するには、次の手順に従います。Lightsail コンソールでは、一度に 1 つずつしかオブジェクトを削除できません。を使用して AWS CLI 、複数のオブジェクトを一度に削除します。詳細については、このガイドで後述する「[AWS CLIを使用して複数のオブジェクトまたはオブジェクトバージョンを削除する](#delete-objects-aws-cli)」を参照してください。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. オブジェクトを削除するバケットの名前を選択します。

1. [**オブジェクト**] タブの**オブジェクトブラウザ**ペインを使用して、削除するオブジェクトの場所を参照します。

1. 削除するオブジェクトの横にあるチェックマークを追加します。

1. **オブジェクト情報**ペインで、アクション (⋮) メニューを選択し、[**削除**] を選択します。

1. 表示される確認ペインで[**はい、削除します**]を選択し、オブジェクトを完全に削除することを確認します。

   フォルダ内の唯一のオブジェクトを削除すると、そのフォルダも削除されます。これは、フォルダがオブジェクトキー名の一部であり、バケット内の他のオブジェクトが同じオブジェクトプレフィックスを共有していない場合、オブジェクトを削除すると、先行するフォルダも削除されるために発生します。詳細については、「[オブジェクトストレージバケットのキー名](understanding-bucket-object-key-names-in-amazon-lightsail.md)」を参照してください。

## Lightsail コンソールを使用してオブジェクトバージョンを削除する。
<a name="deleting-object-versions-lightsail-console"></a>

オブジェクトの保存されたバージョンを削除するには、次の手順を実行します。これは、バージョニングが有効なバケットでのみ可能です。詳細については、「[バケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. オブジェクトを削除するバケットの名前を選択します。

1. **オブジェクトブラウザ**ペインを使用して、削除するオブジェクトの場所を参照します。

1. 削除するオブジェクトの保存された旧バージョンの横にチェックマークを追加します。

1. **オブジェクト情報**ペインの**バージョン**のセクションで[**Manage**] (管理) を選択します。

1. **保存されたオブジェクトのバージョンを管理する**ペインで、削除するオブジェクトのバージョンの横にチェックマークを追加します。

   オブジェクトの現在のバージョンを削除するように選択することもできます。

1. [**選択済みを削除**] をクリックして、選択したバージョンを削除します。

   削除した場合:
   + オブジェクトの現在のバージョン-オブジェクトの以前の最新のバージョンが現在のバージョンとして復元されます。
   + オブジェクトの唯一のバージョン-オブジェクトがバケットから削除されます。削除したバージョンが現在のフォルダ内の唯一のオブジェクトである場合、フォルダも削除されます。これは、フォルダがオブジェクトキー名の一部であり、バケット内の他のオブジェクトが同じオブジェクトキープレフィックス共有していない場合、オブジェクトを削除すると、先行するフォルダも削除されるため発生します。詳細については、「[バケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

## を使用して単一のオブジェクトまたはオブジェクトバージョンを削除する AWS CLI
<a name="deleting-single-object-aws-cli"></a>

 AWS Command Line Interface () を使用してバケット内の単一のオブジェクトまたはオブジェクトバージョンを削除するには、次の手順を実行しますAWS CLI。これは、`delete-object` コマンドを使用して実行できます。詳細については、「AWS CLI コマンドリファレンス」の「[delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS Command Line Interface ように Amazon Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. バケット内のオブジェクトまたはオブジェクトバージョンを削除するには、次のコマンドを入力します。

   オブジェクトを削除するには:

   ```
   aws s3api delete-object --bucket BucketName --key ObjectKey
   ```

   オブジェクトバージョンを削除するには
**注記**  
オブジェクトバージョンの削除は、バージョニングが有効なバケットでのみ可能です。詳細については、「[バケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

   ```
   aws s3api delete-object --bucket BucketName --key ObjectKey --version-id VersionID
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* - リストで、オブジェクトを削除するバケットの名前を選択します。
   + *ObjectKey* - 削除するオブジェクトの完全なオブジェクトキー。
   + *VersionId* - 削除するオブジェクトバージョンの ID。

   例:

   オブジェクトの削除：

   ```
   aws s3api delete-object --bucket amzn-s3-demo-bucket --key images/sailbot.jpg
   ```

   オブジェクトバージョンの削除：

   ```
   aws s3api delete-object --bucket amzn-s3-demo-bucket --key images/sailbot.jpg --version-id YF0YMBlUvexampleO07l2vJi9hRz4ujX
   ```

   以下の例のような結果が表示されるはずです。  
![\[AWS CLI delete-object コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-delete-object-version-result.png)

## を使用して複数のオブジェクトまたはオブジェクトバージョンを削除する AWS CLI
<a name="delete-objects-aws-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用してバケット内の複数のオブジェクトを削除するには、以下の手順を実行します。これは、`delete-objects` コマンドを使用して実行できます。詳細については、 AWS CLI 「 コマンドリファレンス」の[「delete-objects](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-objects.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS Command Line Interface ように Amazon Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. バケット内の複数のオブジェクトまたは複数のオブジェクトバージョンを削除するには、次のコマンドを入力します。

   ```
   aws s3api delete-objects --bucket BucketName --delete file://LocalDirectory
   ```

   以下のコマンド例を使用するには、以下のテキストを独自のものに置き換えてください。
   + *BucketName* - 複数のオブジェクトまたは複数のオブジェクトバージョンを削除するバケットの名前。
   + *LocalDirectory* - 削除するオブジェクトまたはバージョンを指定する .json ドキュメントのコンピュータ上のディレクトリパス。.json ドキュメントは以下のようにフォーマットできます。

     オブジェクトを削除するには、.json ファイルに次のテキストを入力し、*ObjectKey* を削除するオブジェクトのオブジェクトキーに置き換えます。

     ```
     {
       "Objects": [
         {
           "Key": "ObjectKey1"
         },
         {
           "Key": "ObjectKey2"
         }
       ],
       "Quiet": false
     }
     ```

     オブジェクトのバージョンを削除するには、.json ファイルに次のテキストを入力します。*ObjectKey* および *VersionID* を削除するオブジェクトバージョンのオブジェクトキーとオブジェクト ID に置き換えます。
**注記**  
オブジェクトバージョンの削除は、バージョンが有効なバケットでのみ可能です。詳細については、「[バケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

     ```
     {
       "Objects": [
         {
           "Key": "ObjectKey1",
           "VersionId": "VersionID1"
         },
         {
           "Key": "ObjectKey2",
           "VersionId": "VersionID2"
         }
       ],
       "Quiet": false
     }
     ```

   例:
   + Linux または Unix コンピュータの場合は、次の操作を行います。

     ```
     aws s3api delete-objects --bucket amzn-s3-demo-bucket --delete file://home/user/Documents/delete-objects.json
     ```
   + Windows コンピュータの場合: 

     ```
     aws s3api delete-objects --bucket amzn-s3-demo-bucket --delete file://C:\Users\user\Documents\delete-objects.json
     ```

   以下の例のような結果が表示されるはずです。  
![\[AWS CLI delete-objects コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-delete-objects-version-result.png)

## バケットとオブジェクトを管理する
<a name="deleting-objects-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](#amazon-lightsail-deleting-bucket-objects)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# Lightsail バケットからオブジェクトをダウンロードする
<a name="amazon-lightsail-downloading-bucket-objects"></a>

Amazon Lightsail オブジェクトストレージサービスでは、アクセス可能なバケットまたはパブリック（読み取り専用）のバケットからオブジェクトをダウンロードすることができます。Lightsail コンソールを使用すれば、オブジェクトを一つずつダウンロードできます。1 つのリクエストで複数のオブジェクトをダウンロードするには、 AWS Command Line Interface (AWS CLI)、 AWS SDKs、または REST API を使用します。このガイドでは、Lightsail コンソールと AWS CLIを使用してオブジェクトをダウンロードする方法を紹介します。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## Lightsail コンソールを使用してオブジェクトをダウンロードする
<a name="downloading-bucket-objects-lightsail-console"></a>

Lightsail コンソールを使用してバケットからオブジェクトをダウンロードするには、次の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. ファイルをダウンロードしたいバケットの名前を選択します。

1. **オブジェクト**タブの**オブジェクトブラウザペイン**でダウンロードするオブジェクトの場所を参照します。

1. ダウンロードするオブジェクトの横にチェックマークを追加します。

1. 左**オブジェクト情報**ペインで、ダウンロードアイコンを選択します。  
![\[バケット内のオブジェクトのダウンロードアイコン\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/bucket-object-download-icon.png)

   ブラウザの設定に応じて、選択したファイルはページに表示されるか、コンピュータにダウンロードされます。ファイルがページに表示されている場合は、ファイルを右クリックして、[**Save as**] を選択すると、コンピュータに保存されます。

## を使用してオブジェクトをダウンロードする AWS CLI
<a name="downloading-bucket-objects-aws-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用してバケットからオブジェクトをダウンロードするには、次の手順を実行します。これは、`get-object` コマンドを使用して実行できます。詳細については、「AWS CLI コマンドリファレンス」の「[get-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS Command Line Interface ように Amazon Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. バケットからオブジェクトをダウンロードするには、次のコマンドを入力します。

   ```
   aws s3api get-object --bucket BucketName --key ObjectKey LocalFilePath
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* - オブジェクトのダウンロード元となるバケット名。
   + *ObjectKey* - ダウンロードするオブジェクトの完全なオブジェクトキー。
   + *LocalFilePath* - ダウンロードしたファイルを保存するコンピュータ上の完全なファイルパス。

   例:

   ```
   aws s3api get-object --bucket amzn-s3-demo-bucket --key images/sailbot.jpg C:\Users\user\Pictures\sailbot.jpg
   ```

   以下の例のような結果が表示されるはずです。  
![\[AWS CLI download-object コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-download-object-result.png)

## バケットとオブジェクトを管理する
<a name="downloading-objects-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](#amazon-lightsail-downloading-bucket-objects)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# 名前プレフィックスで Lightsail バケット内のオブジェクトをフィルタリングする
<a name="amazon-lightsail-filtering-bucket-objects"></a>

Amazon Lightsail オブジェクトストレージサービスでは、バケット内のオブジェクトをフィルタリングで検索できます。このガイドでは、Lightsail コンソールおよび AWS Command Line Interface (AWS CLI) を使用してオブジェクトをフィルタリングする方法を紹介します。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## Lightsail コンソールを使用してオブジェクトをフィルターする
<a name="filtering-objects-lightsail-console"></a>

Lightsail コンソールでバケットのオブジェクトをフィルタリングするには、以下の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. オブジェクトを検索するバケットの名前を選択します。

1. **オブジェクト**タブで、オブジェクトの接頭辞を [**名前でフィルタリングする**] テキストボックスに入力します。

   現在表示中のフォルダのオブジェクトのリストは、入力したテキストに合わせてフィルタされます。次の例は、`sail` と入力した場合、ページ上のオブジェクトのリストが `sail` で始まるものに限定してフィルタリングされることを示しています。  
![\[Lightsail コンソールでのバケットオブジェクトのフィルタリング方法\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-filter-bucket-objects-using-console.png)

   別のフォルダでオブジェクトのリストをフィルタするには、そのフォルダへ移動します。次に、オブジェクトの接頭辞を [**名前でフィルタリングする**] テキストボックスに入力します。

## を使用してオブジェクトをフィルタリングする AWS CLI
<a name="filtering-objects-aws-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用してバケットのオブジェクトをフィルタリングするには、以下の手順を実行します。これは、`list-objects-v2` コマンドを使用して実行できます。詳細については、「*AWS CLI コマンドリファレンス*」の「[list-objects-v2](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects-v2.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS Command Line Interface ように Amazon Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. 特定のオブジェクトキー名のプレフィックスで始まるオブジェクトをリストするには、次のコマンドを入力します。

   ```
   aws s3api list-objects-v2 --bucket BucketName --prefix ObjectKeyNamePrefix --query "Contents[].{Key: Key, Size: Size}"
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* - すべてのオブジェクトをリストするバケット名。
   + *ObjectKeyNamePrefix* - 指定されたプレフィックスで始まるキーに応答を制限するオブジェクトキー名プレフィックス。
**注記**  
このコマンドは、`--query` パラメーターを利用し、`list-objects-v2` リクエストへの応答を各オブジェクトのキー値とサイズにフィルタリングします。

   例:

   ```
   aws s3api list-objects-v2 --bucket amzn-s3-demo-bucket --prefix archived/ --query "Contents[].{Key: Key, Size: Size}"
   ```

   次の例のような結果が表示されます。  
![\[AWS CLI list-objects-v2 コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-list-objects-v2-prefix-result.png)

## バケットとオブジェクトを管理する
<a name="filtering-objects-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](#amazon-lightsail-filtering-bucket-objects)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# Lightsail のオブジェクトバージョニングの有効化と一時停止
<a name="amazon-lightsail-managing-bucket-object-versioning"></a>

Amazon Lightsail オブジェクトストレージサービスでのバージョニングとは、同じバケット内でオブジェクトの複数のバリアントを保持する手段です。バージョニング機能を使用すると、バケットに保存されたすべてのオブジェクトのすべてのバージョンを、保存、取得、復元することができます。バージョニングを使用すれば、誤ったユーザーアクションやアプリケーション障害からより簡単に回復することができます。バケットのバージョニングが有効な場合に、Lightsail オブジェクトストレージサービスが同じオブジェクトに対する複数の書き込みリクエストを同時に受信すると、すべてのオブジェクトが保存されます。バージョニングは Lightsail オブジェクトストレージサービスのバケットではデフォルトで無効になっているため、明示的に有効にする必要があります。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

**重要**  
「**個々のオブジェクトを公開可能 (読み取り専用)**」のアクセス権が設定されているバケットでバージョニングを有効または一時停止にすると、アクセス権は「**すべてのオブジェクトはプライベートです**」にリセットされます。個々のオブジェクトをパブリックにするオプションを引き続き使用する場合は、バケットのアクセス権限を手動で「**個々のオブジェクトを公開可能 (読み取り専用)**」に変更する必要があります。詳細については、「[バケットのアクセス許可を設定する](amazon-lightsail-configuring-bucket-permissions.md)」を参照してください。

## バージョンが無効化、有効化、一時停止されたバケット
<a name="version-disabled-enabled-suspended-buckets"></a>

Lightsail コンソールのバケットバージョニングには、3 つの状態があります。
+ 無効 (API と SDK では `NeverEnabled`)
+ 有効 (API と SDK では `Enabled`)
+ 一時停止 (API と SDK では `Suspended`)

一度バケットでバージョニングを有効にすると、無効状態に戻すことはできません。ただし、バージョニングを一時停止することは可能です。バージョニングは、バケットレベルで有効化および停止します。

バージョニングの状態は、バケット内のすべてのオブジェクト (一部ではない) に適用されます。バケットでバージョニングを有効にすると、すべての新しいオブジェクトがバージョニングされ、一意のバージョン ID が割り当てられます。バージョニングが有効されたときにバケット内にすでに存在したオブジェクトは、それ以降は常にバージョニングされます。将来のリクエストによってオブジェクトが修正された場合、固有のバージョン ID が割り当てられます。

## バージョン ID
<a name="bucket-object-version-ids"></a>

バケットのバージョニングを有効にすると、Lightsail オブジェクトストレージサービスは保存されてるオブジェクトに対して固有のバージョン ID を自動的に生成します。例えば、1 つのバケット内に、`photo.gif` (バージョン 111111) と `photo.gif` (バージョン 121212) のように、キーは同じだがバージョン ID が異なる 2 つのオブジェクトを保持することができます。

![\[バケットのバージョニングの有効化\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-versioning-versioning-enabled.png)


バージョン ID を編集することはできません。バージョン ID は、Unicode、UTF-8 エンコード、URL 対応の不透明型文字列で、長さは 1,024 バイト以下です。以下はバージョン ID の例です。

```
3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo
```

## Lightsail コンソールを使用してオブジェクトのバージョニングを有効化または一時停止する
<a name="enable-dsable-bucket-object-versioning-lightsail-console"></a>

Lightsail コンソールを使用してオブジェクトのバージョニングを有効または一時停止するには、次の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. バージョニングを有効または一時停止するバケットの名前を選択します。

1. [Versioning] (バージョニング) タブを選択します。

1. バケットの現在のバージョニング状態に応じて、次のいずれかのアクションを実行します。
   + バージョニングが現在停止されているか、有効になっていない場合は、 ページの [**Object versioning**] (オブジェクトのバージョニング) セクションにあるトグルを選択してバージョニングを有効にします。
   + バージョニングが現在有効になっている場合は、 ページの [**Object versioning**] セクションにあるトグルを選択してバージョニングを一時停止にします。

## を使用してオブジェクトのバージョニングを有効化または停止する AWS CLI
<a name="enable-dsable-bucket-object-versioning-aws-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用してオブジェクトのバージョニングを有効化または一時停止するには、次の手順を実行します。これは、`update-bucket` コマンドを使用して実行できます。詳細については、「AWS CLI コマンドリファレンス」の「[update-bucket](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-bucket.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. 次のコマンドを入力して、オブジェクトのバージョニングを有効または一時停止にします。

   ```
   aws lightsail update-bucket --bucket-name BucketName --versioning VersioningState
   ```

   コマンド内で、次のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* - オブジェクトのバージョニングを有効にしたいバケットの名前。
   + *VersioningState* - 以下のいずれかを指します。
     + `Enabled` - オブジェクトのバージョニングを有効にする。
     + `Suspended` - 有効になっているオブジェクトのバージョニングを一時停止する。

   例:

   ```
   aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket --versioning Enabled
   ```

   以下の例のような結果が表示されるはずです。  
![\[バケット更新リクエストへの応答\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-update-bucket-objects-versioning-cli.png)

## バケットとオブジェクトを管理する
<a name="versioning-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](#amazon-lightsail-managing-bucket-object-versioning)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# Lightsail バケット内の以前のオブジェクトバージョンを復元する
<a name="amazon-lightsail-restoring-bucket-object-versions"></a>

Amazon Lightsail オブジェクトストレージサービスのバケットがバージョニング対応の場合、オブジェクトの前のバージョンを復元できます。オブジェクトの前のバージョンを復元して、意図せぬユーザーアクションやアプリケーションの障害から回復します。

Lightsail コンソールを使ってオブジェクトの前のバージョンを復元できます。 AWS Command Line Interface (AWS CLI) と AWS SDKsを使用して、オブジェクトの以前のバージョンを復元することもできます。これを行うには、オブジェクトの特定のバージョンをバケットにコピーし、同じオブジェクトキー名を使用します。これにより、現在のバージョンが前のバージョンに置き換えられ、前のバージョンが現在のバージョンになります。バージョニングの詳細については、「[バケット内のオブジェクトのバージョンニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## Lightsail コンソールを使ってオブジェクトの前のバージョンを復元する
<a name="restore-previous-object-version-lightsail-console"></a>

Lightsail コンソールを使用してオブジェクトのバージョニングを有効または一時停止するには、次の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. 前のバージョンを復元したいオブジェクトが入っているバケットの名前を選択します。

1. [**オブジェクト**] タブにある [**オブジェクトブラウザ**] ペインを使用して、オブジェクトの場所を参照します。

1. 前のバージョンを復元したいオブジェクトの横にチェックマークを追加します。

1. [**オブジェクト情報**] ペインの [バージョン] セクションにある [**管理**] を選択します。

1. **[復元]** を選択します。

1. 表示される [保存されたバージョン] ペインの [**オブジェクトの復元**] で、復元したいオブジェクトのバージョンを選択します。

1. [**続行**] をクリックしてください。

1. 確認プロンプトが表示されたら、[**はい、復元します**] を選択して、オブジェクトのバージョンを復元します。復元しない場合は、[**いいえ。キャンセルする**] を選択します。

## を使用してオブジェクトの以前のバージョンを復元する AWS CLI
<a name="restore-previous-object-version-aws-cli"></a>

オブジェクト AWS Command Line Interface (AWS CLI) の前のバージョンを復元するには、次の手順を実行します。これは、`copy-object` コマンドを使用して行います。同じオブジェクトキーを使用して、オブジェクトの前のバージョンを同じバケットにコピーする必要があります。詳細については、「AWS CLI コマンドリファレンス」の「[copy-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS Command Line Interface ように Amazon Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. オブジェクトの前のバージョンを復元するには、次のコマンドを入力します。

   ```
   aws s3api copy-object --copy-source "BucketName/ObjectKey?versionId=VersionId" --key ObjectKey --bucket BucketName
   ```

   コマンド内で、次のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* - 前のバージョンを復元したいオブジェクトが入っているバケットの名前。同じバケット名を `--copy-source` および `--bucket` パラメータに指定する必要があります。
   + *ObjectKey* - 復元するオブジェクトの名前。同じオブジェクトキーの名前を `--copy-source` および `--key` パラメータに指定する必要があります。
   + *VersionId* - 現在のバージョンとして復元したい、前のオブジェクトのバージョンの ID。`list-object-versions` コマンドを使用して、バケット内のオブジェクトのバージョン ID 一覧を取得します。

   例:

   ```
   aws s3api copy-object --copy-source "amzn-s3-demo-bucket/sailbot.jpg?versionId=GQWEexample87Mdl8Q_DKdVTiVMi_VyU" –key sailbot.jpg --bucket amzn-s3-demo-bucket
   ```

   以下の例のような結果が表示されるはずです。  
![\[AWS CLI copy-object-version コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-copy-object-version-result.png)

## バケットとオブジェクトを管理する
<a name="restoring-versions-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](#amazon-lightsail-restoring-bucket-object-versions)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# Lightsail バケット内のオブジェクトにタグを付ける
<a name="amazon-lightsail-tagging-bucket-objects"></a>

バケット内のオブジェクトにタグ付けして、目的、所有者、環境、またはその他の基準で分類します。タグは、アップロード時またはアップロード後にオブジェクトに追加できます。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## Lightsail コンソールを使用してオブジェクトのタグを追加および削除
<a name="add-delete-object-tags-lightsail-console"></a>

以下の手順で、Lightsail コンソールを使ってバケット内のオブジェクトにタグを追加・削除します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. オブジェクトにタグ付けするバケットの名前を選択します。

1. [**オブジェクト**]タブの[**オブジェクト ブラウザ**] ペインを使って、オブジェクトの場所を参照します。

1. タグを追加または削除するオブジェクトの横に、チェックマークを付けます。

1. [オブジェクト情報]ペインの[**オブジェクトタグ**] セクションで、次のいずれかのオプションを選択します。
   + [**追加**] または[**編集**] (タグが追加済みの場合)。[キー] テキストボックスにキーを入力し、[**値**] テキストボックスに値を入力します。次に、**保存** を選択して、タグを追加します。または、**[キャンセル]** を選択します。
   + [**編集**] し、削除するキーバリュー タグの横にある [**X**] を選択します。タグの削除が完了したら[**保存**] を選択し、タグを削除しない場合は[**キャンセル**] を選択します。

## を使用してオブジェクトのタグを追加および削除する AWS CLI
<a name="add-delete-object-tags-aws-cli"></a>

 AWS Command Line Interface () を使用してオブジェクトにタグを追加したり、オブジェクトからタグを削除したりするには、次の手順を実行しますAWS CLI。これを行うには、`put-object-tagging` と`delete-object-tagging` コマンドを使用します。詳細については、「AWS CLI コマンドリファレンス」の「[put-object-tagging](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object-tagging.html)」 および 「[delete-object-tagging](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object-tagging.html)」 を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. 次のいずれかのコマンドを入力します。
   + オブジェクトにタグを追加するには

     ```
     aws s3api put-object-tagging --bucket BucketName --key ObjectKey --tagging "{\"TagSet\":[{ \"Key\": \"KeyTag\", \"Value\": \"ValueTag\" }]}"
     ```

     コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
     + *BucketName* - タグ付けするオブジェクトを含むバケットの名前。
     + *ObjectKey* - タグ付けするオブジェクトの完全なオブジェクトキー。
     + *KeyTag* - タグのキー値。
     + *ValueTag* - タグの値。
   + オブジェクトにタグを追加するには

     ```
     aws s3api put-object-tagging --bucket BucketName --key ObjectKey --tagging "{\"TagSet\":[{ \"Key\": \"KeyTag1\", \"Value\": \"ValueTag1\" }, { \"Key\": \"KeyTag2\", \"Value\": \"ValueTag2\" }]}"
     ```

     コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
     + *BucketName* - タグ付けするオブジェクトを含むバケットの名前。
     + *ObjectKey* - タグ付けするオブジェクトの完全なオブジェクトキー。
     + *KeyTag1* - 最初のタグのキーバリュー。
     + *ValueTag1* - 最初のタグの値。
     + *KeyTag2* - 2番目のタグのキーバリュー。
     + *ValueTag2* - 2番目のタグの値。
   + オブジェクトからタグを削除します。

     ```
     aws s3api delete-object-tagging --bucket BucketName --key ObjectKey
     ```

     コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
     + *BucketName* - すべてのタグを削除するオブジェクトが含まれているバケットの名前。。
     + *ObjectKey* - タグ付けするオブジェクトの完全なオブジェクトキー。

   例:

   ```
   aws s3api delete-object --bucket amzn-s3-demo-bucket --key nptLmg6jqDo.jpg --tagging "{\"TagSet\":[{ \"Key\": \"Importance\", \"Value\": \"High\" }]}"
   ```

   以下の例のような結果が表示されるはずです。  
![\[AWS CLI put-object-tagging コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-put-object-tagging-result.png)

## バケットとオブジェクトを管理する
<a name="tagging-objects-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](#amazon-lightsail-tagging-bucket-objects)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# インスタンスの Lightsail バケットへのアクセスをコントロールする
<a name="amazon-lightsail-configuring-bucket-resource-access"></a>

Amazon Lightsail インスタンスを Lightsail バケットに添付して、バケットとそのオブジェクトに全プログラムアクセスを許可します。インスタンスをバケットにアタッチする場合、アクセスキーなどの認証情報を管理する必要はありません。アタッチするインスタンスおよびバケットは同じ AWS リージョンに存在する必要があります。インスタンスを別のリージョンにあるバケットにアタッチすることはできません。

リソースアクセスは、バケットに直接ファイルをアップロードするようにインスタンスでソフトウェアまたはプラグインが設定されている場合に適しています。例えば、バケットにメディアファイルを保存するように WordPress インスタンスを設定する場合。詳細については、「[チュートリアル: バケットを WordPress インスタンスに接続する](amazon-lightsail-connecting-buckets-to-wordpress.md#amazon-lightsail-connecting-buckets-to-wordpress.title)」を参照してください。

許可のオプションの詳細については、「[バケットのアクセス許可](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。セキュリティのベストプラクティスの詳細については、「[オブジェクトストレージのセキュリティのベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」を参照してください。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## バケットのリソースアクセスの設定
<a name="configure-bucket-resource-access"></a>

バケットのリソースアクセスを設定するには、以下の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. リソースアクセスを設定するバケット名を選択します。

1. [**Permissions**] (許可) タブを選択します。

   **リソースアクセス**セクションには、バケットに現在添付されているインスタンスが表示されます。(存在する場合)

1. [**Attach instance**] (インスタンスをアタッチ) を選択してインスタンスをバケットにアタッチします。

1. [**Select an instance**] (インスタンスを選択) ドロップダウンメニューで、バケットにアタッチするインスタンスを選択します。
**注記**  
実行中または停止状態のインスタンスのみをアタッチできます。さらに、バケット AWS リージョン と同じ にあるインスタンスのみをアタッチできます。

1. [**Attach**] (アタッチ) を選択してインスタンスをアタッチします。または、**[キャンセル]** を選択します。

   インスタンスは添付された後、バケットとそのオブジェクトへの全アクセス許可があります。インスタンスでソフトウェアまたはプラグインを設定して、プログラムでバケット上のファイルにアクセスしたりアップロードをすることが可能です。例えば、バケットにメディアファイルを保存するように WordPress インスタンスを設定する場合。詳細については、「[チュートリアル: バケットを WordPress インスタンスに接続する](amazon-lightsail-connecting-buckets-to-wordpress.md)」を参照してください。

# 使用状況の変動に応じて Lightsail バケットストレージプランを調整します。
<a name="amazon-lightsail-changing-bucket-plans"></a>

Amazon Lightsail オブジェクトストレージサービスでは、バケットのストレージプランによって、月額コスト、ストレージクォータ、およびデータ転送クォータが変わります。バケットのストレージプランを更新できるのは、毎月の AWS 請求サイクル内で 1 回のみです。バケットのストレージプランを変更すると、ストレージおよびネットワーク転送クォータがリセットされます。ただし、以前のストレージプランを使用して発生したストレージ容量とデータ転送超過料金は対象外となります。

バケットのストレージプランがストレージまたはデータ転送クォータを一貫して上回っている場合、またはバケットの使用量が一貫してクォータを下回っている場合は、バケットのストレージプランを変更しましょう。バケットの使用量の変動が予測できない場合があるため、バケットのストレージプランは、短期的な月々のコスト削減策としてではなく、長期的な戦略としてのみ変更をすることをお勧めします。長期間バケットに十分なストレージ容量とデータ転送クォータを提供するストレージプランを選択しましょう。

バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## Lightsail コンソールを使用してバケットのストレージプランを変更する
<a name="change-bucket-storage-plan-lightsail-console"></a>

Lightsail コンソールを使ってバケットのストレージプランを変更するには、以下の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. プランを変更するバケットの名前を選択します。

1. バケット管理ページで **メトリクス** タブを選択します。

1. **ストレージプランを変更する**を選択します。

1. 表示される確認プロンプトで、**はい、変更します**を選択して、バケットのストレージプランの変更を続行します。それ以外の場合は、[**キャンセル**] を選択します。

1. 使用したいプランを選択し、**プラン選択**を選択します。

1. 表示される確認プロンプトで、**はい、適用します**を選択してバケットの変更を適用するか、**いいえ、戻る**を選択して適用をしないようにします。

## を使用してバケットのストレージプランを変更する AWS CLI
<a name="change-bucket-storage-plan-aws-cli"></a>

 AWS Command Line Interface () を使用してバケットのプランを変更するには、次の手順を実行しますAWS CLI。これを行うには、`update-bucket-bundle` コマンドを使用します。API において「バケットストレージプラン」は「バケットバンドル」と表記されるのでご注意ください。詳細については、「AWS CLI コマンドリファレンス」の「[update-bucket-bundle](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-bucket-bundle.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. バケットのプランを変更するには、以下のコマンドを入力します。

   ```
   aws lightsail update-bucket-bundle --bucket-name BucketName --bundle-id BundleID
   ```

   コマンドで、以下のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* - 変更したいストレージプランのバケットの名前
   + *BundleId* - 適用したいバケットの新しいバケットバンドルの ID。`get-bucket-bundles` コマンドを使用して、使用可能なバケットバンドルとその ID を一覧表示します。詳細については、「*AWS CLI コマンドリファレンス*」の「[get-bucket-bundles](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-bucket-bundle.html)」を参照してください。

   例:

   ```
   aws lightsail update-bucket-bundle --bucket-name amzn-s3-demo-bucket --bundle-id medium_1_0
   ```

   以下の例のような結果が表示されるはずです。  
![\[バケットバンドルの更新リクエストの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-update-bucket-bundle-cli.png)

# セキュリティを強化するための Lightsail バケットアクセス許可を管理する
<a name="amazon-lightsail-configuring-bucket-permissions"></a>

バケットのアクセス許可を使用して、バケット内のオブジェクトへのパブリック（認証されていない）読み取り専用アクセスを制御します。バケットはプライベートまたはパブリック (読み取り専用) にすることができます。また、バケットをプライベートにしつつ、個々のオブジェクトをパブリック (読み取り専用) にするオプションもあります。

**重要**  
バケットをパブリック (読み取り専用) にすると、バケット内のすべてのオブジェクトが、バケットの URL を介してインターネット上の誰でも読み取り可能になります。 (例えば、`https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`) インターネット上の誰にもオブジェクトへのアクセスを許可したくない場合は、バケットをパブリック (読み取り専用) にしないでください。

許可のオプションの詳細については、「[バケットのアクセス許可](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。セキュリティのベストプラクティスの詳細については、「[オブジェクトストレージのセキュリティのベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」を参照してください。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

**重要**  
Lightsail オブジェクトストレージリソースは、パブリックアクセスを許可または拒否するときに、Lightsail バケットのアクセス許可と Amazon S3 アカウントレベルのブロックパブリックアクセス設定の両方を考慮するようになります。詳細については、「[バケットに対するブロックパブリックアクセス](amazon-lightsail-block-public-access-for-buckets.md)」を参照してください。

## バケットのアクセス許可設定
<a name="configure-bucket-access-permissions"></a>

バケットのアクセス許可を設定する手順は以下を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. アクセス権限を設定するバケットの名前を選択します。

1. [**Permissions (許可)**] タブを選択します。

   ページの [**Bucket access permissions**] (バケットアクセス許可) セクションに、バケットの現在設定されているアクセス権限が表示されます。

1. [**Change permission**] (権限の変更) を選択して、バケットのアクセス権限を変更します。

1. 以下のオプションのいずれかを選択してください。
   + **すべてのオブジェクトはプライベートです** – バケット内のすべてのオブジェクトは、ご自身またはアクセスを許可したユーザーのみが読み取ることができます。
   + **個々のオブジェクトを公開可能にする（読み取り専用）**— バケット内のオブジェクトは、パブリックにする個々のオブジェクト（読み取り専用）を指定しない限り、ご自身またはアクセスを許可したユーザーのみが読み取ることができます。個々のオブジェクトのアクセス許可の詳細については「[バケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)」を参照してください。

     **[個々のオブジェクトを公開可能にする (読み取り専用)] **オプションは、バケット内のオブジェクトの一部を公開する必要があり、その他全てをプライベートにする場合にお勧めします。例えば、一部の WordPress プラグインでは、バケットの個々のオブジェクトを公開する必要があります。詳細については、「[チュートリアル: バケットを WordPress インスタンスに接続する](amazon-lightsail-connecting-buckets-to-wordpress.md)」および「[チュートリアル: バケットをコンテンツ配信ネットワークディストリビューションと使用する](amazon-lightsail-using-distributions-with-buckets.md)」を参照してください。
   + **すべてのオブジェクトを公開 (読み取り専用)** — バケット内のすべてのオブジェクトは、インターネット上の誰でも読み取り可能です。
**重要**  
バケットをパブリック (読み取り専用) にすると、バケット内のすべてのオブジェクトが、バケットの URL を介してインターネット上の誰でも読み取り可能になります。 (例えば、`https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`) インターネット上の誰にもオブジェクトへのアクセスを許可したくない場合は、バケットをパブリック (読み取り専用) にしないでください。

1. [**保存**] を選択して変更を保存します。または、**[キャンセル]** を選択します。

   変更したバケットアクセス許可に応じて、以下の変更が適用されます。
   + **すべてのオブジェクトはプライベート** - バケット内のすべてのオブジェクトは、個々のオブジェクトのアクセス許可が**パブリック (読み取り専用)**に以前設定されていても、プライベートに設定されます。
   + **個々のオブジェクトを公開可能にする (読み取り専用)** - 個々のオブジェクトのアクセス許可が**パブリック (読み取り専用)**に以前設定されていたのがパブリックに設定されます。オブジェクトに対して個々のオブジェクトにアクセス許可を設定することが可能になります。
   + **オブジェクトを全て公開 (読み取り専用)** - バケット内のすべてのオブジェクトは、個々のオブジェクトのアクセス許可が**プライベート**に以前設定されていても、パブリックに設定されます。

     個々のオブジェクトのアクセス許可の詳細については「[バケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)」を参照してください。

# AWS アカウント間でLightsailバケットへの読み取り専用アクセスを付与する
<a name="amazon-lightsail-configuring-bucket-cross-account-access"></a>

クロスアカウントアクセスを使用して、他の AWS アカウントとそのユーザーに対してバケット内のすべてのオブジェクトに読み取り専用アクセスを許可します。クロスアカウントアクセスは、オブジェクトを別の AWS アカウントと共有する場合に最適です。別のアカウントにクロスアカウントアクセスを許可すると AWS 、そのアカウントのユーザーは、バケットの URL とオブジェクト (例: ) を介してバケット内のオブジェクトへの読み取り専用アクセスを持ちます`https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`。バケットに最大 10 個の AWS アカウントへのアクセスを許可できます。

許可のオプションの詳細については、「[バケットのアクセス許可](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。セキュリティのベストプラクティスの詳細については、「[オブジェクトストレージのセキュリティのベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」を参照してください。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## バケットのクロスアカウントアクセスの設定
<a name="configure-bucket-cross-account-access"></a>

バケットのクロスアカウントアクセスを設定するには、以下の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. クロスアカウントアクセスを設定するバケット名を選択します。

1. **[アクセス許可]** タブを選択します。

   ページの [**クロスアカウントアクセス**] セクションに、バケットにアクセスするように現在設定されている AWS アカウント ID が表示されています (存在する場合)。

1. **クロスアカウントアクセスの追加** を選択して、別の AWS アカウントのバケットへのアクセスを許可します。

1. アクセスを許可する AWS アカウントの ID を**アカウント ID** テキストボックスに入力します。

1. **保存**を選択してアクセスを許可します。それ以外の場合は、[**キャンセル**] を選択します。

   追加した AWS アカウント ID は、ページの**クロスアカウントアクセス**セクションに表示されます。 AWS アカウントのクロスアカウントアクセスを削除するには、削除する AWS アカウント ID の隣にある、削除 (ゴミ箱) アイコンを選択します。

# Amazon Lightsail 内の単一バケットオブジェクトへのパブリックアクセスを付与する
<a name="amazon-lightsail-configuring-individual-object-access"></a>

個々のオブジェクトアクセス許可を使用して、認証なしで公開されたバケット内の個々のオブジェクトの読み取り専用アクセスを制御します。バケットはプライベートまたはパブリック (読み取り専用) に設定することができます。

**重要**  
個々のオブジェクトアクセス許可は、バケットのアクセス許可が**個々のオブジェクトを公開可能にする (読み取り専用)** に設定されている場合のみ設定が可能です。バケット許可のオプションの詳細については、「[バケットのアクセス許可](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

個々のオブジェクトへのアクセス許可の設定は、バケット内のオブジェクトの一部を公開し、その他全てをプライベートにする必要があるなどの、特殊な場合にのみ行うことをお勧めします。例えば、一部の WordPress プラグインでは、バケットの個々のオブジェクトを公開する必要があります。詳細については、「[チュートリアル: バケットを WordPress インスタンスに接続する](amazon-lightsail-connecting-buckets-to-wordpress.md)」および「[チュートリアル: バケットをコンテンツ配信ネットワークディストリビューションと使用する](amazon-lightsail-using-distributions-with-buckets.md)」を参照してください。

許可のオプションの詳細については、「[バケットのアクセス許可](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。セキュリティのベストプラクティスの詳細については、「[オブジェクトストレージのセキュリティのベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」を参照してください。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## 個々のオブジェクトのアクセス許可の設定
<a name="configure-individual-object-access-permissions"></a>

バケットの個々のオブジェクトのアクセス許可を設定するには、以下の手順を実行します。Lightsail でバケットを管理する権限をユーザーに付与する IAM ポリシーの例については、「[バケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. 個々のオブジェクトのアクセス許可を設定するバケット名を選択します。

1. [**オブジェクト**] タブを選択します。

1. アクセス許可を設定するオブジェクトの横にチェックマークを追加します。

   オブジェク情報ペインがオブジェクトの現在のアクセス許可の状態を表示します。

1. オブジェクト情報ペインの [**アクセス許可**] セクションで [**編集**] を選択して、オブジェクトのアクセス許可を変更します。
**注記**  
編集オプションが使用できない場合は、そのバケットのアクセス許可では、個々のオブジェクトアクセス許可を設定することができないことを意味します。個々のオブジェクトアクセス許可を設定するには、バケットアクセス許可を「**個々のオブジェクトを公開可能にする (読み取り専用) **」に設定する必要があります。詳細については、「[バケットのアクセス許可を設定する](amazon-lightsail-configuring-bucket-permissions.md)」を参照してください。

1. [**アクセス許可の選択**] のドロップダウンメニューから以下のいずれかのオプションを選択します。
   + **プライベート** – オブジェクトはご自身とアクセスを許可したユーザーのみが読み取ることができます。
   + **パブリック (読み取り専用)** – オブジェクトは世界中の誰もが読み取ることができます。

1. [**保存**] を選択して変更を保存します。または、**[キャンセル]** を選択します。

   バケットの**バケットアクセス許可**設定は、個々のオブジェクトのアクセス許可に以下の影響を与えます。
   + バケットのアクセス許可が「**すべてのオブジェクトはプライベートです**」に設定されている場合、個々のオブジェクトのアクセス許可が**パブリック (読み取り専用)**に以前設定されていても、バケット内のすべてのオブジェクトはプライベートに設定されます。ただし、以前設定されていた個々のオブジェクトのアクセス許可は保持されます。例えば、バケットのアクセス許可を「**個々のオブジェクトを公開可能にする (読み取り専用) **」に戻すと、すべてのオブジェクトで個々のアクセス許可が**パブリック (読み取り専用) **再びパブリックになります。
   + バケットのアクセス許可が「**すべてのオブジェクトをパブリック (読み取り専用) にする**」に設定されている場合、個々のオブジェクトのアクセス許可が**プライベート**に以前設定されていても、バケット内の全てのオブジェクトはパブリックに設定されます。

     バケットアクセス許可の詳細については、「[バケットアクセス許可を設定する](amazon-lightsail-configuring-bucket-permissions.md)」を参照してください。

# Lightsail マルチパートアップロードによるバケットへのファイルのアップロード
<a name="amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload"></a>

マルチパートアップロードを使用すると、単一のファイルをパートのセットとしてバケットにアップロードできます。各パートは、ファイルのデータの連続する部分です。これらのファイルパートは、任意の順序で個別にアップロードできます。いずれかのパートの送信が失敗すると、他のパートに影響を与えることなくそのパートを再送することができます。ファイルのすべてのパートがアップロードされると、Amazon S3 はこれらのパートをアセンブルし、Amazon Lightsail のバケットにオブジェクトを作成します。通常、オブジェクトサイズが 100 MB 以上の場合は、単一のオペレーションでオブジェクトをアップロードする代わりに、マルチパートアップロードを使用することを考慮してください。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

マルチパートアップロードの使用には、次の利点があります。
+ スループットの向上 − パートを並列にアップロードすることで、スループットを向上させることができます。
+ ネットワークの問題からの素早い回復 − パートサイズは比較的小さいため、ネットワークエラーにより失敗したアップロードを再開する際の影響を最小限に抑えることができます。
+ 時間をおいてアップロード - ファイルのパートを時間をおいてアップロードできます。マルチパートアップロードを開始してから、24 時間以内にマルチパートアップロードを完了します。
+ ファイルの最終的なサイズが不明な状態でアップロードを開始 –　 　　　ファイルの作成中でもアップロードを開始できます。

次の方法でマルチパートアップロードを使用することをお勧めします。
+ 安定した高帯域幅ネットワーク経由でラージファイルをアップロードする場合は、複数スレッドのパフォーマンスのために並行してファイルパートをアップロードする「マルチパートアップロード」を使用すると、可能な帯域幅の使用を最大化します。
+ むらがあるネットワークでアップロードを実行する場合は、マルチパートアップロードを使用して、アップロードの再開を回避することで、ネットワークエラーに対する弾力性を高めます。マルチパートアップロードを使用している場合、中断されたパートのみを対象にアップロードを再試行します。最初からやり直したり、ファイル全体を再度アップロードする必要はありません。

**目次**
+ [マルチパートアップロードのプロセス](#mutipart-upload-process)
+ [マルチパートアップロードの同時オペレーション](#concurrent-multipart-upload-operations)
+ [マルチパートアップロードの保持期間](#multipart-upload-retention)
+ [Amazon シンプルストレージサービスのマルチパートアップロード制限](#multipart-upload-limits)
+ [アップロードするファイルを分割](#split-the-file-to-upload)
+ [を使用してマルチパートアップロードを開始する AWS CLI](#initiate-multipart-upload)
+ [を使用してパートをアップロードする AWS CLI](#upload-a-part)
+ [を使用してマルチパートアップロードの一部を一覧表示する AWS CLI](#list-parts-of-multipart-upload)
+ [マルチパートアップロード .json ファイルの作成](#create-multipart-upload-json-file)
+ [を使用してマルチパートアップロードを完了する AWS CLI](#complete-multipart-upload)
+ [を使用してバケットのマルチパートアップロードを一覧表示する AWS CLI](#list-multipart-uploads)
+ [AWS CLIを使用したマルチパートアップロードの停止](#stop-multipart-uploads)

## マルチパートアップロードのプロセス
<a name="mutipart-upload-process"></a>

マルチパートアップロードには、Amazon S3 アクションを使用して、Lightsail のバケットにファイルをアップロードする 3 つのステップがあります。

1. [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)アクションを使って、マルチパートアップロードを開始します。

1. [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)アクションを使ってファイルパートをアップロードします。

1. [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)アクションを使ってマルチパートアップロードを実行します。

**注記**  
[AbortMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)アクションを使用して、マルチパートアップロードを開始した後に停止できます。

マルチパートアップロードのリクエストが完了すると、Amazon シンプルストレージサービスはアップロードされたパートからオブジェクトを構築します。その後、バケット内の他のオブジェクトにアクセスするのと同じ方法で、オブジェクトにアクセスできます。

進行中のすべてのマルチパートアップロードをリストしたり、特定のマルチパートアップロードにおいてアップロードが完了したパートのリスト表示を取得したりできます。このようなオペレーションのそれぞれについて、このセクションで説明します。

マルチパートアップロードの開始

マルチパートアップロードを開始するリクエストを送信すると、Amazon シンプルストレージサービスはアップロード ID を含むレスポンスを返します。これは、マルチパートアップロードの一意の識別子です。パートのアップロード、パートのリスト、アップロードの完了、アップロードの停止を行うときは常に、アップロード ID を指定する必要があります。アップロードされるオブジェクトを説明するメタデータを提供したい場合は、マルチパートアップロードを開始するリクエストでメタデータを指定する必要があります。

パートのアップロード

パートをアップロードするときは、アップロード ID に加えて、パート番号を指定する必要があります。1～10,000 の範囲で任意のパート番号を選択できます。パート番号によって、アップロードするオブジェクトに含まれるパートとその位置が一意に識別されます。選択するパート番号は、連続している必要はありません (例えば、1、5、14 など)。以前にアップロードしたパートと同じパート番号を使って新しいパートをアップロードした場合、以前のパートは上書きされます。

パートをアップロードするたびに Amazon シンプルストレージサービスはレスポンスに ETag ヘッダーを返します。パートのアップロードごとに、パート番号と ETag 値を記録する必要があります。マルチパートアップロードを完了するためには、残りのリクエストにこれらの値を含める必要があります。

**注記**  
マルチパートアップロードのすべてのアップロードされたパートは、バケットに保存されます。アップロードを完了するか、アップロードを停止するか、アップロードがタイムアウトするまで、バケットのストレージ容量を消費します。詳細については、このガイドで後述する「[マルチパートアップロードの保持期間](#multipart-upload-retention)」を参照してください。

マルチパートアップロードの完了

マルチパートアップロードを完了すると、パート番号に基づいて昇順に連結されたオブジェクトが Amazon シンプルストレージサービスによって作成されます。マルチパートアップロードの開始リクエストにオブジェクトメタデータが提供されている場合、Amazon シンプルストレージサービスによってそのメタデータはオブジェクトに関連付けられます。完了リクエストが正常に処理されると、個々のパートはなくなります。

マルチパートアップロードの完了リクエストには、アップロード ID と、パート番号およびそれに対応する ETag 値の両方のリストが含まれている必要があります。Amazon シンプルストレージサービスからのレスポンスには、結合されるオブジェクトデータを一意に識別する ETag が含まれます。この ETag が、オブジェクトデータの MD5 ハッシュになるとは限りません。

マルチパートアップロードは停止することもできます。マルチパートアップロードを停止した後は、再度同じアップロード ID を使ってパートをアップロードすることはできません。キャンセルされたマルチパートアップロードの任意の部分のすべてのストレージが解放されます。パートのアップロードが進行しているときにマルチパートアップロードを停止した場合は、停止後もそのパートのアップロードは成功または失敗する可能性があります。すべてのパートによって使用されているストレージを全部解放するには、すべてのパートのアップロードが完了した後で初めてマルチパートアップロードを停止する必要があります。

マルチパートアップロードのリスト化

特定のマルチパートアップロードのパートや、進行中のすべてのマルチパートアップロードをリスト表示できます。パートのリストオペレーションでは、特定のマルチパートアップロードについて既にアップロードしたパートの情報が返されます。パートのリストリクエストを送信するたびに、指定したマルチパートアップロードのパート情報 (最大で 1,000 個のパート) が Amazon シンプルストレージサービスから返されます。マルチパートアップロードに 1,000 個を超えるパートが含まれる場合、すべてのパートを取得するにはパートのリストリクエストを追加で送信する必要があります。返されるパートのリストには、アップロード中のパートは含まれていないことに注意してください。マルチパートアップロードのリストオペレーションを使用すると、進行中のマルチパートアップロードのリストを取得できます。

進行中のマルチパートアップロードとは、開始されているものの、まだ完了または停止されていないアップロードを意味します。各リクエストに最大 1,000 個のマルチパートアップロードが返されます。進行中のマルチパートアップロードが 1,000 個を超える場合、残りのマルチパートアップロードを取得するには、リクエストを追加で送信する必要があります。返されるリストは確認の目的でのみ使用します。マルチパートアップロードの完了リクエストを送信するときに、リストの結果を使用しないでください。その代わりに、パートのアップロード時に指定したパート番号と、それに対応する、Amazon シンプルストレージサービスから返される ETag 値で構成される独自のリストを維持しておいてください。

## マルチパートアップロードの同時オペレーション
<a name="concurrent-multipart-upload-operations"></a>

分散開発環境においては、アプリケーションから同じオブジェクトに対して複数の更新が同時に開始されることもありえます。同じオブジェクトキーを使ってアプリケーションから複数のマルチパートアップロードが開始される可能性もあります。そのようなアップロードごとに、アプリケーションからパートのアップロードが行われ、アップロードの完了リクエストが Amazon シンプルストレージサービスに送信されて、オブジェクトが作成されます。バケットでバージョニングが有効になっている場合は、マルチパートアップロードを完了するたびに新しいバージョンが作成されます。バージョニングが有効になっていないバケットの場合は、マルチパートアップロードの開始から完了までの間に受信されたリクエストなど、他のリクエストが優先される可能性もあります。

**注記**  
マルチパートアップロードを開始してから完了する前に受信したリクエストなど、他のリクエストが優先される可能性があります。たとえば、あるキーを使ってマルチパートアップロードを開始した後、マルチパートアップロードが完了しないうちに別のオペレーションによってそのキーが削除されることがあります。この場合、マルチパートアップロードの完了レスポンスによって、オブジェクトを確認できなくても、オブジェクト作成の成功が示される可能性があります。

## マルチパートアップロードの保持期間
<a name="multipart-upload-retention"></a>

マルチパートアップロードのすべてのアップロードパートは、バケットに保存されます。アップロードを完了するか、アップロードを停止するか、またはアップロードがタイムアウトするまで、バケットのストレージ容量を消費します。マルチパートアップロードはタイムアウトになり、マルチパートアップロードが作成されてから 24 時間後に削除されます。マルチパートアップロードを停止するか、タイムアウトすると、アップロードされたすべてのパートが削除され、バケットで使用するために使用したストレージ領域が解放されます。

## Amazon シンプルストレージサービスのマルチパートアップロード制限
<a name="multipart-upload-limits"></a>

次の表は、マルチパートアップロードの主な仕様をまとめたものです。
+ 最大オブジェクトサイズ: 50 TB
+ アップロードあたりの最大パート数：10,000
+ パート番号：1～10,000（両端を含む）
+ パートサイズ：5 MB（最小）- 5 GB（最大） マルチパートアップロードの最後のパートには、サイズの制限はありません。
+ パートのリストリクエストで返されるパートの最大数：1,000
+ マルチパートアップロードのリストリクエストで返されるマルチパートアップロードの最大数：1,000

## アップロードするファイルを分割します。
<a name="split-the-file-to-upload"></a>

Linux または Unix オペレーティングシステムで`split`コマンドを使用して、ファイルを複数のパートに分割し、バケットにアップロードします。Windows オペレーティングシステムでファイルを分割するために使用できる同様のフリーウェア アプリケーションがあります。ファイルを複数のパートに分割した後、本ガイドの「[マルチパートアップロードの開始](#initiate-multipart-upload)」セクションに進んでください。

## を使用してマルチパートアップロードを開始する AWS CLI
<a name="initiate-multipart-upload"></a>

 AWS Command Line Interface (AWS CLI) を使用してマルチパートアップロードを開始するには、以下の手順を実行してください。これは、`create-multipart-upload` コマンドを使用して行います。詳細については、「AWS CLI コマンドリファレンス」の「[create-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-multipart-upload.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. 次のコマンドを入力して、バケットのマルチパートアップロードを作成します。

   ```
   aws s3api create-multipart-upload --bucket BucketName --key ObjectKey --acl bucket-owner-full-control
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* - マルチパートアップロードを作成するバケットの名前。
   + *ObjectKey* - アップロードするファイルに使用するオブジェクトキー。

   例:

   ```
   aws s3api create-multipart-upload --bucket amzn-s3-demo-bucket --key sailbot.mp4 --acl bucket-owner-full-control
   ```

   次の例のような結果が表示されます。レスポンスには`UploadID`が含まれており、以降のコマンドでパーツをアップロードしたり、このオブジェクトのマルチパートアップロードを完了させるために指定する必要があります。  
![\[マルチパートアップロードの作成コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-create-multipart-upload-result.png)

   マルチパートアップロード用の`UploadID` ができたら、このガイドの「[AWS CLIを使用してパートをアップロードする](#upload-a-part)」のセクションに進み、パートのアップロードを開始します。

## を使用してパートをアップロードする AWS CLI
<a name="upload-a-part"></a>

 AWS Command Line Interface (AWS CLI)を使用して、マルチパートアップロードのパートをアップロードするには、以下の手順を実行してください。これは、`upload-part` コマンドを使用して行います。詳細については、「AWS CLI コマンドリファレンス」の「[upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. 以下のコマンドを入力して、パートをバケットにアップロードします。

   ```
   aws s3api upload-part --bucket BucketName --key ObjectKey --part-number Number --body FilePart --upload-id "UploadID"  --acl bucket-owner-full-control
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* - マルチパートアップロードを作成するバケットの名前。
   + *ObjectKey* - アップロードするファイルに使用するオブジェクトキー。
   + *Number* - アップロードするパートのパート番号。パート番号によって、アップロードするオブジェクトに含まれるパートとその位置が一意に識別されます。アップロードするパートごとに、`--part-number` パラメータを段階的に増やしてください。そのためには、マルチパートアップロードの完了時に Amazon Simple Storage Service がオブジェクトをアセンブルする順序で番号を付けてください。
   + *FilePart* - コンピュータからアップロードするパートファイル。
   + *UploadID* - このガイドで前半で作成したマルチパートアップロードのアップロード IDです。

   例:

   ```
   aws s3api upload-part --bucket amzn-s3-demo-bucket --key sailbot.mp4 --part-number 1 --body sailbot.mp4.001 --upload-id "R4QU.mO.exampleiHWiLOeNw7JtXX7OotRhTLsXXCzF21CZdYlfj5lfjtiMnpzVw2WPj.exampleBTmL_N_.42.DlHYOTsITFsX.tO3XOUTTAHiCxY5VR8jWRGdkVkUG" --acl bucket-owner-full-control
   ```

   次の例のような結果が表示されます。アップロードするパートごとに、`upload-part` コマンドを繰り返します。パーツのアップロードリクエストの応答には、アップロードしたパートの `ETag` 値が含まれます。アップロードした各パーツの `ETag` 値を記録する。このガイドで後述するマルチパートアップロードを完了するには、すべての `ETag` 値が必要です。  
![\[[upload-part (パートをアップロード)] コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-upload-part-result.png)

## AWS CLI を使用したマルチパートアップロードのパートのリスト化
<a name="list-parts-of-multipart-upload"></a>

 AWS Command Line Interface (AWS CLI)を使用して、マルチパートアップロードのパートをリストにするには、以下の手順を実行してください。これは、`list-parts` コマンドを使用して行います。詳細については、「AWS CLI コマンドリファレンス」の「[list-parts](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html)」を参照してください。

マルチパートアップロードでアップロードされたすべてのパーツの`ETag` 値を取得するには、この手順を実行します。これらの値は、このガイドの後半でマルチパートアップロードを完了するために必要となります。ただし、パートのアップロードの応答からすべての`ETag` 値を記録した場合は、この手順をスキップして、このガイドの「[マルチパートアップロード .json ファイルの作成](#create-multipart-upload-json-file)」セクションに進むことができます。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. バケットのマルチパートアップロードのパートをリストにするには、次のコマンドを入力します。

   ```
   aws s3api list-parts --bucket BucketName --key ObjectKey --upload-id "UploadID"
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* - マルチパートアップロードのパートをリストするバケットの名前。
   + *ObjectKey* - マルチパートアップロードのオブジェクトキー。
   + *UploadID* - このガイドの前半で作成したマルチパートアップロードのアップロード ID です。

   例:

   ```
   aws s3api list-parts --bucket amzn-s3-demo-bucket --key sailbot.mp4 --upload-id "R4QU.mO.exampleiHWiLOeNw7JtXX7OotRhTLsXXCzF21CZdYlfj5lfjtiMnpzVw2WPj.exampleBTmL_N_.42.DlHYOTsITFsX.tO3XOUTTAHiCxY5VR8jWRGdkVkUG"
   ```

   次の例のような結果が表示されます。レスポンスには、マルチパートアップロードでアップロードしたパーツのすべてのパート番号と`ETag` 値がリスト表示されます。これらの値をクリップボードにコピーして、このガイドの「[マルチパートアップロード .json の作成](#create-multipart-upload-json-file)」セクションに進みます。  
![\[[list-parts (パートをリストする)] コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-list-parts-result.png)

## マルチパートアップロード .json ファイルの作成
<a name="create-multipart-upload-json-file"></a>

以下の手順で、アップロードしたすべてのパーツとその`ETag` 値を定義したマルチパートアップロード .json ファイルを作成します。これは、このガイドの後半で、マルチパートアップロードを完了するために必要です。

1. テキストエディターを開き、このガイドの前のセクションでリクエストした`list-parts` コマンドからのレスポンスを貼り付けます。

   結果は次の例のようになります。  
![\[マルチパートアップロード JSON ファイル番号 1\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-multipart-upload-json-file-1.png)

1. 次の例に示すように、テキスト ファイルを再フォーマットします。  
![\[マルチパートアップロード JSON ファイル番号 2\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-multipart-upload-json-file-2.png)

1. テキスト ファイルを、コンピュータに`mpstructure.json` のように保存し、本ガイドの「[AWS CLI を使用したマルチパートアップロードを完了](#complete-multipart-upload)」に進みます。

## AWS CLI を使用したマルチパートアップロードの完了
<a name="complete-multipart-upload"></a>

 AWS Command Line Interface (AWS CLI) を使用してマルチパートアップロードを完了するには、以下の手順を実行してください。これは、`complete-multipart-upload` コマンドを使用して行います。詳細については、「AWS CLI コマンドリファレンス」の「[complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. 以下のコマンドを入力して、パートをバケットにアップロードします。

   ```
   aws s3api complete-multipart-upload --multipart-upload file://JSONFileName --bucket BucketName --key ObjectKey --upload-id "UploadID"  --acl bucket-owner-full-control
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *JSONFileName* - このガイドの前半で作成した .json ファイルの名前 (例：`mpstructure.json`)
   + *BucketName* - マルチパートアップロードを完了するバケットの名前
   + *ObjectKey* - マルチパートアップロードのオブジェクトキー
   + *UploadID* - このガイドの前半で作成したマルチパートアップロードのアップロード ID

   ```
   aws s3api complete-multipart-upload --multipart-upload file://mpstructure.json --bucket amzn-s3-demo-bucket --key sailbot.mp4 --upload-id "R4QU.mO.exampleiHWiLOeNw7JtXX7OotRhTLsXXCzF21CZdYlfj5lfjtiMnpzVw2WPj.exampleBTmL_N_.42.DlHYOTsITFsX.tO3XOUTTAHiCxY5VR8jWRGdkVkUG" --acl bucket-owner-full-control
   ```

   次の例に示すようなレスポンスが表示されます。これにより、マルチパートアップロードが完了したことを確認します。これで、オブジェクトがアセンブルされ、バケットで使用可能になります。  
![\[[complete-multipart-upload (マルチパートアップロードの完了)] コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-complete-multipart-upload-result.png)

## AWS CLI を使用した、バケットのマルチパートアップロードのリスト化
<a name="list-multipart-uploads"></a>

 AWS Command Line Interface (AWS CLI) を使用してバケットのマルチパートアップロードをリストにするには、以下の手順を実行します。これは、`list-multipart-uploads` コマンドを使用して行います。詳細については、「AWS CLI コマンドリファレンス」の「[list-multipart-uploads](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-multipart-uploads.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. 以下のコマンドを入力して、パートをバケットにアップロードします。

   ```
   aws s3api list-multipart-uploads --bucket BucketName
   ```

   コマンドの中で、*BucketName*を、すべてのマルチパートアップロードをリストアップしたいバケットの名前に置き換えます。

   例:

   ```
   aws s3api list-multipart-uploads --bucket amzn-s3-demo-bucket
   ```

   次の例に示すようなレスポンスが表示されます。  
![\[[list-multipart-uploads (マルチパートアップロードのリスト化)] コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-list-multipart-uploads-result.png)

## AWS CLI を使用したマルチパートアップロードの停止
<a name="stop-multipart-uploads"></a>

 AWS Command Line Interface () を使用してマルチパートアップロードを停止するには、次の手順を実行しますAWS CLI。マルチパートアップロード開始したものの、それを続行したくない場合に、これを行います。これは、`abort-multipart-upload` コマンドを使用して行います。詳細については、「AWS CLI コマンドリファレンス」の「[abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. 以下のコマンドを入力して、パートをバケットにアップロードします。

   ```
   aws s3api abort-multipart-upload --bucket BucketName --key ObjectKey --upload-id "UploadID" --acl bucket-owner-full-control
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* - マルチパートアップロードを停止するバケットの名前。
   + *ObjectKey* - マルチパートアップロードのオブジェクトキー。
   + *UploadID* - 停止するマルチパートアップロードのアップロード ID。

   例:

   ```
   aws s3api abort-multipart-upload --bucket amzn-s3-demo-bucket --key sailbot.mp4 --upload-id "R4QU.mO.exampleiHWiLOeNw7JtXX7OotRhTLsXXCzF21CZdYlfj5lfjtiMnpzVw2WPj.exampleBTmL_N_.42.DlHYOTsITFsX.tO3XOUTTAHiCxY5VR8jWRGdkVkUG" --acl bucket-owner-full-control
   ```

   このコマンドはレスポンスを返しません。以下のコマンドを実行するには`list-multipart-uploads`コマンドを実行して、マルチパートアップロードが停止したことを確認します。

# Lightsail オブジェクトストレージのバケット命名要件に従う
<a name="bucket-naming-rules-in-amazon-lightsail"></a>

バケットを作成する場合、Amazon Lightsail オブジェクトストレージサービスで名前を指定する必要があります。バケットの名前は、バケットに保存されているオブジェクトにアクセスするときにカスタマーが使用する URL のパートです。たとえば、 `amzn-s3-demo-bucket`でバケットに名前を付けると`us-east-1` AWS リージョン、バケットの URL は になります`amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com`。作成後にバケットの名前を変更することはできません。指定したバケット名をカスタマーが確認できることに留意してください。Lightsail オブジェクトストレージサービスの詳細については、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。バケットの作成の詳細については、「[バケットの作成](amazon-lightsail-creating-buckets.md)」を参照してください。

バケット名は、DNS に準拠している必要があります。このため、Lightsail でのバケットの命名には、次のルールが適用されます。
+ バケット名は 3～54 文字の長さにする必要があります。
+ バケット名は、小文字、数字、およびハイフン (-) のみで構成できます。
+ バケット名は文字または数字で始まる必要があります。
+ ハイフン (-) は単語を区切ることができますが、連続して指定することはできません。例えば、`doc-example-bucket` は許可されますが、`doc--example--bucket` は許可されません。
+ バケット名は、Amazon Simple Storage Service (Amazon S3) のバケットを含む、`aws` (スタンダード リージョン) パーティション内で固有でなくてはなりません。
+ バケット名のプレフィックスは `amzn-s3-demo-` で始まってはいけません。
+ バケット名のプレフィックスは `sthree-` で始まってはいけません。
+ バケット名のプレフィックスは `sthree-configurator` で始まってはいけません。
+ バケット名のサフィックスは `-s3alias` で終わってはいけません。

## バケット名の例
<a name="example-bucket-names"></a>

次の例に示すバケット名は有効であり、命名の推奨ガイドラインに従っています。
+ `docexamplebucket1`
+ `log-delivery-march-2020`
+ `my-hosted-content`

次の例に示すバケット名は許可されません。
+ `doc.example.bucket` (句点を含む）
+ `doc--example--bucket` (連続する 2 つのハイフンを含む）
+ `doc-example-bucket-` (ハイフンで終わっている)

# Lightsail オブジェクトストレージバケットのキー名
<a name="understanding-bucket-object-key-names-in-amazon-lightsail"></a>

バケットにアップロードしたファイルは、オブジェクトとして Amazon Lightsail オブジェクトストレージサービスに保存されます。オブジェクトキー (またはキー名) によって、バケット内に保存されたオブジェクトは一意に識別されます。このガイドでは、Lightsail コンソールを通して表示される、バケットのフォルダ構造を構成するキー名とキー名のプレフィックスの概念を説明します。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## キー名
<a name="bucket-object-key-names"></a>

Lightsail オブジェクトストレージサービスのデータモデルは、ファイルシステムに表示される階層構造ではなく、フラットな構造を使用します。フォルダとサブフォルダの階層はありません。ただし、 キー名のプレフィックスや区切り記号を使用して論理的な階層を暗示できます。Lightsail コンソールはキー名のプレフィックスを使用して、フォルダー構造のオブジェクトを表示します。

バケットに、次のようなオブジェクトキーを持つ 4 つのオブジェクトがあるとします。
+ `Development/Projects.xls`
+ `Finance/statement1.pdf`
+ `Private/taxdocument.pdf`
+ `to-dos.doc`

Lightsail コンソールでは、キー名のプレフィックス (`Development/`、`Finance/`、`Private/`) および区切り記号 (`/`) を使用して、フォルダ構造を表します。`to-dos.doc` キーにはプレフィックスがないため、そのオブジェクトはバケットのルートレベルに直接表示されます。Lightsail コンソールの `Development/` フォルダをブラウズすると、`Projects.xls` オブジェクトが表示されます。`Finance/` フォルダに `statement1.pdf` オブジェクト、および `Private/` フォルダに `taxdocument.pdf` オブジェクトが表示されます。

Lightsail コンソールは、キー名のプレフィックスと区切り記号の値をキー名としてゼロバイトのオブジェクトを作成することにより、フォルダーオブジェクトの作成を許可します これらのフォルダオブジェクトはコンソールに表示されません。ただし、他のオブジェクトと同様に動作します。Amazon S3 API、 AWS Command Line Interface (AWS CLI)、または AWS SDKs を使用して表示および操作できます。

## オブジェクトキーの命名のガイドライン
<a name="object-key-naming-guidelines"></a>

オブジェクトキー名には UTF−8 文字を使用できます。ただし、キー名に特定の文字を使用すると、一部のアプリケーションやプロトコルで問題が発生することがあります。以下のガイドラインは、DNS、ウェブセーフ文字、XML パーサー、その他の API とのコンプライアンスを最大化するのに役立ちます。

### セーフ文字
<a name="w2aac59c37b7b5"></a>

以下の文字セットは、一般的にキー名で使用しても安全です。
+ アルファベットの文字
  + 0-9
  + a～z
  + A～Z
+ 特殊文字
  + スラッシュ (`/`)
  + 感嘆符 (`!`)
  + ハイフン (`-`)
  + 下線 (`_`)
  + ピリオド (`.`)
  + アスタリスク (`*`)
  + 一重引用符 (`'`)
  + 丸かっこ開き (`(`)
  + 丸かっこ閉じ (`)`)

有効なオブジェクトキー名の例を次に示します。
+ `4my-organization`
+ `my.great_photos-2014/jan/myvacation.jpg`
+ `videos/2014/birthday/video1.wmv`

**重要**  
オブジェクトキー名が単一のピリオド (.)、2 つのピリオド (..) で終了する場合は、Lightsail コンソールを使用してオブジェクトをダウンロードすることはできません。キー名が 1 つまたは 2 つのピリオドで終わるオブジェクトをダウンロードするには、Amazon S3 API、 AWS CLI、および AWS SDKsを使用する必要があります。詳細については、「[バケットオブジェクトをダウンロードする](amazon-lightsail-downloading-bucket-objects.md)」を参照してください。

### 特殊な処理を必要とする可能性がある文字
<a name="asdf"></a>

キー名で以下の文字を使用すると、追加のコード処理が必要になる場合があり、16 進数として URL エンコードまたは参照することが必要になる可能性があります。これらの文字の一部は表示不可能な文字であり、ブラウザで処理されない場合があります。この場合も、特殊な処理が必要です。
+ アンパサンド ("`&`")
+ ドル記号 ("`$`")
+ 16 進数の 00～1F (10 進数の 0～31) の範囲および 7F (10 進数の 127) の ASCII 文字
+ アットマーク ("`@`")
+ 等号 ("`=`")
+ セミコロン ("`;`")
+ コロン ("`:`")
+ プラス記号 ("`+`")
+ スペース – いくつかの用途 (特に複数のスペース) では、スペースの重要なシーケンスが失われる可能性があります。
+ カンマ ("`,`")
+ 疑問符 ("`?`")

### 使用しない方がよい文字
<a name="key-name-characters-to-avoid"></a>

すべてのアプリケーションで一貫性を維持するには相当な量の特殊な処理が必要になるため、キー名には以下の文字を使用しないでください。
+ バックスラッシュ ("`\`")
+ 左中括弧 ("`{`")
+ 表示不可能な ASCII 文字 (10 進数の 128 ～ 255 の文字)
+ カレット ("`^`")
+ 右中括弧 ("`}`")
+ パーセント記号 ("`%`")
+ アクサングラーブ/バックティック ("```")
+ 右角括弧 ("`]`")
+ 引用符
+ 大なり記号 ("`>`")
+ 左角括弧 ("`[`")
+ チルダ ("`~`")
+ 小なり記号 ("`<`")
+ シャープ記号 ("`#`")
+ 縦棒/パイプ ("`|`")

## XML 関連のオブジェクトキーの制約
<a name="xml-object-key-constraints"></a>

[行末処理に関する XML 標準](https://www.w3.org/TR/REC-xml/#sec-line-ends)で規定されているとおり、すべての XML テキストは正規化され、1 つのキャリッジリターン (ASCII コード 13) と改行の直後のキャリッジリターン (ASCII コード 10) が単一の改行文字に置き換えられます。XML リクエストでオブジェクトキーを正しく解析するには、キャリッジリターンや[その他の特殊文字を XML タグ内に挿入するときに、同等の XML エンティティコードに置き換える必要があります](https://www.w3.org/TR/xml/#syntax)。以下では、当該特殊文字とそれに相当するエンティティコードのリストを示しています。
+ `&apos;` としての `'`
+ `&quot;` としての `”`
+ `&amp;` としての `&`
+ `&lt;` としての `<`
+ `&gt;` としての `<`
+ `&#13;` または `&#x0D;` としての `\r`
+ `&#10;` または `&#x0A;` としての `\n`

次の例では、キャリッジリターンの代わりに XML エンティティコードを使用する方法を示しています。この `DeleteObjects` リクエストにより、 キーパラメータ `/some/prefix/objectwith\rcarriagereturn` (\$1r はキャリッジリターン) を持つオブジェクトが削除されます。

```
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
      <Object>
        <Key>/some/prefix/objectwith&#13;carriagereturn</Key>
      </Object>
    </Delete>
```

# Lightsail のオブジェクトストレージバケットを保護する
<a name="amazon-lightsail-bucket-security-best-practices"></a>

Amazon Lightsail オブジェクトストレージには、独自のセキュリティポリシーを開発および実装する際に考慮する必要のあるいくつかのセキュリティ機能が用意されています。以下のベストプラクティスは一般的なガイドラインであり、完全なセキュリティソリューションを説明するものではありません。これらのベストプラクティスはお客様の環境に適切ではないか、十分ではない場合があるため、これらは指示ではなく、有用な考慮事項と見なしてください。

**Contents**
+ [予防的セキュリティのベストプラクティス](#bucket-security-best-practices-preventative-practices)
  + [最小特権アクセスの実装](#bucket-security-best-practices-least-privilege-access)
  + [Lightsail バケットがパブリックにアクセス可能ではないことを確認する](#bucket-security-best-practices-verify-bucket-permissions)
  + [Amazon S3 でパブリックアクセスのブロックを有効にする](#bucket-security-best-practices-block-public-access)
  + [バケットにインスタンスを添付して、プログラムによる完全なアクセスを付与する](#bucket-security-best-practices-attach-instances)
  + [バケットのアクセスキーをローテーションする](#bucket-security-best-practices-rotate-bucket-access-keys)
  + [クロスアカウントアクセスを使用して、他の AWS アカウントにバケット内のオブジェクトへのアクセスを許可する](#bucket-security-best-practices-cross-account-access)
  + [データの暗号化](#bucket-security-best-practices-data-encryption)
  + [バージョニングの有効化](#bucket-security-best-practices-enable-versioning)
+ [モニタリングと監査のベストプラクティス](#bucket-security-best-practices-monitoring-auditing)
  + [アクセスログ記録を有効にし、セキュリティとアクセス監査を定期的に実行する](#bucket-security-best-practices-enable-access-logging)
  + [Lightsail バケットの特定、タグ付け、および監査](#bucket-security-best-practices-identify-tag)
  + [モニタリングツールを使用して AWS モニタリングを実装する](#bucket-security-best-practices-monitoring-tools)
  + [を使用する AWS CloudTrail](#bucket-security-best-practices-cloudtrail)
  + [AWS セキュリティアドバイザリのモニタリング](#bucket-security-best-practices-security-advisories)

## 予防的セキュリティのベストプラクティス
<a name="bucket-security-best-practices-preventative-practices"></a>

以下のベストプラクティスは、Lightsail バケットでセキュリティ問題を防ぐのに役立ちます。

### 最小特権アクセスの実装
<a name="bucket-security-best-practices-least-privilege-access"></a>

アクセス許可を付与する場合、どのユーザーにどの Lightsail リソースに対するアクセス許可を付与するかは、お客様が決定します。ユーザーは、それらのリソースで許可する特定のアクションを有効にします。そのため、タスクの実行に必要なアクセス許可のみを付与する必要があります。最小特権アクセスの実装は、セキュリティリスクと、エラーや悪意によってもたらされる可能性のある影響の低減における基本です。

バケットを管理するための IAM ポリシーの作成の詳細については、「[バケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。Lightsail バケットでサポートされている Amazon S3 アクションの詳細については、Amazon Lightsail API リファレンスの「[オブジェクトストレージのアクション](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_Amazon_S3.html)」を参照してください。

### Lightsail バケットがパブリックにアクセス可能ではないことを確認する
<a name="bucket-security-best-practices-verify-bucket-permissions"></a>

デフォルトでは、 バケットとオブジェクトはプライベートです。バケットのアクセス許可セットを**すべてのオブジェクトはプライベート**に設定して、バケットをプライベートに保ちます。大部分のユースケースでは、バケットや個々のオブジェクトをパブリックにする必要はありません。詳細については「[バケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)」を参照してください。

![\[Lightsail コンソールでのバケットアクセス許可\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permission-all-objects-private.png)


ただし、バケットを使用してウェブサイトやアプリケーションのメディアをホストしている場合は、特定のシナリオでは、バケットまたは個々のオブジェクトをパブリックにする必要があります。次のいずれかのオプションを設定して、バケットまたは個々のオブジェクトをパブリックにすることができます。
+ バケット内のオブジェクトの一部のみをインターネット上の誰にでもパブリック (読み取り専用) する必要がある場合は、バケットのアクセス許可を**個々のオブジェクトをパブリックにして読み取り専用にする**に変更し、パブリックにする必要があるオブジェクトのみを**パブリック (読み取り専用)**に変更します。このオプションはバケットをプライベートにしますが、個々のオブジェクトをパブリックにするオプションも提供します。パブリックにアクセスしたくない機密情報または秘密情報が含まれている場合は、個々のオブジェクトを公開しないでください。個々のオブジェクトをパブリックにする場合は、個々のオブジェクトのパブリックアクセシビリティを定期的に検証する必要があります。  
![\[Lightsail コンソールでのバケットアクセス許可\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permission-individual-objects-public.png)
+ バケット内のすべてのオブジェクトをインターネット上の誰にでもパブリック（読み取り専用）する必要がある場合は、バケットのアクセス許可を**すべてのオブジェクトはパブリックで読み取り専用**に変更します。バケット内のいずれかのオブジェクトに機密情報または秘密情報が含まれている場合は、このオプションを使用しないでください。  
![\[Lightsail コンソールでのバケットアクセス許可\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permission-all-objects-public.png)
+ 以前にバケットをパブリックに変更した場合、または個々のオブジェクトをパブリックに変更した場合は、バケットのアクセス許可を**すべてのオブジェクトはプライベート**に変更することで、バケットとそのすべてのオブジェクトをプライベートにすばやく変更できます。  
![\[Lightsail コンソールでのバケットアクセス許可\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permission-all-objects-private.png)

### Amazon S3 でパブリックアクセスのブロックを有効にする
<a name="bucket-security-best-practices-block-public-access"></a>

Lightsail オブジェクトストレージリソースは、パブリックアクセスを許可または拒否するときに、Lightsail バケットのアクセス許可と Amazon S3 アカウントレベルのブロックパブリックアクセス設定の両方を考慮するようになります。Amazon S3 アカウントレベルのブロックパブリックアクセスにより、アカウント管理者およびバケット所有者は、Amazon S3 および Lightsail バケットへのパブリックアクセスを一元的に制限できます。ブロックパブリックアクセスは、リソースがどのように作成され設定されているか、また設定されている可能性のある個々のバケットとオブジェクト権限にかかわらず、すべての Amazon S3 および Lightsail のバケットをプライベートにすることができます。詳細については、「[バケットに対するブロックパブリックアクセス](amazon-lightsail-block-public-access-for-buckets.md)」を参照してください。

### バケットにインスタンスを添付して、プログラムによる完全なアクセスを付与する
<a name="bucket-security-best-practices-attach-instances"></a>

Lightsail オブジェクトストレージバケットにインスタンスを添付するのは、バケットへのアクセスを提供する最も安全な方法です。**リソースアクセス**機能は、インスタンスをバケットにアタッチする方法であり、インスタンスにバケットへの完全なプログラムによるアクセスを付与します。この方法では、バケット認証情報をインスタンスまたはアプリケーションに直接保存する必要はなく、定期的に認証情報をローテーションする必要もありません。例えば、一部の WordPress プラグインは、インスタンスがアクセスできるバケットにアクセスできます。詳細については、「[バケットのリソースアクセスを設定する](amazon-lightsail-configuring-bucket-resource-access.md)」および「[チュートリアル: バケットを WordPress インスタンスに接続する](amazon-lightsail-connecting-buckets-to-wordpress.md)」を参照してください。

![\[Lightsail コンソールでのバケットリソースアクセス\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-resource-access-attached.png)


ただし、アプリケーションが Lightsail インスタンスにない場合は、バケットアクセスキーを作成して設定することができます。バケットアクセスキーは、自動的にローテーションされない長期的な認証情報です。詳細については、「[Lightsail オブジェクトストレージバケットのアクセスキーを作成する](amazon-lightsail-creating-bucket-access-keys.md)」を参照してください。

![\[Lightsail コンソールでのバケットアクセスキー\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-keys.png)


### バケットのアクセスキーをローテーションする
<a name="bucket-security-best-practices-rotate-bucket-access-keys"></a>

バケットごとに最大 2 つのアクセスキーを持つことができます。2 つの異なるアクセスキーを同時に持つことはできますが、キーローテーション時を除き、バケットに対し作成するアクセスキーは一度に 1 つのみにすることをお勧めします。このアプローチにより、新しいバケットアクセスキーが既に使用中である可能性を気にすることなく、いつでも作成できるようになります。例えば、既存のシークレットアクセスキーがコピー、紛失、侵害されたためにローテーションする必要がある場合、ローテーション用に 2 つ目のアクセスキーを作成すると便利です。

バケットでアクセスキーを使用する場合は、キーを定期的にローテーションし、既存のキーのインベントリを作成する必要があります。アクセスキーが最後に使用された日付と、そのキーが使用された AWS リージョン が、キーの使用方法に関する期待に沿っていることを確認します。アクセスキーが最後に使用された日付は、バケットの管理ページにある **[アクセス許可]** タブの **[アクセスキー]** セクションの Lightsail コンソールに表示されます。使用されていないアクセスキーを削除します。

アクセスキーをローテーションするには、新規のアクセスキーを作成し、ソフトウェアで設定してテストしてから、以前のアクセスキーを削除してください。アクセスキーを削除すると、永久に削除されるため、再度取得することはできません。新しいアクセスキーでのみ置き換えることができます。詳細については、「[Lightsail オブジェクトストレージバケットのアクセスキーを作成する](amazon-lightsail-creating-bucket-access-keys.md)」および「[Lightsail オブジェクトのストレージバケットのアクセスキーを削除します](amazon-lightsail-deleting-bucket-access-keys.md)」を参照してください。

### クロスアカウントアクセスを使用して、他の AWS アカウントにバケット内のオブジェクトへのアクセスを許可する
<a name="bucket-security-best-practices-cross-account-access"></a>

クロスアカウントアクセスを使用すると、バケットとそのオブジェクトを公開することなく、 AWS アカウントを持つ特定の個人がバケット内のオブジェクトにアクセスできるようになります。クロスアカウントアクセスを設定している場合は、リストされているアカウント ID が、バケット内のオブジェクトへのアクセスを許可する正しいアカウントであることを確認してください。詳細については、「[バケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)」を参照してください。

![\[Lightsail コンソールでのバケットクロスアカウントアクセス\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-cross-account-access.png)


### データの暗号化
<a name="bucket-security-best-practices-data-encryption"></a>

Lightsail は、Amazon マネージドキーを使用したサーバー側の暗号化と HTTPS (TLS) の強制による転送中のデータの暗号化を実行します。サーバー側の暗号化は、別のサービスに保存されているキーを使用してデータを暗号化することで、データへのリスクを軽減するのに役立ちます。さらに、送信中のデータの暗号化は、潜在的な攻撃者が中間者攻撃または同様の攻撃を使用してネットワークトラフィックを盗聴または操作することを防止するのに役立ちます。

### バージョニングの有効化
<a name="bucket-security-best-practices-enable-versioning"></a>

バージョニングとは、同じバケット内でオブジェクトの複数のバリアントを保持する手段です。バージョニングを使用して、Lightsail バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元することができます。バージョニングを使用すれば、意図しないユーザーアクションからもアプリケーション障害からも、簡単に復旧できます。詳細については、「[バケットのオブジェクトのバージョニングを有効化または一時停止する](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

## モニタリングと監査のベストプラクティス
<a name="bucket-security-best-practices-monitoring-auditing"></a>

以下のベストプラクティスは、Lightsail バケットの潜在的なセキュリティ上の弱点とインシデントを検出するのに役立ちます。

### アクセスログ記録を有効にし、セキュリティとアクセス監査を定期的に実行する
<a name="bucket-security-best-practices-enable-access-logging"></a>

アクセスのログ記録には、バケットに対するリクエストの詳細が記録されます。この情報には、リクエストタイプ (`GET`、`PUT`)、リクエストで指定したリソース、リクエストを処理した日時などが含まれます。バケットのアクセスログ記録を有効にし、セキュリティとアクセス監査を定期的に実行して、バケットにアクセスしているエンティティを特定します。デフォルトでは、Lightsail によってバケットへのアクセスのログは収集されません。アクセスログ記録を手動で有効にする必要があります。詳細については、「[バケットのアクセスログ](amazon-lightsail-enabling-bucket-access-logs.md)」と「[バケットのアクセスログの記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)」を参照してください。

### Lightsail バケットの特定、タグ付け、および監査
<a name="bucket-security-best-practices-identify-tag"></a>

IT アセットの特定はガバナンスとセキュリティの重要な側面です。セキュリティ体制を評価し、潜在的な弱点に対処するには、すべての Lightsail バケットを可視化する必要があります。

タグ付けを使用してセキュリティまたは監査で注意を要するリソースを識別してから、それらのタグを、リソースを検索する必要があるときに使用します。詳細については、「[タグ](amazon-lightsail-tags.md)」を参照してください。

### モニタリングツールを使用して AWS モニタリングを実装する
<a name="bucket-security-best-practices-monitoring-tools"></a>

モニタリングは、Lightsail バケットおよびその他のリソースの信頼性、セキュリティ、可用性、パフォーマンスを維持する上で重要です。**バケットサイズ** (`BucketSizeBytes`) と Lightsail での `Number of objects` (**NumberOfObjects**) バケットメトリクスの通知アラームを作成してモニタリングすることができます。例えば、バケットのサイズが特定のサイズに増減したとき、またはバケット内のオブジェクト数が特定の数に増減したときに通知を受け取ることができます。詳細については、「[バケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

### を使用する AWS CloudTrail
<a name="bucket-security-best-practices-cloudtrail"></a>

AWS CloudTrail は、 のユーザー、ロール、または AWS のサービスによって実行されたアクションの記録を提供しますLightsail。CloudTrail で収集された情報を使用して、Lightsail に対するリクエスト、リクエスト元の IP アドレス、リクエストの実行者、リクエスト日時などの詳細を把握できます。例えば、データアクセスに影響するアクション (特に `CreateBucketAccessKey`、`GetBucketAccessKeys`、`DeleteBucketAccessKey`、`SetResourceAccessForBucket` および `UpdateBucket`) の CloudTrail エントリを特定できます。 AWS アカウントを設定すると、CloudTrail はデフォルトで有効になります。CloudTrail コンソールで最近のイベントを確認できます。Lightsail バケットのアクティビティとイベントの継続的なレコードを作成するには、CloudTrail コンソールで追跡作成できます。詳細については、[https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) ユーザーガイド*のAWS CloudTrail 証跡へのデータイベントのログ記録* を参照してください。

### AWS セキュリティアドバイザリのモニタリング
<a name="bucket-security-best-practices-security-advisories"></a>

 AWS アカウントに登録されているプライマリ E メールアドレスを積極的にモニタリングします。 AWS は、この E メールアドレスを使用して、ユーザーに影響を与える可能性のある新たなセキュリティ上の問題について連絡します。

AWS 広範な影響を与える運用上の問題は、[AWS Service Health Dashboard](https://status.aws.amazon.com/) に投稿されます。運用上の問題は Personal Health Dashboard を介して個々のアカウントにも投稿されます。詳細については、[AWS の正常性に関するドキュメント](https://docs.aws.amazon.com/health/)を参照してください。

# Lightsail バケットとオブジェクトへのアクセスをコントロールする
<a name="amazon-lightsail-understanding-bucket-permissions"></a>

デフォルトでは、すべての Amazon Lightsail オブジェクトストレージリソース (バケットとオブジェクト) はプライベートです。これは、バケット所有者、つまりバケットを作成した Lightsail アカウントのみがバケットとそのオブジェクトにアクセスできることを意味します。バケット所有者は、オプションで他のユーザーにアクセス許可を付与できます。バケットとそのオブジェクトへのアクセスを許可するには、以下の方法があります。
+ **読み取り専用アクセス** — 以下のオプションは、バケットの URL (たとえば、`https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`) を介してバケットとそのオブジェクトへの読み取り専用アクセスを制御します。
  + **バケットアクセス許可** — バケットのアクセス許可を使用して、インターネット上のすべてのオブジェクトへのアクセスを許可します。詳細については、このガイドで後述する「[バケットのアクセス許可](#bucket-access-permissions)」を参照してください。
  + **個々のオブジェクトのアクセス許可** — 個々のオブジェクトアクセス許可を使用して、インターネット上のすべてのユーザーに、バケット内の個々のオブジェクトへのアクセスを許可します。詳細については、このガイドで後述する「[個々のオブジェクトへのアクセス許可](#individual-bucket-object-access-permissions)」を参照してください。
  + **クロスアカウントアクセス** – クロスアカウントアクセスを使用して、他の AWS アカウントのバケット内のすべてのオブジェクトへのアクセスを許可します。詳細については、このガイドで後述する「[クロスアカウント アクセス](#cross-account-access)」を参照してください。
+ **読み取りおよび書き込みアクセス** — バケットとそのオブジェクトへの完全な読み取りおよび書き込みアクセスを制御します。(AWS CLI)、 AWS Command Line Interface AWS APIs、 AWS SDKs でこれらのオプションを使用します。
  + **アクセスキー** — アクセスキーを使用して、アプリケーションやプラグインへのアクセスを許可します。詳細については、このガイドで後述する「[アクセスキー](#bucket-access-keys)」を参照してください。
  + **リソースアクセス** — リソースアクセスを使用して、Lightsail インスタンスへのアクセスを許可します。詳細については、このガイドで後述する。[[リソースアクセス]](#bucket-resource-access)]を参照してください。
+ **Amazon Simple Storage Service ブロックパブリックアクセス** — Amazon Simple Storage Service (Amazon S3) アカウントレベルのブロックパブリックアクセス機能を使用して、Amazon S3 および Lightsail でバケットへのパブリックアクセスを一元的に制限します。ブロックパブリックアクセスは、設定された個々のバケットとオブジェクトの許可にかかわらず、すべての Amazon S3 および Lightsail のバケットをプライベートにすることができます。詳細については、このガイドで後述する「[Amazon S3 パブリックアクセスブロック](#s3-block-public-access)」を参照してください。

バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。セキュリティのベストプラクティスの詳細については、「[オブジェクトストレージのセキュリティのベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」を参照してください。

## バケットのアクセス許可
<a name="bucket-access-permissions"></a>

バケットのアクセス許可を使用して、バケット内のオブジェクトへの公開（認証されていない）読み取り専用アクセスを制御します。バケットのアクセス許可を設定する場合、以下のいずれかのオプションを選択します。
+ **すべてのオブジェクトがプライベート** — バケット内のすべてのオブジェクトは、ご自身またはアクセスを許可したユーザーのみが読み取ることができます。このオプションでは、個々のオブジェクトを公開 (読み取り専用) にすることはできません。
+ **個々のオブジェクトが公開可能（読み取り専用）** — バケット内のオブジェクトは、個々のオブジェクトを公開 (読み取り専用) として指定しない限り、自身またはアクセスを許可したユーザーのみが読み取ることができます。このオプションを使用すると、個々のオブジェクトを公開 (読み取り専用) にできます。詳細については、このガイドで後述する「[個々のオブジェクトへのアクセス許可](#individual-bucket-object-access-permissions)」を参照してください。
+ **すべてのオブジェクトが公開 (読み取り専用)** — バケット内のすべてのオブジェクトは、インターネット上の誰でも読み取り可能です。このオプションを選択すると、バケット内のすべてのオブジェクトは、バケットのURL（たとえば、`https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`）を介してインターネット上の誰でも読み取り可能になります。

バケットアクセス許可の設定に関する詳細については、「[バケットアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)」を参照してください。

## 個々のオブジェクトのアクセス許可
<a name="individual-bucket-object-access-permissions"></a>

個々のオブジェクトアクセス許可を使用して、認証なしで公開されたバケット内の個々のオブジェクトの読み取り専用アクセスを制御します。個々のオブジェクトのアクセス権は、[バケットのアクセス許可](#bucket-access-permissions)が、個々のオブジェクトの公開 (読み取り専用) を許可している場合にのみ設定できます。個々のオブジェクトのアクセス許可を設定する場合は、以下のいずれかのオプションを選択します。
+ **プライベート** — このオブジェクトはご自身とアクセスを許可したユーザーのみが読み取ることができます。
+ **公開 (読み取り専用)** — このオブジェクトは、インターネット上の誰でも読み取り可能です。個々のオブジェクトは、インターネット上の誰でもバケットの URL を通じて読み取れるようになります（たとえば、`https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`)。

個々のオブジェクトのアクセス許可の設定に関する詳細については、「[バケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)」を参照してください。

## クロスアカウントアクセス
<a name="cross-account-access"></a>

クロスアカウントアクセスを使用して、バケット内のすべてのオブジェクトへの認証された読み取り専用アクセスを他の AWS アカウントとそのユーザーに付与します。クロスアカウントアクセスは、オブジェクトを別の AWS アカウントと共有する場合に最適です。別の AWS アカウントにクロスアカウントアクセスを付与すると、そのアカウントのユーザーは、バケットの URL（例えば、`https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`）を通じてバケット内のオブジェクトに読み取り専用のアクセスが可能になります。最大 10 個の AWS アカウントへのアクセスを許可できます。

クロスアカウントアクセスの設定に関する詳細については、「[バケットのクロスアカウント アクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)」を参照してください。

## アクセスキー
<a name="bucket-access-keys"></a>

アクセスキーを使用して、バケットとそのオブジェクトへの完全な読み取りおよび書き込みアクセスを付与する認証情報セットを作成します。アクセスキーは、アクセスキー ID とシークレットアクセスキーがセットです。バケットごとに最大 2 つのアクセスキーを持つことができます。API と AWS SDKs を使用してバケットとそのオブジェクトにアクセスできるように AWS APIs 、アプリケーションでアクセスキーを設定できます。CLI AWS でアクセスキーを設定することもできます。

アクセスキーの作成に関する詳細については、「[バケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)」を参照してください。

## リソースアクセス
<a name="bucket-resource-access"></a>

リソースアクセスを使用し、Lightsail インスタンスのバケットとそのオブジェクトへの完全な読み取りおよび書き込みアクセスを許可します。リソースアクセスでは、アクセスキーなどの認証情報を管理する必要はありません。インスタンスへのアクセスを許可するには、インスタンスを同じ AWS リージョンのバケットにアタッチします。アクセスを拒否するには、インスタンスをバケットからデタッチします。リソースアクセスは、インスタンス上のアプリケーションで、バケット上のファイルをプログラムでアップロードしたりアクセスしたりするように設定する場合に最適です。このようなユースケースの 1 つに、メディアファイルをバケットに保存するように WordPress インスタンスを設定するものがあります。詳細については、「[チュートリアル: バケットを WordPress インスタンスに接続する](amazon-lightsail-connecting-buckets-to-wordpress.md)」および「[チュートリアル: バケットをコンテンツ配信ネットワークディストリビューションと使用する](amazon-lightsail-using-distributions-with-buckets.md)」を参照してください。

リソースアクセスの設定に関する詳細については、「[バケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)」を参照してください。

## Amazon S3 パブリックアクセスブロック
<a name="s3-block-public-access"></a>

Amazon S3 パブリックアクセスブロック機能を使用して、Amazon S3 および Lightsail でバケットへのパブリックアクセスを一元的に制限します。ブロックパブリックアクセスは、設定された個々のバケットとオブジェクトの許可にかかわらず、すべての Amazon S3 および Lightsail のバケットをプライベートにすることができます。Amazon S3 コンソール、 AWS CLI、 AWS SDKs、および REST API を使用して、Lightsailオブジェクトストレージサービスのバケットを含め、アカウント内のすべてのバケットのパブリックアクセスブロックを設定できます。詳細については、「[バケットに対するブロックパブリックアクセス](amazon-lightsail-block-public-access-for-buckets.md)」を参照してください。

# Lightsail オブジェクトストレージバケットのファイルをアップロードする
<a name="amazon-lightsail-uploading-files-to-a-bucket"></a>

Amazon Lightsail オブジェクトストレージサービスのバケットにファイルをアップロードすると、そのファイルはオブジェクトとして保存されます。オブジェクトは、オブジェクトを記述するファイルデータとメタデータから構成されます。バケットには、オブジェクトをいくつでも保存できます。

ファイルタイプ (イメージ、バックアップ、データ、ムービーなど) を問わず、各種のファイルをバケットにアップロードできます。Lightsail コンソールを使用して、アップロードできるファイルの最大サイズは 2 GB です。より大きなファイルをアップロードするには、 Lightsail API、 AWS Command Line Interface (AWS CLI)、または AWS SDKsを使用します。

Lightsail では、アップロードするファイルのサイズに応じて以下のオプションが用意されています。
+ **Lightsail コンソールを使用して最大 2 GB のサイズのオブジェクトをアップロード** — Lightsail コンソールを使用すると、最大 2 GB のサイズの単一のオブジェクトをアップロードできます。詳細については、このガイドで後述する「[Lightsail コンソールを使用したバケットへのファイルのアップロード](#uploading-files-to-a-bucket-lightsail-console)」を参照してください。
+ ** AWS SDKs、REST API、または を使用した 1 回のオペレーションで最大 5 GB のサイズのオブジェクトをアップロードする AWS CLI** — 1 回の PUT オペレーションで、最大 5 GB のサイズのオブジェクトを 1 つアップロードできます。詳細については、このガイドで後述する「[AWS CLIを使用したバケットへのファイルのアップロード](#uploading-files-to-a-bucket-aws-cli)」を参照してください。
+ ** AWS SDKs、REST API、または AWS CLI** — マルチパートアップロード API を使用して、5 MB～50 TB のサイズの単一の大きなオブジェクトをアップロードできます。マルチパートアップロード API は大容量オブジェクトのアップロードを効率よく行えるように設計されています。1 つのオブジェクトをいくつかに分けてアップロードできます。オブジェクトのパートは、単独で、任意の順序で、または並行してアップロードできます。詳細については、「[マルチパートアップロードを使用してバケットにファイルをアップロードする](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)」を参照してください。

バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## オブジェクトキーの名前とバージョニング
<a name="uploading-files-to-a-bucket-object-key-names"></a>

Lightsail コンソールを使用してファイルをアップロードする場合、ファイル名がオブジェクトキー名として使用されます。オブジェクトキー (またはキー名) によって、バケットに保存されているオブジェクトを一意に識別します。ファイルがアップロードされたフォルダが存在する場合、キー名のプレフィックスとして使用されます。たとえば、`sailbot.jpg` という名前のファイルを `images` という名前のバケット内のフォルダーにアップロードすると、完全なオブジェクトキー名とプレフィックスは `images/sailbot.jpg` になります。ただし、オブジェクトはコンソールの `sailbot.jpg` フォルダ内で `images` として表示されます。オブジェクトキー名の詳細については、「[オブジェクトストレージバケットのキー名](understanding-bucket-object-key-names-in-amazon-lightsail.md)」を参照してください。

Lightsail コンソールを使用してディレクトリをアップロードすると、ディレクトリ内のすべてのファイルとサブフォルダがバケットにアップロードされます。Lightsail は次に、アップロードされた各ファイル名とフォルダ名を組み合わせたオブジェクトキー名を割り当てます。たたとえば、`sample1.jpg` と `sample2.jpg` の2つのファイルを含む `images` という名前のフォルダをアップロードすると、Lightsail はファイルをアップロードしてから、対応するキー名 、`images/sample1.jpg` と `images/sample2.jpg` を割り当てます。コンソールには、オブジェクトが `sample1.jpg` および `sample2.jpg` の `images` フォルダーとして表示されます。

すでに存在するキー名のファイルをアップロードし、バケットの*バージョニングが有効になっていない*場合、新しくアップロードされたオブジェクトが前のオブジェクトに置き換えられます。ただし、バケットで*バージョニングが有効になっている場合*は、Lightsail 既存のオブジェクトを置き換えるのではなく、オブジェクトの新しいバージョンを作成します。詳細については、「[バケットのオブジェクトのバージョニングを有効化または一時停止する](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

## Lightsail コンソールを使用してバケットにファイルをアップロードするには
<a name="uploading-files-to-a-bucket-lightsail-console"></a>

Lightsail コンソールを使用してファイルとディレクトリをアップロードするには、次の手順を実行します。

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 左側のナビゲーションペインで **[ストレージ]** を選択します。

1. ファイルとフォルダをアップロードするバケットの名前を選択します。

1. [**Objects**] (オブジェクト) タブで、次のいずれかのアクションを実行します。
   + ファイルとフォルダを [**Objects**] ページにドラッグアンドドロップします。
   + [**Upload**] (アップロード) を選択し、[**File**] (ファイル) を選択して個々のファイルをアップロードするか、[**Directory**] (ディレクトリ) を選択して、フォルダとそのすべてのコンテンツをアップロードします。
**注記**  
[**Create new folder**] (新しいフォルダの作成) を選択してフォルダを作成することもできます。その後、新しいフォルダを参照して、そのフォルダにファイルをアップロードできます。

   アップロードが完了すると、**正常にアップロードしました**というメッセージが表示されます。

## を使用してバケットにファイルをアップロードする AWS CLI
<a name="uploading-files-to-a-bucket-aws-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用してファイルやフォルダーをバケットにアップロードを完了するには、以下の手順を実行します。これは、`put-object` コマンドを使用して実行できます。詳細については、「AWS CLI コマンドリファレンス」の「[put-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html)」を参照してください。

**注記**  
この手順を続行する前に、 をインストール AWS CLI し、 Lightsail と Amazon S3 用に設定する必要があります。詳細については、[「 を使用する AWS CLI ように Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

1. ターミナルまたはコマンドプロントウィンドウを開きます。

1. 以下のコマンドを入力して、ファイルをバケットにアップロードします。

   ```
   aws s3api put-object --bucket BucketName --key ObjectKey --body LocalDirectory --acl bucket-owner-full-control
   ```

   コマンドで、次のサンプルテキストを独自のテキストに置き換えます。
   + *BucketName* は、ファイルをアップロードするバケットの名前に置き換えます。
   + *ObjectKey* は、バケット内のオブジェクトの完全なオブジェクトキーに置き換えます。
   + *LocalDirectory* は、アップロードするファイルのコンピュータ上のローカルディレクトリ フォルダパスに置き換えます。

   例:
   + Linux または Unix コンピュータの場合：

     ```
     aws s3api put-object --bucket amzn-s3-demo-bucket --key images/sailbot.jpg --body home/user/Pictures/sailbot.jpg --acl bucket-owner-full-control
     ```
   + Windows コンピュータの場合: 

     ```
     aws s3api put-object --bucket amzn-s3-demo-bucket --key images/sailbot.jpg --body "C:\Users\user\Pictures\sailbot.jpg" --acl bucket-owner-full-control
     ```

   以下の例のような結果が表示されるはずです。  
![\[AWS CLI put-object コマンドの結果\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-s3api-put-object-result.png)

## IPv6 専用リクエスト用に AWS CLI を設定する
<a name="uploading-files-over-ipv6-only"></a>

Amazon S3 は IPv6 を介したバケットアクセスをサポートしています。IPv6 での Amazon S3 API コールを使用したリクエストは、デュアルスタックのエンドポイントを使用して行います。このセクションでは、IPv6 を介してデュアルスタックのエンドポイントへリクエストする方法の例を示します。詳細については、「*Amazon S3 API ユーザーガイド*」の「[Using Amazon S3 dual-stack endpoints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html)」を参照してください。の設定手順については AWS CLI、[「 と連携 AWS Command Line Interface するように Amazon Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)を設定する」を参照してください。

**重要**  
バケットにアクセスするクライアントやネットワークは、IPv6 の使用を有効にする必要があります。詳細については、「[IPv6 の到達可能性](amazon-lightsail-ipv6-reachability.md)」を参照してください。

IPv6 専用インスタンスから S3 リクエストを行うには、2 つの方法があります。すべての Amazon S3 リクエストを、指定された のデュアルスタックエンドポイントに転送 AWS CLI するように を設定できます AWS リージョン。または、指定した AWS CLI コマンド (すべてのコマンドではない) にのみデュアルスタックエンドポイントを使用する場合は、すべてのコマンドに S3 デュアルスタックエンドポイントを追加できます。

を設定する AWS CLI  
AWS Config ファイルのプロファイル`true`で設定値を `use_dualstack_endpoint`に設定して、Amazon S3 および s3api AWS CLI コマンドによって行われたすべての Amazon S3 リクエストを、指定されたリージョンのデュアルスタックエンドポイントに送信します。リージョンは、 AWS CLI 設定ファイル、または --region オプションを使用してコマンドで指定します。  
次のコマンドを入力して、 AWS CLIを設定します。  

```
aws configure set default.s3.use_dualstack_endpoint true
```

```
aws configure set default.s3.addressing_style virtual
```

特定のコマンドにデュアルスタックエンドポイントを追加する  
コマンドでデュアルスタックのエンドポイントを使用する。その場合は、すべての s3 または s3api コマンドの `--endpoint-url` パラメータを `https://s3.dualstack.aws-region.amazonaws.com` または `http://s3.dualstack.aws-region.amazonaws.com` に設定します。以下の例では、*bucketname* と *aws-region* をバケット名と AWS リージョンに置き換えます。  

```
aws s3api list-objects --bucket bucketname --endpoint-url https://s3.dualstack.aws-region.amazonaws.com
```

## Lightsail でのバケットとオブジェクトの管理
<a name="uploading-files-managing-buckets-and-objects"></a>

これらは、Lightsail オブジェクトストレージバケットを管理する一般的な手順です。

1. Amazon Lightsail オブジェクトストレージサービスでのオブジェクトとバケットについて説明します。詳細については、「[Amazon Lightsail のオブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

1. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「[Amazon Lightsail でのバケットの命名規則](bucket-naming-rules-in-amazon-lightsail.md)」をご参照ください。

1. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「[Amazon Lightsail におけるバケットの作成](amazon-lightsail-creating-buckets.md) 」を参照してください。

1. バケットのセキュリティのベストプラクティスと、バケットに設定できるアクセス許可について説明します。バケット内のすべてのオブジェクトをパブリックまたはプライベートにすることも、オブジェクトを個別に選択してパブリックにすることもできます。また、アクセスキーを作成し、インスタンスをバケットに追加し、他の AWS アカウントにアクセス権を付与することで、バケットへのアクセスを許可することもできます。詳細については、「[Amazon Lightsail オブジェクトストレージのセキュリティベストプラクティス](amazon-lightsail-bucket-security-best-practices.md)」と「[Amazon Lightsail でのバケットのアクセス許可を理解する](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

   バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。
   + [Amazon Lightsail でのバケットへのパブリックアクセスをブロックする](amazon-lightsail-block-public-access-for-buckets.md)
   + [Amazon Lightsail でのバケットのアクセス許可の設定](amazon-lightsail-configuring-bucket-permissions.md)
   + [Amazon Lightsail でのバケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)
   + [Amazon Lightsail でのバケットのアクセスキーの作成](amazon-lightsail-creating-bucket-access-keys.md)
   + [Amazon Lightsail でのバケットのリソースアクセスの設定](amazon-lightsail-configuring-bucket-resource-access.md)
   + [Amazon Lightsail でのバケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットのアクセスログの形式](amazon-lightsail-bucket-access-log-format.md)
   + [Amazon Lightsail オブジェクトストレージサービスのバケットへのアクセスのログ記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)
   + [ Amazon Lightsailでのバケットのアクセスログを使用するリクエストの特定](amazon-lightsail-using-bucket-access-logs.md)

1. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「[Amazon Lightsail でバケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。

1. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、[「Amazon Lightsail でのオブジェクトキー名を理解する」](understanding-bucket-object-key-names-in-amazon-lightsail.md)を参照してください。

1. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。
   + [Amazon Lightsail のバケットにファイルをアップロードする](#amazon-lightsail-uploading-files-to-a-bucket)
   + [マルチパートアップロードを使用した Amazon Lightsail のバケットへのファイルのアップロード](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [Amazon Lightsail のバケット内のオブジェクトの表示](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [Amazon Lightsail のバケット内のオブジェクトのコピーまたは移動](amazon-lightsail-copying-moving-bucket-objects.md)
   + [Amazon Lightsail のバケットからのオブジェクトのダウンロード](amazon-lightsail-downloading-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのフィルタリング](amazon-lightsail-filtering-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトのタグ付け](amazon-lightsail-tagging-bucket-objects.md)
   + [Amazon Lightsail のバケット内のオブジェクトの削除](amazon-lightsail-deleting-bucket-objects.md)

1. オブジェクトのバージョニングを有効にすると、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元します。詳細については、「[Amazon Lightsail のバケットでのオブジェクトのバージョニングの有効化と一時停止](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

1. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「[Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元](amazon-lightsail-restoring-bucket-object-versions.md)」を参照してください。

1. バケットの使用率を監視します。詳細については、「[Amazon Lightsail でのバケットのメトリクスの表示](amazon-lightsail-viewing-bucket-metrics.md)」を参照してください。

1. バケットの使用率がしきい値を超えたときにバケットメトリクスが通知されるよう、アラームを設定します。詳細については、「[Amazon Lightsail でのバケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

1. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「[Amazon Lightsail のバケットのプランの変更](amazon-lightsail-changing-bucket-plans.md)」を参照してください。

1. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。
   + [チュートリアル: WordPress インスタンスの Amazon Lightsail バケットへの接続](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [チュートリアル: Lightsail コンテンツ配信ネットワークディストリビューションでの Amazon Lightsail バケットの使用](amazon-lightsail-using-distributions-with-buckets.md)

1. 使用しなくなったバケットを削除します。詳細については、「[Amazon Lightsail でのバケットの削除](amazon-lightsail-deleting-buckets.md)」を参照してください。

# Lightsail のクロスオリジンリソース共有 (CORS)
<a name="configure-cors"></a>

Cross−Origin Resource Sharing (CORS) は、特定のドメインにロードされたクライアントウェブアプリケーションが異なるドメイン内のリソースと通信する方法を定義します。CORS のサポートにより、Lightsail オブジェクトストレージを使用して機能豊富なクライアント側ウェブアプリケーションを構築し、バケットリソースへのクロスオリジンアクセスを選択的に許可できるようになります。CORS の詳細については、「[CORS とは？](https://aws.amazon.com/what-is/cross-origin-resource-sharing/)」を参照してください。

このセクションでは、AWS Command Line Interface (AWS CLI) を使用して Lightsail バケットの CORS を設定する方法について説明します。クロスオリジンリクエストを許可するようにバケットを設定するには、JSON ドキュメントを使用して CORS 設定をバケットに追加します。この JSON ドキュメントでは、バケットへのアクセスを許可するオリジン、各オリジンに対してサポートされるオペレーション (HTTP メソッド)、その他のオペレーション固有の情報を識別するルールを定義します。

**Topics**
+ [CORS のユースケース](#cors-use-cases)
+ [Lightsail が CORS 設定を評価する方法](cors-how-evaluation-works.md)
+ [AWS CLI を使用して CORS の設定](cors-configuration-cli.md)
+ [CORS のトラブルシューティング](cors-troubleshooting.md)

## CORS のユースケース
<a name="cors-use-cases"></a>

次のシナリオ例では、Lightsail バケットで CORS を設定する方法の詳細について説明します。

**シナリオ: ウェブフォントホスト**  
Lightsail バケットからウェブフォントをホストするとします。ブラウザでウェブフォントを読み込むため、CORS チェック (プリフライトチェックとも呼ばれる) が必要です。ウェブフォントをホストしているバケットを設定し、いずれかのオリジンがこれらのリクエストを実行できるように許可します。

# Lightsail が CORS 設定を評価する方法
<a name="cors-how-evaluation-works"></a>

Lightsail オブジェクトストレージは、ブラウザからプリフライトリクエストを受け取ると、バケットの CORS 設定を評価し、受信ブラウザリクエストに一致する最初の CORS ルールを使用して、クロスオリジンリクエストを有効にします。ルールが一致するには、次の条件を満たしている必要があります。
+ リクエストの `Origin` ヘッダーは、`AllowedOrigins` 要素のオリジンと一致する必要があります。
+ `Access-Control-Request-Method` ヘッダーで指定された HTTP メソッドは、`AllowedMethods` 要素のメソッドと一致する必要があります。
+ `Access-Control-Request-Headers` ヘッダーにリストされているヘッダーは、`AllowedHeaders` 要素のヘッダーと一致する必要があります。

**注記**  
バケットで CORS を有効にすると、バケットのアクセス許可は引き続き適用されます。CORS 設定は、ブラウザがクロスオリジンリクエストの続行を許可するかどうかのみを決定します。詳細については、「[Lightsail バケットとオブジェクトへのアクセスをコントロールする](amazon-lightsail-understanding-bucket-permissions.md)」を参照してください。

## CORS 設定のエレメント
<a name="cors-configuration-elements"></a>

CORS 設定は、CORS ルールの配列を含む JSON ドキュメントです。各ルールは、バケットへのアクセスを許可するオリジン、許可される HTTP メソッド、およびその他の設定オプションを定義します。

CORS ルールには、次の要素を含めることができます。

**allowedOrigins**  
バケットへのアクセスが許可されているオリジンを指定します。ワイルドカード (\$1) を使用してすべてのオリジンを許可するか、`https://example.com` などの特定のドメインを指定できます。

**allowedMethods**  
指定されたオリジンに許可される HTTP メソッドを指定します。有効な値には、GET、PUT、POST、DELETE、HEAD などがあります。

**allowedHeaders**  
Access-Control-Request-Headers ヘッダーによって、プリフライト OPTIONS リクエストで許可されるヘッダーを指定します。

**exposeHeaders**  
レスポンス内のどのヘッダーにクライアントアプリケーションでアクセスできるかを指定します。

**id**  
CORS ルール用の一意の識別子。

**maxAgeSeconds**  
プリフライトリクエストに対して、ブラウザがレスポンスをキャッシュできる時間を秒単位で指定します。

これらのパラメータの詳細については、「[BucketCorsRule](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_BucketCorsRule.html)」(*Amazon Lightsail API リファレンス*) を参照してください。

# AWS CLI を使用して CORS の設定
<a name="cors-configuration-cli"></a>

`--cors` パラメータを持つ AWS CLI を使用して、Lightsail バケットの CORS を設定できます。このパラメータは CORS 設定を含む JSON ファイルを受け入れます。CORS 設定の要素の詳細については、「[CORS 設定のエレメント](cors-how-evaluation-works.md#cors-configuration-elements)」を参照してください。

**Topics**
+ [CORS 構成の適用](#cors-configuration-apply)
+ [CORS 設定例](#cors-configuration-examples)
+ [CORS 設定の削除](#cors-remove-configuration)

## CORS 構成の適用
<a name="cors-configuration-apply"></a>

以下の手順は、JSON ファイルを指定して CORS 設定をバケットに適用する方法を示しています。その他の設定例については、「[CORS 設定例](#cors-configuration-examples)」を参照してください。

**AWS CLI を使用してバケットに CORS を設定する方法**

1. CORS 設定を含む JSON ファイルを作成します。例えば、次の内容で `cors-config.json` という名前のファイルを作成します。

   ```
   {
     "CORSRules": [
       {
         "AllowedOrigins": ["https://example.com"],
         "AllowedMethods": ["GET", "PUT", "POST"],
         "AllowedHeaders": ["*"],
         "MaxAgeSeconds": 3000
       }
     ]
   }
   ```

1. AWS CLI を使用して CORS 設定をバケットに適用します。

   ```
   aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket --cors file://cors-config.json
   ```

1. CORS 設定が正常に適用されたことを確認してください。

   ```
   aws lightsail get-buckets --bucket-name amzn-s3-demo-bucket --include-cors
   ```

**注記**  
*amzn-s3-demo-bucket* を Lightsail のバケット名に置き換えます。

## CORS 設定例
<a name="cors-configuration-examples"></a>

以下の例は、さまざまなユースケースに対する一般的な CORS 設定を示しています。

**例 1: すべてのオリジンとメソッドを許可する**  
この設定により、任意の HTTP メソッドを使用してすべてのオリジンにバケットへのアクセスを許可します。

```
{
    "CORSRules": [
      {
        "AllowedOrigins": ["*"],
        "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
        "AllowedHeaders": ["*"],
        "MaxAgeSeconds": 3000
      }
    ]
  }
```

**例 2: 特定のドメインに制限する**  
この設定では、`https://mywebsite.com` からのリクエストのみを許可します。

```
{
    "CORSRules": [
      {
        "AllowedOrigins": ["https://mywebsite.com"],
        "AllowedMethods": ["GET", "PUT"],
        "AllowedHeaders": ["Authorization", "Content-Type"],
        "ExposeHeaders": ["ETag"],
        "MaxAgeSeconds": 3600
      }
    ]
  }
```

**例 3: さまざまなオリジンに複数のルール**  
この設定では、オリジンごとに異なるルールを定義します。

```
{
    "CORSRules": [
      {
        "AllowedOrigins": ["https://mywebsite.com"],
        "AllowedMethods": ["GET", "PUT", "POST"],
        "AllowedHeaders": ["*"],
        "MaxAgeSeconds": 3600
      },
      {
        "AllowedOrigins": ["https://cdn.mywebsite.com"],
        "AllowedMethods": ["GET"],
        "AllowedHeaders": ["Authorization"],
        "MaxAgeSeconds": 86400
      }
    ]
  }
```

## CORS 設定の削除
<a name="cors-remove-configuration"></a>

バケットから CORS 設定を削除するには、次の AWS CLI コマンドを実行します。

```
aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket --cors '{"rules":[]}'
```

**注記**  
*amzn-s3-demo-bucket* を Lightsail のバケット名に置き換えます。

CORS 設定を削除すると、バケットへのクロスオリジンリクエストはブラウザによってブロックされます。

# CORS のトラブルシューティング
<a name="cors-troubleshooting"></a>

CORS に問題がある場合は、以下を確認してください。
+ **CORS 設定の検証** – CORS 設定により JSON が適切にフォーマットされ、ユースケースに必要なルールが含まれていることを確認します。
+ **オリジン一致の確認** – リクエストのオリジンは、`AllowedOrigins` リストのエントリと完全に一致する必要があります。プロトコル (http/https)、サブドメイン、およびポートは完全に一致する必要があります。
+ **HTTP メソッドの検証** – 使用している HTTP メソッドが、一致するルールの `AllowedMethods` にリストされていることを確認します。
+ **ブラウザ開発者ツールの確認** – ブラウザの開発者ツールを使用して、プリフライト OPTIONS リクエストとレスポンスを検査し、CORS 関連のエラーを特定します。
+ **バケットのアクセス許可の検証** – バケットに CORS に加えて適切なアクセス許可が設定されていることを確認します。CORS は、バケットレベルのアクセス許可ではなく、ブラウザベースのクロスオリジンアクセスのみを制御します。

トラブルシューティング中にバケットから CORS 設定を削除する必要がある場合は、「[CORS 設定の削除](cors-configuration-cli.md#cors-remove-configuration)」を参照してください。