次のステップ - Amazon Simple Storage Service

次のステップ

上記の例で、いくつかの基本的な Amazon S3 のタスクをどのように実行するかを学びました。

次のトピックでは、Amazon S3 をより深く理解して、アプリケーションに実装できるようにするために使用できるラーニングパスについて説明します。

注記

Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「S3 Express One Zone とは」と「ディレクトリバケット」を参照してください。

一般的なユースケースを理解する

Amazon S3 を使用して、お客様固有のユースケースをサポートすることができます。AWSソリューションライブラリおよびAWS ブログは、ユースケース固有の情報とチュートリアルを提供します。Amazon S3 の一般的ユースケースは以下のとおりです。

  • バックアップおよびストレージ – Amazon S3 の ストレージ管理機能を使用して、コストの管理、規制要件への対応、レイテンシーの短縮、コンプライアンス要件のためのデータの複数の異なるコピーの保存を行います。

  • アプリケーションホスティング – 信頼性と拡張性が高く、低コストのウェブアプリケーションをデプロイ、インストール、管理できます。例えば、静的ウェブサイトホスティング用に Amazon S3 バケット を設定することができます。詳細については、「Amazon S3 を使用して静的ウェブサイトをホスティングする」を参照してください。

  • メディアホスティング – 動画、写真、音楽のアップロードとダウンロードをホスティングし、高い可用性を備えるインフラストラクチャを構築します。

  • ソフトウェア配信 – 顧客がダウンロードできるソフトウェアアプリケーションをホスティングします。

バケットとオブジェクトへのアクセスをコントロール

Amazon S3 には、さまざまなセキュリティ機能とツールが用意されています。概要については、「アクセスコントロールのベストプラクティス」を参照してください。

デフォルトでは、S3 バケットとオブジェクトはプライベートです。作成した S3 リソースにのみアクセスできます。以下の機能を使用して、特定のユースケースをサポートする詳細なリソース許可を付与したり、Amazon S3 リソースの許可を監査したりできます。

  • S3 パブリックアクセスをブロック – S3 バケットおよびオブジェクトへのパブリックアクセスをブロックします。デフォルトでは、[パブリックアクセスをブロック] 設定はバケットレベルで有効になっています。

  • AWS Identity and Access Management (IAM) ID — IAM または AWS IAM Identity Center を使用して AWS アカウントで IAM ID を作成し、Amazon S3 のリソースへのアクセスを管理します。例えば、Amazon S3 で IAM を使用して、AWS アカウント が所有する Amazon S3 バケットの特定の部分に対するユーザーまたはユーザーグループのアクセス権のタイプをコントロールすることができます。IAM ID およびベストプラクティスの詳細については、IAM ユーザーガイドの「IAM ID (ユーザー、ユーザーグループ、ロール)」を参照してください。

  • バケットポリシー – IAM ベースのポリシー言語を使用して、S3 バケットとその中のオブジェクトに対するリソースベースの許可を設定します。

  • アクセスコントロールリスト (ACL) – 個々のバケットおよびオブジェクトに対する読み取りおよび書き込みの許可を、承認されたユーザーに付与します。原則として、アクセスコントロールには ACL ではなく S3 リソースベースのポリシー (バケットポリシーとアクセスポイントポリシー) または IAM ユーザーポリシーを使用することをお勧めします。ポリシーとは、よりシンプルで柔軟なアクセス制御のオプションです。バケットポリシーとアクセスポイントポリシーを使用すると、Amazon S3 リソースに対するすべてのリクエストに広く適用されるルールを定義できます。リソースベースのポリシーまたは IAM ユーザーポリシーの代わりに ACL を使用する場合の特定のケースの詳細については、「アクセスポリシーのガイドライン」を参照してください。

  • S3 オブジェクト所有権 - バケット内のすべてのオブジェクトの所有権を取得し、Amazon S3 に保存されているデータのアクセス管理を簡素化します。S3 オブジェクト所有権は、Amazon S3 バケットレベルの設定で、ACL を無効または有効にするのに使用できます。デフォルトでは、ACL は無効になっています。ACL を無効にすると、バケット所有者はバケット内のすべてのオブジェクトを所有し、アクセス管理ポリシーのみを使用してデータへのアクセスを管理します。

  • IAM Access Analyzer for S3 – S3 バケットアクセスポリシーを評価およびモニタリングし、ポリシーが S3 リソースへの意図したアクセスのみを提供することを確認します。

