Amazon S3 バケットに対するアクセスと一覧表示 - Amazon Simple Storage Service

Amazon S3 バケットに対するアクセスと一覧表示

Amazon S3 バケットを一覧表示してアクセスするには、さまざまなツールを使用できます。以下のツールを確認して、どのアプローチが自分のユースケースに合っているかを判断してください。

  • Amazon S3 コンソール: Amazon S3 コンソールを使用すると、バケットに簡単にアクセスしてバケットのプロパティを変更できます。コンソール UI を使用すると、コードを記述することなく、ほとんどのバケットオペレーションを実行することもできます。

  • AWS CLI: 複数のバケットにアクセスする必要がある場合は、AWS Command Line Interface (AWS CLI) を使用して、一般的で反復的なタスクを自動化することで時間を節約できます。組織の規模が拡大するにつれて、一般的なアクションのスクリプト作成性と再現性が頻繁に検討されます。詳細については、「AWS CLI を使用した Amazon S3 での開発」を参照してください。

  • Amazon S3 REST API: Amazon S3 REST API を使用して独自のプログラムを作成したり、プログラムでバケットにアクセスしたりできます。Amazon S3 は、API アーキテクチャをサポートします。このアーキテクチャでは、バケットやオブジェクトはリソースであり、それぞれリソースを一意に識別するリソース URI を持ちます。詳細については、「REST API を使用した Amazon 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 つの大きなバケットポリシーを個別のアクセスポイントポリシーに分割できます。このアプローチにより、共有データセット内で他のアプリケーションが実行中の操作を中断することなく、アプリケーションに適したアクセスポリシーの構築に集中しやすくなります。詳細については、「Amazon S3 アクセスポイントを使用したデータアクセスの管理」を参照してください。

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

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

  • 新しいアプリケーションの構築 -Amazon S3 でのアプリケーション開発に SDK を使用できます。AWS SDK は、基盤となる Amazon S3 REST API をラップして、プログラミング作業を簡素化します。接続されるモバイルおよびウェブアプリケーションを構築するには、AWS Mobile SDK と AWS Amplify JavaScript ライブラリを使用することができます。詳細については、「AWS SDK およびエクスプローラーを使用して Amazon S3 で開発する」を参照してください。

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

バケットの一覧表示

すべてのバケットを一覧表示するには、s3:ListAllMyBuckets 権限が必要です。バケットにアクセスするには、指定したバケットの内容を一覧表示するために必要な AWS Identity and Access Management (IAM) 権限も必ず取得してください。S3 バケットにアクセス権限を付与するバケットページ例については、「バケット の 1 つへのアクセスを IAM ユーザーに許可する」を参照してください。「HTTP アクセスが拒否されました (403 Forbidden)」エラーが発生する場合は、「バケットポリシーと IAM ポリシー」を参照してください。

バケットは、Amazon S3 コンソール、AWS CLI、または AWS SDK を使って一覧表示できます。

  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左側のナビゲーションペインで、[バケット] を選択します。

  3. [バケット] リストで、表示するバケットを選択します。

AWS CLI を使用して S3 バケットにアクセスしたり、S3 バケットのリストを生成したりするには、ls コマンドを使用します。バケット内のすべてのオブジェクトを一覧表示するときは、s3:ListBucket 権限が必要であることに注意してください。

このコマンド例を使用するには、DOC-EXAMPLE-BUCKET1 をバケットの名前に置き換えます。

$ aws s3 ls s3://DOC-EXAMPLE-BUCKET1

次のコマンド例では、アカウントのすべての Amazon S3 バケットを一覧表示しています。

$ aws s3 ls

詳細および例については、「バケットおよびオブジェクトを一覧表示する」を参照してください。

ListBuckets API オペレーションを使用して、Amazon S3 バケットにアクセスすることもできます。このオペレーションをさまざまな AWS SDK で使用する方法の例については、「AWS SDK を使用して Amazon S3 バケットを一覧表示する」を参照してください。