Lightsail オブジェクトストレージバケットのファイルをアップロードする - Amazon Lightsail

Lightsail オブジェクトストレージバケットのファイルをアップロードする

Amazon Lightsail オブジェクトストレージサービスのバケットにファイルをアップロードすると、そのファイルはオブジェクトとして保存されます。オブジェクトは、オブジェクトを記述するファイルデータとメタデータから構成されます。バケットには、オブジェクトをいくつでも保存できます。

ファイルタイプ (イメージ、バックアップ、データ、ムービーなど) を問わず、各種のファイルをバケットにアップロードできます。Lightsail コンソールを使用して、アップロードできるファイルの最大サイズは 2 GB です。大きなファイルをアップロードするには、Lightsail API、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用します。

Lightsail では、アップロードするファイルのサイズに応じて以下のオプションが用意されています。

  • Lightsail コンソールを使用して最大 2 GB のサイズのオブジェクトをアップロード — Lightsail コンソールを使用すると、最大 2 GB のサイズの単一のオブジェクトをアップロードできます。詳細については、このガイドで後述する「Lightsail コンソールを使用したバケットへのファイルのアップロード」を参照してください。

  • AWS SDK、REST API または AWS CLI を使用した単一のオペレーションで最大 5 GB のサイズのオブジェクトをアップロードします — 単一の PUT オペレーションで、最大 5 GB のサイズの単一のオブジェクトをアップロードできます。詳細については、このガイドで後述する「AWS CLI を使用したバケットへのファイルのアップロード」を参照してください。

  • AWS SDK、REST API または AWS CLI を使用してオブジェクトをパート別にアップロードする — マルチパートアップロード API を使用して、サイズが 5 MB から 5 TB の単一のラージ オブジェクトをアップロードできます。マルチパートアップロード API は大容量オブジェクトのアップロードを効率よく行えるように設計されています。1 つのオブジェクトをいくつかに分けてアップロードできます。オブジェクトのパートは、単独で、任意の順序で、または並行してアップロードできます。詳細については、「マルチパートアップロードを使用してバケットにファイルをアップロードする」を参照してください。

バケットについての詳細は、「オブジェクトストレージ」を参照してください。

オブジェクトキーの名前とバージョニング

Lightsail コンソールを使用してファイルをアップロードする場合、ファイル名がオブジェクトキー名として使用されます。オブジェクトキー (またはキー名) によって、バケットに保存されているオブジェクトを一意に識別します。ファイルがアップロードされたフォルダが存在する場合、キー名のプレフィックスとして使用されます。たとえば、sailbot.jpg という名前のファイルを images という名前のバケット内のフォルダーにアップロードすると、完全なオブジェクトキー名とプレフィックスは images/sailbot.jpg になります。ただし、オブジェクトはコンソールの sailbot.jpg フォルダ内で images として表示されます。オブジェクトキー名の詳細については、「オブジェクトストレージバケットのキー名」を参照してください。

Lightsail コンソールを使用してディレクトリをアップロードすると、ディレクトリ内のすべてのファイルとサブフォルダがバケットにアップロードされます。その後、Lightsail には、アップロードしたファイルの名前とフォルダの名前を組み合わせたオブジェクトキー名が割り当てられます。たたとえば、sample1.jpgsample2.jpg の2つのファイルを含む images という名前のフォルダをアップロードすると、Lightsail はファイルをアップロードしてから、対応するキー名 、images/sample1.jpgimages/sample2.jpg を割り当てます。コンソールには、オブジェクトが sample1.jpg および sample2.jpgimages フォルダーとして表示されます。

すでに存在するキー名のファイルをアップロードし、バケットのバージョニングが有効になっていない場合、新しくアップロードされたオブジェクトが前のオブジェクトに置き換えられます。ただし、バケットでバージョニングが有効になっている場合は、Lightsail 既存のオブジェクトを置き換えるのではなく、オブジェクトの新しいバージョンを作成します。詳細については、「バケットのオブジェクトのバージョニングを有効化または一時停止する」を参照してください。

Lightsail コンソールを使用してバケットにファイルをアップロードするには

Lightsail コンソールを使用してファイルとディレクトリをアップロードするには、次の手順を実行します。

  1. Lightsail コンソールにサインインします。

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

  3. ファイルとフォルダをアップロードするバケットの名前を選択します。

  4. [Objects] (オブジェクト) タブで、次のいずれかのアクションを実行します。

    • ファイルとフォルダを [Objects] ページにドラッグアンドドロップします。

    • [Upload] (アップロード) を選択し、[File] (ファイル) を選択して個々のファイルをアップロードするか、[Directory] (ディレクトリ) を選択して、フォルダとそのすべてのコンテンツをアップロードします。

      注記

      [Create new folder] (新しいフォルダの作成) を選択してフォルダを作成することもできます。その後、新しいフォルダを参照して、そのフォルダにファイルをアップロードできます。

    アップロードが完了すると、正常にアップロードしましたというメッセージが表示されます。

