View a markdown version of this page

Amazon S3 汎用バケットへのアクセス - Amazon Simple Storage Service

Amazon S3 汎用バケットへのアクセス

Amazon S3 汎用バケットにアクセスするには、Amazon S3 コンソール、AWS Command Line Interface、AWS SDK、または Amazon S3 REST API を使用できます。S3 汎用バケットへのアクセス方法ごとにサポートされるユースケースは異なります。詳細については、次のセクションを参照してください。

ユースケース

Amazon S3 汎用バケットのユースケースに応じて、バケット内の基になるデータにアクセスするための推奨方法が異なります。以下のリストには、データにアクセスする一般的なユースケースが含まれています。

  • 静的ウェブサイト – Amazon S3 を使用して静的ウェブサイトをホスティングできます。このユースケースでは、S3 汎用バケットをウェブサイトと同様に機能するよう設定できます。Amazon S3 上でウェブサイトをホスティングするステップを説明する例については、「チュートリアル: Amazon S3 での静的ウェブサイトの設定」を参照してください。

    パブリックアクセスをブロックするなどのセキュリティ設定を有効にして静的ウェブサイトをホストするには、Amazon CloudFront とオリジンアクセスコントロール (OAC) を使用し、HTTPS などの追加のセキュリティヘッダーを実装することをお勧めします。詳細については、「安全な静的ウェブサイトの使用開始」を参照してください。

    注記

    Amazon S3 は、静的ウェブサイトアクセスの仮想ホスト形式とパス形式の URL の両方をサポートしています。バケットはパス形式の URL と仮想ホスト形式の URL を使用してアクセスできるため、DNS 準拠のバケット名を使用してバケットを作成することをお勧めします。詳細については、「汎用バケットのクォータ、制限、制約」を参照してください。

  • 共有データセット — Amazon S3 でスケールする場合、マルチテナントモデルを採用して、共有汎用バケット内のプレフィックスごとに異なるエンドカスタマーまたはビジネスユニットを割り当てるのが一般的です。Amazon S3 アクセスポイントを使用すると、共有データセットにアクセスする必要のあるアプリケーションごとに、1 つの大きなバケットポリシーを個別のアクセスポイントポリシーに分割できます。このアプローチにより、共有データセット内で他のアプリケーションが実行中の操作を中断することなく、アプリケーションに適したアクセスポリシーの構築に集中しやすくなります。詳細については、「アクセスポイントを使用した共有データセットへのアクセスの管理」を参照してください。

  • データの参照と管理 – Storage Browser for Amazon S3 は、エンドユーザーに Amazon S3 データを参照および管理するためのシンプルなインターフェイスを提供するために、ウェブアプリケーションに追加できるオープンソースコンポーネントです。詳細については、「Storage Browser for Amazon S3 の使用」を参照してください。

  • 高スループットワークロード - Mountpoint for Amazon S3 は、Amazon S3 汎用バケットをローカルファイルシステムとしてマウントするための、高スループットのオープンソースファイルクライアントです。Mountpoint を使用すると、アプリケーションは、開く、読み取るなどのファイルシステム操作を通じて Amazon S3 に保存されているオブジェクトにアクセスできます。Mountpoint はこれらの操作を S3 オブジェクト API 呼び出しに自動的に変換し、アプリケーションが Amazon S3 のエラスティックなストレージとスループットにファイルインターフェイスを通じてアクセスできるようにします。詳細については、「Amazon S3 バケットをローカルファイルシステムとしてマウントする」を参照してください。

  • マルチリージョンアプリケーション -Amazon S3 マルチリージョンアクセスポイントは、複数の AWS リージョンにある S3 汎用バケットからのリクエストを満たすためにアプリケーションで使用できるグローバルエンドポイントを提供します。マルチリージョンアクセスポイントを使用して、単一のリージョンで使用するのと同じシンプルなアーキテクチャでマルチリージョンアプリケーションを構築し、世界中のどこでもこれらのアプリケーションを実行することができます。マルチリージョンのアクセスポイントは、パブリックインターネット経由でリクエストを送信する代わりに、Amazon S3 へのインターネットベースのリクエストを高速化する組み込みのネットワーク耐障害性を実現します。詳細については、「マルチリージョンアクセスポイントを使用したマルチリージョントラフィックの管理」を参照してください。

  • Secure Shell (SSH) File Transfer プロトコル (SFTP) — インターネット経由で機密データを安全に転送する場合は、Amazon S3 汎用バケットで SFTP 対応サーバーを使用できます。AWS SFTP は、SSH のセキュリティおよび認証機能を完全にサポートするネットワークプロトコルです。このプロトコルでは、ユーザー ID、権限、キーをきめ細かく制御したり、IAM ポリシーを使用してアクセスを管理したりできます。SFTP 対応サーバーを Amazon S3 バケットに関連付けるには、まず SFTP 対応サーバーを作成してください。次に、ユーザーアカウントを設定し、サーバーを Amazon S3 汎用バケットに関連付けます。このプロセスのウォークスルーについては、「AWS ブログ」の「AWS Transfer for SFTP – Amazon S3 用のフルマネージド SFTP サービス」を参照してください。