ストレージの管理と監視

  • ストレージの管理 – Amazon S3 でバケットを作成してオブジェクトをアップロードすると、オブジェクトストレージを管理できるようになります。例えば、災害対策に S3 バージョニングと S3 レプリケーション、ストレージコストを管理する S3 ライフサイクル、コンプライアンス要件を満たすために S3 オブジェクトロックを使用できます。

  • ストレージのモニタリング – モニタリングは、Amazon S3 および AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。ストレージのアクティビティとコストを監視できます。また、マルチポイント障害が発生した場合は、その障害をより簡単にデバッグできるように、AWS ソリューションのすべての部分からモニタリングデータを収集することをお勧めします。

  • Amazon S3 の分析とインサイト – Amazon S3 の分析とインサイトを使用して、ストレージの使用状況を把握、分析、最適化することができます。例えば、Amazon S3 Storage Lens を使用して、ストレージの把握、分析、最適化を行います。S3 Storage Lens には、組織全体、特定のアカウント、リージョン、バケット、またはプレフィックスのデータを集約するための 29 以上の使用状況およびアクティビティに関するメトリクスとインタラクティブなダッシュボードが用意されています。ストレージクラス分析を使用してストレージアクセスパターンを分析し、データをよりコスト効率の高いストレージクラスに移動するタイミングを決定します。

Amazon S3 を使用した開発

Amazon S3 は REST サービスです。REST API または、基礎となる Amazon S3 REST API をラップする AWS SDK ライブラリを使用して、Amazon S3 にリクエストを送信できます。これにより、プログラミング作業が簡易になります。また、AWS Command Line Interface (AWS CLI) を使用して、Amazon S3 API 呼び出しを行います。詳細については、「リクエストの実行」を参照してください。

Amazon S3 REST API は、Amazon S3 に対する HTTP インターフェイスです。REST API を使用すると、標準 HTTP リクエストを使用してバケットとオブジェクトを作成、取得、および削除することができます。REST API を使用する場合、HTTP をサポートする任意のツールキットを使用できます。匿名で読み取り可能なオブジェクトであれば、ブラウザを使用して取得することもできます。詳細については、「REST API を使用した Amazon S3 での開発」を参照してください。

お客様が選択した言語を使用してアプリケーションを構築できるよう、以下のリソースを提供しています。

AWS CLI

AWS CLI を使用して、Amazon S3 の機能にアクセスできます。AWS CLI をダウンロードして設定するには、AWS CLI を使用した Amazon S3 での開発 を参照してください。

AWS CLI は Amazon S3 にアクセスするための 2 つの階層のコマンドとして、高レベル (s3) コマンドと APIレベル (s3api および s3control) コマンドを提供しています。高レベル S3 コマンドは、オブジェクトおよびバケットの作成、操作、削除など、一般的なタスクの実行を簡素化します。s3api および s3control コマンドは、すべての Amazon S3 API オペレーションへの直接アクセスを提供します。これにより、高レベルコマンドだけでは不可能なアドバンスドオペレーションを実行することができます。

Amazon S3 AWS CLI コマンドのリストについては、s3s3api、および s3control を参照してください。

AWS SDK と Explorer

Amazon S3 でのアプリケーション開発に AWS SDK を使用できます。AWS SDK は、基盤となる REST API をラップして、プログラミング作業を簡素化します。AWS を使用して、接続されるモバイルおよびウェブアプリケーションを構築するために、AWS Mobile SDK と Amplify JavaScript ライブラリも用意されています。

AWS SDK に加え、Visual Studio および Eclipse for Java IDE で使用できる AWS Explorer も提供されています。この場合、SDK と Explorer が、AWS ツールキットとしてバンドルされて提供されます。

詳細については、「AWS SDK およびエクスプローラーを使用して Amazon S3 で開発する」を参照してください。

サンプルコードおよびライブラリ

AWS デベロッパーセンターおよびAWS サンプルコードカタログには、Amazon S3 用に特別に作成されたサンプルコードとライブラリが用意されています。これらのサンプルコードを、Amazon S3 API の実装方法を理解する教材としてご利用いただけます。また、Amazon Simple Storage Service API リファレンスを参照して、Amazon S3 API オペレーションについて詳しく理解してください。

チュートリアルから学ぶ

ステップバイステップのチュートリアルを開始して、Amazon S3 の詳細について学びます。これらのチュートリアルはラボ型環境向けであり、架空の企業名やユーザー名などを使用しています。目的は、一般的なガイダンスを提供することです。お客様の組織環境に固有のニーズを満たすかどうかの十分な確認や調整をすることなく、本番環境で直接使用するためのものではありません。

IAM の使用開始

ストレージコストの最適化

ストレージの管理

動画とウェブサイトのホスティング

データの処理

データの保護

トレーニングとサポートを見る

AWS のエキスパートから学び、スキルを向上させ、目的を達成するためにエキスパートの支援を受けることができます。

  • トレーニング – トレーニングリソースは、Amazon S3 を学習するための実践的なアプローチです。詳細については、「AWS トレーニングと認定」および「AWS オンラインテクニカルトーク」を参照してください。

  • ディスカッションフォーラム – フォーラムでは、投稿を確認して、Amazon S3 で何ができるのか、何ができないのかを理解することができます。質問を投稿することもできます。詳細については、「ディスカッションフォーラム」を参照してください。

  • 技術サポート – さらにご質問がある場合は、技術サポートまでご連絡ください。