AWS CLI を使用して、バケットにファイルをアップロードするには

AWS Command Line Interface (AWS CLI) を使用してファイルやフォルダーをバケットにアップロードを完了するには、以下の手順を実行します。これは、put-object コマンドを使用して実行できます。詳細については、「AWS CLI コマンドリファレンス」の「put-object」を参照してください。

注記

この手順を続行する前に、AWS CLI をインストールし、Lightsail と Amazon S3 用に設定する必要があります。詳細については、「 Lightsail で使用するために AWS CLI を設定する」を参照してください。

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

  2. 以下のコマンドを入力して、ファイルをバケットにアップロードします。

    aws s3api put-object --bucket BucketName --key ObjectKey --body LocalDirectory --acl bucket-owner-full-control

    コマンドで、次のサンプルテキストを独自のテキストに置き換えます。

    • BucketName は、ファイルをアップロードするバケットの名前に置き換えます。

    • ObjectKey は、バケット内のオブジェクトの完全なオブジェクトキーに置き換えます。

    • LocalDirectoryFire は、アップロードするファイルのコンピュータ上のローカルディレクトリ フォルダパスに置き換えます。

    例:

    • 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 コマンドの結果

IPv6 専用リクエスト用に AWS CLI を設定する

Amazon S3 は IPv6 を介したバケットアクセスをサポートしています。IPv6 での Amazon S3 API コールを使用したリクエストは、デュアルスタックのエンドポイントを使用して行います。このセクションでは、IPv6 を介してデュアルスタックのエンドポイントへリクエストする方法の例を示します。詳細については、「Amazon S3 API ユーザーガイド」の「Using Amazon S3 dual-stack endpoints」を参照してください。AWS CLIの設定手順については、「AWS Command Line Interface を Amazon Lightsail と連携させる設定を行います」を参照してください。

重要

バケットにアクセスするクライアントやネットワークは、IPv6 の使用を有効にする必要があります。詳細については、「IPv6 の到達可能性」を参照してください。

IPv6 専用インスタンスから S3 リクエストを行うには、2 つの方法があります。すべての Amazon S3 リクエストを、指定された AWS リージョン のデュアルスタックエンドポイントに向けるように AWS CLI を設定できます。または、指定した AWS CLI コマンド (すべてのコマンドではない) にのみデュアルスタックエンドポイントを使用する場合は、すべてのコマンドに S3 デュアルスタックエンドポイントを追加できます。

AWS CLI を設定する

AWS Config ファイルのプロファイル内で設定値 use_dualstack_endpointtrue に設定すると、Amazon S3 と s3api AWS CLI コマンドによるすべての Amazon S3 リクエストが指定されたリージョンのデュアルスタックのエンドポイントに転送されます。--region オプションを使用して AWS CLI コンフィグファイルまたはコマンドでリージョンを指定します。

次のコマンドを入力して、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 に設定します。以下の例では、bucketnameaws-region をバケット名と AWS リージョン に置き換えます。

aws s3api list-objects --bucket bucketname --endpoint-url https://s3.dualstack.aws-region.amazonaws.com

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

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

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

  2. Amazon Lightsail でバケットに付けることができる名前について説明します。詳細については、「Amazon Lightsail でのバケットの命名規則」をご参照ください。

  3. バケットを作成して、Lightsail オブジェクトストレージサービスの使用を開始します。詳細については、「Amazon Lightsail におけるバケットの作成 」を参照してください。

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

    バケットのアクセス許可について理解したら、以下のガイドを参照してバケットへのアクセスを許可してください。

  5. バケットのアクセスログの記録を有効にする方法と、アクセスログを使用してバケットのセキュリティを監査する方法について説明します。詳細については、以下のガイドを参照してください。

  6. Lightsail でバケットを管理する機能をユーザーに付与する IAM ポリシーを作成します。詳細については、「Amazon Lightsail でバケットを管理する IAM ポリシー」を参照してください。

  7. バケット内のオブジェクトにラベルを付けて識別する方法について説明します。詳細については、「Amazon Lightsail でのオブジェクトキー名を理解する」を参照してください。

  8. ファイルをアップロードしてバケット内のオブジェクトを管理する方法について説明します。詳細については、以下のガイドを参照してください。

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

  10. オブジェクトのバージョニングを有効にすると、バケット内のオブジェクトの以前のバージョンを復元できます。詳細については、「Amazon Lightsail のバケット内のオブジェクトの以前のバージョンの復元」を参照してください。

  11. バケットの使用率を監視します。詳細については、「Amazon Lightsail でのバケットのメトリクスの表示」を参照してください。

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

  13. ストレージとネットワーク転送量が不足している場合は、バケットのストレージプランを変更します。詳細については、「Amazon Lightsail のバケットのプランの変更」を参照してください。

  14. バケットを他のリソースに接続する方法について説明します。詳細については、以下のチュートリアルを参照してください。

  15. 使用しなくなったバケットを削除します。詳細については、「Amazon Lightsail でのバケットの削除」を参照してください。