Amazon S3 の開始方法
Amazon S3 は、バケットとオブジェクトを操作することで、使用を開始できます。バケット とは、オブジェクトのコンテナのことです。オブジェクト とは、ファイルと、そのファイルを記述している任意のメタデータのことです。
Amazon S3 にオブジェクトを保存するには、バケットを作成し、そのバケットにオブジェクトをアップロードします。オブジェクトがバケットの中にあるときは、オブジェクトを開き、ダウンロードして、移動させます。オブジェクトまたはバケットが不要になったら、リソースをクリーンアップします。
Amazon S3 では、お支払いは実際に使用した分のみです。Amazon S3 の機能と料金の詳細については、「Amazon S3
注記
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「ディレクトリバケットと S3 Express One Zone」と「ディレクトリバケットの概要」を参照してください。
動画: Amazon S3 の開始方法
次の動画では、Amazon S3 の使用を開始する方法が紹介されています。
前提条件
開始する前に、必ず「Amazon S3 のセットアップ」の手順を完了させてください。
Amazon S3 のセットアップ
AWS にサインアップすると、Amazon S3 を含む AWS のすべてのサービスに対して AWS アカウント が自動的にサインアップされます。料金が発生するのは、実際に使用したサービスの分のみです。
Amazon S3 では、お支払いは実際に使用した分のみです。Amazon S3 の機能と料金の詳細については、「Amazon S3
Amazon S3 をセットアップするには、以下のセクションのステップを使用します。
AWS にサインアップして Amazon S3 をセットアップする際に、オプションで AWS Management Console の表示言語を変更できます。詳細については、AWS Management Console 開始方法のガイドの AWS Management Console の言語の変更を参照してください。
AWS アカウントへのサインアップ
AWS アカウント がない場合は、以下のステップを実行して作成します。
AWS アカウントにサインアップするには
オンラインの手順に従います。
サインアップ手順の一環として、通話呼び出しを受け取り、電話キーパッドで検証コードを入力するように求められます。
AWS アカウント にサインアップすると、AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべてのAWS のサービスとリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。
サインアップ処理が完了すると、AWS からユーザーに確認メールが送信されます。https://aws.amazon.com/
管理アクセスを持つユーザーを作成する
AWS アカウント にサインアップしたら、AWS アカウントのルートユーザー をセキュリティで保護し、AWS IAM Identity Center を有効にして、管理ユーザーを作成します。これにより、日常的なタスクにルートユーザーを使用しないようにします。
AWS アカウントのルートユーザーをセキュリティで保護する
-
ルートユーザー] を選択し、AWS アカウント のメールアドレスを入力して、アカウント所有者として AWS Management Console
にサインインします。次のページでパスワードを入力します。 ルートユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドのルートユーザーとしてサインインするを参照してください。
-
ルートユーザーの多要素認証 (MFA) を有効にします。
手順については、「IAM ユーザーガイド」のAWS アカウント のルートユーザーの仮想 MFA デバイスを有効にする (コンソール)を参照してください。
管理アクセスを持つユーザーを作成する
-
IAM アイデンティティセンターを有効にします。
手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Center の有効化」を参照してください。
-
IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。
IAM アイデンティティセンターディレクトリ をアイデンティティソースとして使用するチュートリアルについては、「AWS IAM Identity Center ユーザーガイド」の「デフォルト IAM アイデンティティセンターディレクトリを使用したユーザーアクセスの設定」を参照してください。
管理アクセス権を持つユーザーとしてサインインする
-
IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。
IAM Identity Center ユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドのAWS アクセスポータルにサインインするを参照してください。
追加のユーザーにアクセス権を割り当てる
ステップ 1: 最初の S3 バケットを作成する
AWS にサインアップしたら、AWS Management Console を使っていつでも Amazon S3 にバケットを作成できます。Amazon S3 のオブジェクトはすべてバケットに保管されます。Amazon S3 にデータを保管する前に、バケットを作成する必要があります。
注記
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「ディレクトリバケットと S3 Express One Zone」と「ディレクトリバケットの概要」を参照してください。
注記
バケットの作成は課金対象にはなりません。バケット内にオブジェクトを保存した場合、およびバケット宛てまたはバケットからオブジェクトを転送した場合にのみ課金されます。このガイドの例に従って操作して発生する使用料はごくわずかです (1 USD 未満)。ストレージ料金の詳細については、「Amazon S3 の料金
AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
ページ上部にあるナビゲーションバーで、現在表示されている AWS リージョン の名前をクリックします。次に、バケットを作成するリージョンを選択します。
注記
レイテンシーとコストを最小化するため、さらに規制条件に対応するために、最寄りのリージョンを選択します。明示的に別のリージョンに移動する場合を除き、特定のリージョンに保管されたオブジェクトは、そのリージョンから移動されることはありません。Amazon S3 AWS リージョン のリストについては、「Amazon Web Services 全般のリファレンス」の「AWS のサービス エンドポイント」を参照してください。
-
左側のナビゲーションペインで、[バケット] を選択します。
-
[Create bucket (バケットの作成)] を選択します。
[バケットの作成] ページが開きます。
-
[全般設定] で、バケットが作成される AWS リージョン を確認します。
-
[バケットタイプ] で、[汎用] を選択します。
-
[バケット名] にバケットの名前を入力します。
バケット名には次の条件があります。
-
パーティション内で一意にする必要があります。パーティションは、リージョンのグループです。AWS には、現在、
aws
(標準リージョン)、aws-cn
(中国リージョン)、およびaws-us-gov
(AWS GovCloud (US) Regions) の 3 つのパーティションがあります。 -
3~63 文字で指定する。
-
小文字、数字、ドット (.)、およびハイフン (-) のみで構成できます。互換性を最も高くするには、静的ウェブサイトホスティング専用のバケットを除き、バケット名にドット (.) を使用しないことをお勧めします。
-
文字や数字で始まり、文字や数字で終わります。
バケットを作成したら、その名前を変更することはできません。バケットを作成する AWS アカウント は、そのバケットを所有します。バケットの命名の詳細については、「バケットの名前付け」を参照してください。
重要
バケット名にアカウント番号などの機密情報を含めないでください。バケット名は、バケット内のオブジェクトを参照する URL に表示されます。
-
-
AWS Management Console では、既存のバケットの設定を新しいバケットにコピーできます。既存のバケットの設定をコピーしない場合は、次のステップにスキップします。
注記
このオプションの特徴:
AWS CLI では使用できません。コンソールでのみ利用できます。
ディレクトリバケットには利用できません。
バケットポリシーは既存のバケットから新しいバケットにコピーしません。
既存のバケットの設定をコピーするには、[既存のバケットから設定をコピー] で [バケットを選択] をクリックします。[バケットを選択] ウィンドウが開きます。コピーする設定を持つバケットを検索して、[バケットを選択] をクリックします。[バケットを選択] ウィンドウが閉じて、[バケットを作成] ウィンドウが再び開きます。
[既存のバケットから設定をコピー] に、選択したバケットの名前が表示されるようになります。コピーしたバケット設定を削除するための [デフォルトを復元] オプションも表示されます。[バケットを作成] ページで、バケットの残りの設定を確認します。ここで、選択したバケットの設定と一致していることを確認できます。最後のステップにスキップできます。
-
[オブジェクト所有者] で、ACL を無効または有効にし、バケットにアップロードされたオブジェクトの所有権を制御するには、次のいずれかの設定を選択します。
ACL は無効です
-
バケット所有者強制 (デフォルト) – ACL は無効になり、バケット所有者はバケット内のすべてのオブジェクトを自動的に所有し、完全に制御します。ACL は、S3 バケット内のデータに対するアクセス許可に対して影響を与えません。このバケットはアクセスコントロールを定義するためだけにポリシーを使用します。
デフォルトでは、ACL は無効になっています。Amazon S3 の最新のユースケースの大部分では ACL を使用する必要がなくなっています。オブジェクトごとに個別に制御する必要がある通常ではない状況を除き、ACL は無効にしておくことをお勧めします。詳細については、「オブジェクトの所有権の制御とバケットの ACL の無効化。」を参照してください。
ACL の有効化
-
希望するバケット所有者 — バケット所有者は、他のアカウントが
bucket-owner-full-control
既定 ACL でバケットに書き込む新しいオブジェクトを所有し、完全にコントロールできます。[バケット所有者を推奨] 設定を適用して、すべての Amazon S3 アップロードに
bucket-owner-full-control
既定 ACL を含めることを要求する場合は、この ACL を使用するオブジェクトアップロードのみを許可するバケットポリシーを追加できます。 -
オブジェクトライター — オブジェクトをアップロードする AWS アカウント は、そのオブジェクトを所有し、そのオブジェクトを完全にコントロールし、ACL を介して他のユーザーにそのオブジェクトへのアクセス権を付与できます。
注記
デフォルト設定は [バケット所有者の強制] です。デフォルト設定を適用して ACL を無効のままにするのに必要なのは、
s3:CreateBucket
アクセス許可のみです。ACL を有効にするためには、s3:PutBucketOwnershipControls
アクセス許可が必要です。 -
-
[このバケットのパブリックアクセスブロック設定] で、バケットに適用するブロックパブリックアクセス設定を選択します。
デフォルトでは、4 つすべての [パブリックアクセスをブロック] 設定が有効になっています。特定のユースケースでオフにする必要のある設定が 1 つ以上あることがわかっている場合を除き、すべての設定を有効にしておくことをお勧めします。ブロックパブリックアクセスの詳細については、Amazon S3 ストレージへのパブリックアクセスのブロック を参照してください。
注記
すべての [パブリックアクセスをブロック] 設定を有効にするのに必要なのは、
s3:CreateBucket
アクセス許可のみです。[パブリックアクセスをブロック] 設定をオフにするには、s3:PutBucketPublicAccessBlock
アクセス許可が必要です。 -
(オプション) [バケットのバージョニング] では、オブジェクトのバリアントをバケットに保持するかどうかを選択できます。バージョニングの詳細については、「S3 バージョニングによる複数のバージョンのオブジェクトの保持」を参照してください。
バケットのバージョニングを無効または有効にするには、[Disable] (無効化) または [Enable] (有効化) を選択します。
-
(オプション) [Tags] (タグ) では、バケットにタグを追加することを選択できます。タグは、ストレージの分類に使用されるキーと値のペアです。
(オプション) タグを追加するには、[キー] を入力してから、オプションの [値] を入力し、[タグの追加] を選択します。
-
[デフォルトの暗号化] で、[編集] を選択します。
-
デフォルトの暗号化を設定するには、[暗号化タイプ] で次のいずれかを選択します。
-
Amazon S3 マネージドキー (SSE-S3)
-
AWS Key Management Service キー (SSE-KMS)
重要
デフォルト暗号化設定に SSE-KMS オプションを使用する場合、AWS KMS の 1 秒あたりのリクエスト (RPS) 制限が適用されます。AWS KMS クォータの詳細およびクォータの引き上げをリクエストする方法については、「AWS Key Management Service デベロッパーガイド」の「クォータ」を参照してください。
バケットと新しいオブジェクトは、暗号化設定の基本レベルとして Amazon S3 マネージドキーを使用したサーバー側の暗号化で暗号化されます。デフォルトの暗号化の詳細については、「Amazon S3 バケット向けのサーバー側のデフォルトの暗号化動作の設定」を参照してください。
Amazon S3 のサーバー側の暗号化を使用してデータを暗号化する方法の詳細については、「Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)」を参照してください。
-
-
[AWS Key Management Service キー (SSE-KMS)] を選択した場合は、以下の操作を実行します。
-
[AWS KMS キー] で、次のいずれかの方法で KMS キーを指定します。
-
使用可能な KMS キーのリストから選択するには、[AWS KMS keys から選択する] を選択し、使用可能なキーのリストから自分の KMS キーを選択します。
AWS マネージドキー (
aws/s3
) とカスタマーマネージドキーの両方がこのリストに表示されます。カスタマーマネージドキーの詳細については、AWS Key Management Serviceデベロッパーガイドの「カスタマーキーと AWS キー」を参照してください。 -
KMS キー ARN を入力するには、[AWS KMS key ARN を入力] を選択し、表示されるフィールドに KMS キー ARN を入力します。
-
AWS KMS コンソールで新しいカスタマーマネージドキーを作成するには、[KMS キーを作成] を選択します。
AWS KMS key の作成の詳細については、「AWS Key Management Service デベロッパーガイド」の「キーの作成」を参照してください。
重要
バケットと同じ AWS リージョン で使用可能な KMS キーのみを使用できます。Amazon S3 コンソールには、バケットと同じリージョンで最初の 100 個の KMS キーしか表示されません。リストに存在しない KMS キーを使用するには、KMS キー ARN を入力する必要があります。別のアカウントが所有している KMS キーを使用する場合は、まずそのキーを使用するアクセス許可が必要であり、次に KMS キー ARN を入力する必要があります。KMS キーのクロスアカウント権限の詳細については、AWS Key Management Service デベロッパーガイドの「他のアカウントで使用できる KMS キーを作成する」を参照してください。SSE-KMS に関する詳細は、「AWS KMS (SSE−KMS) によるサーバー側の暗号化の指定」を参照してください。
Amazon S3 でサーバー側の暗号化に AWS KMS key を使用する場合は、対称暗号化 KMS キーを選択する必要があります。Amazon S3 では、対称暗号化 KMS キーのみがサポートされ、非対称暗号化 KMS キーはサポートされません。詳細については、AWS Key Management Service デベロッパーガイドの「Identifying symmetric and asymmetric KMS keys」(対称および非対称 KMS キーの識別) を参照してください。
AWS KMS key の作成の詳細については、AWS Key Management Service デベロッパーガイドのキーの作成を参照してください。Amazon S3 での AWS KMS の使用に関する詳細は、「AWS KMS キーによるサーバー側の暗号化 (SSE-KMS) の使用」を参照してください。
-
-
SSE-KMS でデフォルトの暗号化を使用するようにバケットを設定する場合は、S3 バケットキーを有効にすることもできます。S3 バケットキーは、Amazon S3 から AWS KMS へのリクエストトラフィックを減らし、暗号化のコストを削減します。詳細については、「Amazon S3 バケットキーを使用した SSE−KMS のコストの削減」を参照してください。
S3 バケットキーを使用するには、[バケットキー] で [有効化] を選択します。
-
-
(オプション) S3 オブジェクトロックを有効にする場合は、次の手順に従います。
-
[詳細設定] を選択します。
重要
バケットに対してオブジェクトロックを有効にすると、バージョニングも有効になります。有効にした後、オブジェクトロックのデフォルト保持設定およびリーガルホールド設定を指定し、新しいオブジェクトを削除または上書きしないようにする必要があります。
-
オブジェクトロックを有効にする場合は、[Enable] (有効化) を選択し、表示される警告を読んだうえで承認します。
詳細については、「S3 Object Lock を使用したオブジェクトのロック」を参照してください。
注記
オブジェクトロックが有効なバケットを作成するには、
s3:CreateBucket
、s3:PutBucketVersioning
およびs3:PutBucketObjectLockConfiguration
の許可が必要です。 -
-
[Create bucket] (バケットの作成) をクリックします。
Amazon S3 にバケットが作成されました。
次のステップ
オブジェクトをバケットに追加するには、「ステップ 2: バケットにオブジェクトをアップロードする」を参照してください。
ステップ 2: バケットにオブジェクトをアップロードする
Amazon S3 でバケットを作成すると、オブジェクトをバケットにアップロードする準備が整います。オブジェクトは、テキストファイル、写真、ビデオなど、どのような種類のファイルでも可能です。
注記
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「ディレクトリバケットと S3 Express One Zone」と「ディレクトリバケットの概要」を参照してください。
オブジェクトをバケットにアップロードするには
https://console.aws.amazon.com/s3/
で Amazon S3 コンソールを開きます。 -
[Buckets (バケット)] リストで、オブジェクトのアップロード先のバケットの名前を選択します。
-
バケットの [オブジェクト] タブで、[アップロード] を選択します。
-
[Files and Folders (ファイルとフォルダ)] で、[Add files (ファイルを追加)] を選択します。
-
アップロードするファイルを選択し、続いて [オープン] を選択します。
-
[アップロード] を選択します。
オブジェクトがバケットに正常にアップロードされました。
次のステップ
オブジェクトを表示するには、「ステップ 3: オブジェクトをダウンロードする」を参照してください。
ステップ 3: オブジェクトをダウンロードする
バケットにオブジェクトをアップロード後、オブジェクトに関する情報を表示し、ローカルコンピュータにそのオブジェクトをダウンロードできます。
注記
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「ディレクトリバケットと S3 Express One Zone」と「ディレクトリバケットの概要」を参照してください。
S3 コンソールの使用
このセクションでは、Amazon S3 コンソールを使用して S3 バケットからオブジェクトをダウンロードする方法について説明します。
注記
-
一度にダウンロードできるオブジェクトは 1 つだけです。
-
Amazon S3 コンソールを使用して、キー名がピリオド (
.
) で終わるオブジェクトをダウンロードすると、ダウンロードしたオブジェクトのキー名からピリオドが削除されます。ダウンロードしたオブジェクトの名前の末尾のピリオドを保持するには、AWS Command Line Interface (AWS CLI)、AWS SDK、または Amazon S3 REST API を使用する必要があります。
S3 バケットからオブジェクトをダウンロードするには
-
AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
[Buckets] (バケット) リストで、オブジェクトのダウンロード元になるバケット名を選択します。
-
次のいずれかの方法で、S3 バケットからオブジェクトをダウンロードできます。
-
オブジェクトの横にあるチェックボックスを選択し、[ダウンロード] を選択します。オブジェクトを特定のフォルダにダウンロードする場合は、[アクション] メニューの [名前を付けてダウンロード] を選択します。
-
オブジェクトの特定のバージョンをダウンロードする場合は、[バージョンの表示] ボタンを選択します。目的のオブジェクトのバージョンの横にあるチェックボックスをオンにして、[ダウンロード] を選択します。オブジェクトを特定のフォルダにダウンロードする場合は、[アクション] メニューの [名前を付けてダウンロード] を選択します。
-
オブジェクトが正常にダウンロードされました。
次のステップ
Amazon S3 内でオブジェクトをコピーして貼り付ける方法については、「ステップ 4: オブジェクトをフォルダにコピーする」を参照してください。
ステップ 4: オブジェクトをフォルダにコピーする
バケットにオブジェクトを追加し、そのオブジェクトをダウンロードできました。ここで、フォルダを作成し、オブジェクトをコピーしてフォルダに貼り付けます。
注記
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「ディレクトリバケットと S3 Express One Zone」と「ディレクトリバケットの概要」を参照してください。
オブジェクトをフォルダにコピーするには
-
[Buckets] (バケット) リストで、バケット名を選択します。
-
[Create folder] (フォルダの作成) を選択して、新しいフォルダを設定します。
-
フォルダ名 (
favorite-pics
など) を入力します。 -
暗号化設定フォルダでは、[Disable] (無効) を選択します。
-
[Save] (保存) を選択します。
-
-
コピーするオブジェクトを含む Amazon S3 バケットまたはフォルダに移動します。
-
コピーするオブジェクトの名前の左にあるチェックボックスをオンにします。
-
[Actions (アクション)] を選択し、表示されるオプションのリストから [Copy (コピー)] を選択します。
または、右上のオプションから [Copy (コピー)] を選択します。
-
コピー先フォルダを選択します。
-
[S3 を参照] を選択します。
-
フォルダ名の左にあるオプションボタンを選択します。
フォルダ内に移動し、コピー先としてサブフォルダを選択するには、フォルダ名を選択します。
-
[コピー先の選択] を選択します。
コピー先フォルダへのパスが [コピー先] ボックスに表示されます。[コピー先] には、s3://
bucket-name
/folder-name
/ などコピー先のパスを入力してもかまいません。 -
-
右下の [コピー] を選択します。
Amazon S3 によってオブジェクトが送信先フォルダにコピーされます。
次のステップ
Amazon S3 でオブジェクトとバケットを削除するときは、「ステップ 5: オブジェクトとバケットを削除する」を参照してください。
ステップ 5: オブジェクトとバケットを削除する
オブジェクトまたはバケットが不要になった場合は、それ以上の料金が発生しないように、オブジェクトまたはバケットを削除することをお勧めします。この開始方法のチュートリアルを演習として完了し、バケットまたはオブジェクトを使用する予定がないときは、料金が発生しないようにするため、バケットを削除することをお勧めします。
バケットを削除する前に、バケットを空にするか、バケット内のオブジェクトを削除します。オブジェクトとバケットを削除すると、それらは使用できなくなります。
引き続き同じバケット名を使用したいときは、オブジェクトを削除するか、バケットを空にすることをお勧めします。ただし、バケットは削除しないでください。バケットを削除すると、その名前は再利用できるようになります。ただし、バケットを再利用する前に、別の AWS アカウント で同じ名前のバケットが作成される可能性があります。
注記
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「ディレクトリバケットと S3 Express One Zone」と「ディレクトリバケットの概要」を参照してください。
オブジェクトの削除
バケットからすべてのオブジェクトを空にせずに、削除するオブジェクトを選択する場合は、オブジェクトを削除できます。
-
[Buckets (バケット)] リストで、オブジェクトを削除するバケットの名前を選択します。
-
削除するオブジェクトを選択します。
-
または、右上のオプションから [削除] を選択します。
-
[オブジェクトの削除] ページで、
delete
を入力して、オブジェクトの削除を確認します。 -
[オブジェクトの削除] を選択します。
バケットを空にする
バケットを削除する場合は、まずバケットを空にする必要があります。これにより、バケット内のすべてのオブジェクトが削除されます。
バケットを空にするには
-
[Buckets (バケット)] リストで、空にするバケットを選択し、[Empty (空にする)] を選択します。
-
バケットを空にして、バケット内のすべてのオブジェクトを削除することを確認するには、[Empty bucket] (バケットを空にする) で
permanently delete
を入力します。重要
バケットを空にすると、元に戻すことはできません。バケットを空にするアクションの実行中にバケットに追加されたオブジェクトは削除されます。
-
バケットを空にしてバケット内のすべてのオブジェクトを削除するには、[Empty (空にする)] を選択します。
[Empty bucket: Status (バケットを空にする: ステータス)] ページが開き、失敗したオブジェクトの削除と成功したオブジェクトの削除の概要を確認できます。
-
バケットリストに戻るには、[Exit (終了)] を選択します。
バケットの削除
バケットを空にするか、バケットからすべてのオブジェクトを削除した後、バケットを削除できます。
-
バケットを削除するには、[Buckets (バケット)] リストでバケットを選択します。
-
[削除] を選択します。
-
削除を確認するには、[Delete bucket ](バケットの削除) でバケットの名前を入力します。
重要
バケットを削除すると、元に戻すことはできません。バケット名は一意です。バケットを削除すると、別の AWS ユーザーがその名前を使用できます。同じバケット名を引き続き使用する場合は、バケットを削除しないでください。代わりに、バケットを空にして保管しておきます。
-
バケットを削除するには、[Delete bucket (バケットの削除)] を選択します。
次のステップ
上記の例で、いくつかの基本的な Amazon S3 のタスクをどのように実行するかを学びました。
次のトピックでは、Amazon S3 をより深く理解して、アプリケーションに実装できるようにするために使用できるラーニングパスについて説明します。
注記
Amazon S3 Express One Zone ストレージクラスをディレクトリバケットで使用する方法の詳細については、「ディレクトリバケットと S3 Express One Zone」と「ディレクトリバケットの概要」を参照してください。
トピック
一般的なユースケースを理解する
Amazon S3 を使用して、お客様固有のユースケースをサポートすることができます。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 を使用する場合の特定のケースの詳細については、「Amazon S3 用 Identity and Access Management」を参照してください。
-
S3 オブジェクト所有権 - バケット内のすべてのオブジェクトの所有権を取得し、Amazon S3 に保存されているデータのアクセス管理を簡素化します。S3 オブジェクト所有権は、Amazon S3 バケットレベルの設定で、ACL を無効または有効にするのに使用できます。デフォルトでは、ACL は無効になっています。ACL を無効にすると、バケット所有者はバケット内のすべてのオブジェクトを所有し、アクセス管理ポリシーのみを使用してデータへのアクセスを管理します。
-
IAM Access Analyzer for S3 – S3 バケットアクセスポリシーを評価およびモニタリングし、ポリシーが S3 リソースへの意図したアクセスのみを提供することを確認します。
ストレージの保護とモニタリング
-
ストレージの保護 – Amazon S3 でバケットを作成してオブジェクトをアップロードすると、オブジェクトストレージを保護できるようになります。例えば、ディザスタリカバリには S3 バージョニング、S3 レプリケーション、マルチリージョンアクセスポイントのフェイルオーバーコントロールを使用し、データのバックアップには AWS Backup を使用し、保持期間の設定、削除や上書きの防止、コンプライアンス要件ヘの準拠には S3 Object Lock を使用できます。
-
ストレージのモニタリング – モニタリングは、Amazon S3 および AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な部分です。ストレージのアクティビティとコストを監視できます。また、マルチポイント障害が発生した場合は、その障害をより簡単にデバッグできるように、AWS ソリューションのすべての部分からモニタリングデータを収集することをお勧めします。
また、Amazon S3 の分析とインサイトを使用して、ストレージの使用状況を把握、分析、最適化することができます。例えば、Amazon S3 Storage Lens を使用して、ストレージの把握、分析、最適化を行います。S3 Storage Lens には、組織全体、特定のアカウント、リージョン、バケット、またはプレフィックスのデータを集約するための 29 以上の使用状況およびアクティビティに関するメトリクスとインタラクティブなダッシュボードが用意されています。ストレージクラス分析を使用してストレージアクセスパターンを分析し、データをよりコスト効率の高いストレージクラスに移動するタイミングを決定します。コストを管理するには、S3 ライフサイクルを使用できます。
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 API リファレンス」の「リクエストの実行」を参照してください。
Amazon S3 REST API は、Amazon S3 に対する HTTP インターフェイスです。REST API を使用すると、標準 HTTP リクエストを使用してバケットとオブジェクトを作成、取得、および削除することができます。REST API を使用する場合、HTTP をサポートする任意のツールキットを使用できます。匿名で読み取り可能なオブジェクトであれば、ブラウザを使用して取得することもできます。詳細については、「Amazon S3 API リファレンス」の「Amazon S3 での開発」を参照してください。
お客様が選択した言語を使用してアプリケーションを構築できるよう、以下のリソースを提供しています。
AWS CLI
AWS CLI を使用して、Amazon S3 の機能にアクセスできます。AWS CLI をダウンロードして設定するには、「Amazon S3 API リファレンス」の「AWS CLI を使用した Amazon S3 での開発」を参照してください。
AWS CLI は Amazon S3 にアクセスするための 2 つの階層のコマンドとして、高レベル (s3) コマンドと APIレベル (s3api および s3control
) コマンドを提供しています。高レベル S3 コマンドは、オブジェクトおよびバケットの作成、操作、削除など、一般的なタスクの実行を簡素化します。s3api および s3control コマンドは、すべての Amazon S3 API オペレーションへの直接アクセスを提供します。これにより、高レベルコマンドだけでは不可能なアドバンスドオペレーションを実行することができます。
Amazon S3 AWS CLI コマンドのリストについては、s3
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 ツールキットとしてバンドルされて提供されます。
詳細については、「Amazon S3 API リファレンス」の「AWS SDK を使用した Amazon S3 での開発」を参照してください。
サンプルコードおよびライブラリ
AWS デベロッパーセンター
チュートリアルから学ぶ
ステップバイステップのチュートリアルを開始して、Amazon S3 の詳細について学びます。これらのチュートリアルはラボ型環境向けであり、架空の企業名やユーザー名などを使用しています。目的は、一般的なガイダンスを提供することです。お客様の組織環境に固有のニーズを満たすかどうかの十分な確認や調整をすることなく、本番環境で直接使用するためのものではありません。
使用開始
ストレージコストの最適化
ストレージの管理
動画とウェブサイトのホスティング
データの処理
データの保護
トレーニングとサポートを見る
AWS のエキスパートから学び、スキルを向上させ、目的を達成するためにエキスパートの支援を受けることができます。
-
トレーニング – トレーニングリソースは、Amazon S3 を学習するための実践的なアプローチです。詳細については、「AWS トレーニングと認定」
および「AWS オンラインテクニカルトーク」 を参照してください。 -
ディスカッションフォーラム – フォーラムでは、投稿を確認して、Amazon S3 で何ができるのか、何ができないのかを理解することができます。質問を投稿することもできます。詳細については、「ディスカッションフォーラム
」を参照してください。 -
技術サポート – さらにご質問がある場合は、技術サポート
までご連絡ください。