Amazon S3 コンソール

コンソールは、Amazon S3 と AWS リソースを管理するためのウェブベースのユーザーインターフェイスです。Amazon S3 コンソールでは、バケットに簡単にアクセスしてバケットのプロパティを変更できます。コンソール UI を使用すると、コードを記述することなく、ほとんどのバケットオペレーションを実行することもできます。

AWS アカウント にサインアップ済みの場合は、Amazon S3 コンソールにサインインし、そのホームページで [S3] を選択することで、Amazon S3 コンソールにアクセスできます。こちらのリンク (https://console.aws.amazon.com/s3/) を使用して直接アクセスすることもできます。

AWS CLI

AWS CLI を使用すると、コマンドを発行したり、システムのコマンドラインでスクリプトを作成したりして、AWS (S3 を含む) のタスクを実行できます。例えば、複数のバケットにアクセスする必要がある場合は、AWS CLI を使用して一般的で反復的なタスクを自動化することで時間を節約できます。組織の規模が拡大するにつれて、一般的なアクションのスクリプト作成性と再現性が頻繁に検討されます。

AWS CLI は、幅広い AWS のサービスのセットに対するコマンドを提供しています。AWS CLI は、Windows、macOS、Linux でサポートされています。使用を開始するには、「 AWS Command Line Interfaceユーザーガイド」を参照してください。Amazon S3 用コマンドの詳細については、AWS CLIコマンドリファレンスの s3api および s3control を参照してください。

AWS SDK

AWS には、さまざまなプログラミング言語およびプラットフォーム (Java、Python、Ruby、.NET、iOS、Android など) のライブラリとサンプルコードで構成された SDK (ソフトウェア開発キット) が用意されています。AWS SDK は、S3 や AWS へのプログラムによるアクセスを作成するのに役立ちます。Amazon S3 は REST サービスです。AWS SDK ライブラリを使用して Amazon S3 にリクエストを送信できます。これは、基盤となる Amazon S3 REST API をラップし、プログラミングタスクを簡素化します。例えば、SDK は署名の計算、リクエストの暗号化による署名、エラーの管理、リクエストの自動再試行などのタスクを処理します。AWS SDK のダウンロードやインストールなどの詳細については、「AWS のツール」を参照してください。

Amazon S3 とのすべてのやり取りは認証されるか匿名で行われます。AWS SDK を使用している場合、指定したキーから、ライブラリによって認証のための署名が計算されます。Amazon S3 へのリクエストの作成方法の詳細については、「Making requests」を参照してください。

Amazon S3 REST API

Amazon S3 は、プログラミング言語に依存しないアーキテクチャとして設計されており、AWS がサポートされているインターフェイスを使用してオブジェクトを保存、取得します。Amazon S3 REST API を使用して、プログラムによって S3 や AWS にアクセスすることができます。REST API は、Amazon S3 に対する HTTP インターフェイスです。REST API では、標準 HTTP リクエストを使用してバケットとオブジェクトを作成、取得、削除できます。

REST API を使用する場合、HTTP をサポートする任意のツールキットを使用できます。匿名で読み取り可能なオブジェクトであれば、ブラウザを使用して取得することもできます。

REST API は標準の HTTP ヘッダーとステータスコードを使用するため、標準のブラウザとツールキットが予期したとおりに機能します。一部のエリアでは、HTTP に機能が追加されています (たとえば、アクセスコントロールをサポートするヘッダーを追加しました)。このように新機能を追加する場合、できるだけ標準 HTTP 書式の使用法に合致するように最善を尽くしました。

ただし、アプリケーションで直接 REST API を呼び出す場合、署名を計算するコードを作成し、それをリクエストに追加する必要があります。Amazon S3 にリクエストを行う方法の詳細については、「Amazon S3 リファレンス」の「Making requests」を参照してください。