0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS S3

Posted at

はじめに

AWSのストレージサービスの一つ、AWS S3 についての備忘録。

AWSのストレージサービスについて

サービス名 略称 ストレージタイプ 説明 コスト(1GBあたり/月) 備考
Elastic Block Store EBS ブロックストレージ EC2にアタッチするためのボリューム。 凡用:0.12USD
コールドHDD:0.03USD
Elastic File System EFS ファイルストレージ ファイル共有サービス。VPCに対してファイルシステムを構築し、AZごとにサブネットに対してマウントさせる。 標準:0.36USD
低頻度アクセス:0.0272USD
EFSの標準がストレージの中で最も費用が高い。
Simple Storage Service S3 オブジェクトストレージ データをオブジェクト単位で読み書きする。エンドポイントが作られるので、HTTPSなどでアクセスできる。 S3 を参照

S3

用語

名称 説明 容量
バケット オブジェクトの格納場所。
バケット名はグローバルでユニークにする必要がある。
無制限。自動で拡張される。
オブジェクト S3に格納されるファイル形式。
オブジェクトごとにURLが発行される。
バケット内に保存可能なオブジェクト数は無制限。
1オブジェクトあたりのサイズは5TBまで。

ストレージタイプ

ストレージタイプ 説明 耐久性 可用性 コスト(1GBあたり/月) 備考
STANDARD 頻繁に利用且つ大量のデータ保存向け。 99.999999999% 99.99% 0.025USD ※耐久性:データ損失リスクの指標。
STANDARD-IA 低頻度アクセス用。
STANDARDよりも安価だが、ONE ZONE-IAよりは高い。
99.999999999% 99.9% 0.019USD ※IA:Infrequent Access
ONE ZONE-IA 低頻度アクセス用。
Multi AZではないため、クリティカルではないデータ向け。
STANDARD-IAよりも安価。
99.999999999% 99.5% 0.0152USD
Glacier アーカイブ用。
バックアップなどのデータ向け。
データの取り出しに時間がかかる。
ユースケースとして、30日や90日経過したらGlacierに移行してアーカイブするといった設定が可能。
99.999999999% N/A 0.005USD 標準抽出:3〜5時間
迅速抽出:2〜5分
Glacier Deep Archive アーカイブ用。
Glacierよりも安価だが、抽出にさらに時間がかかる。(12時間以内)
99.999999999% N/A 0.002USD
Intelligent Tiering アクセスパターンに基づいてコスト効率の高いストレージ階層に自動で移動してくれる機能。
アクセスが多いファイルはSTANDARDに、アクセスが少ないファイルはSTANDARD-IAに自動で振り分けられる。
99.999999999% 99.99% STANDARD と STANDARD-IA の組み合わせ アクセス頻度がわからない場合に設定することで、コストの最適化ができる。

ライフサイクル設定

別ストレージタイプへの移行可否(○/×) STANDARD STANDARD-IA Intelligent Tiering ONE ZONE-IA Glacier Glacier Deep Archive
STANDARD -
STANDARD-IA × -
Intelligent Tiering × × -
ONE ZONE-IA × × × -
Glacier × × × × -
Glacier Deep Archive × × × × × -

アクセス管理

管理方法 説明
IAM ポリシー 内部のIAMユーザーやリソースに対しての権限管理。
S3 バケットポリシー 外部も含めたアクセス権限管理。
ACL(アクセスコントロールリスト) オブジェクト単位でのアクセス権限管理。
Presigned URL(事前著名付きURL) 第三者にオブジェクトのURLを閲覧させる際に利用。
CLIやSDKで期限付きのURLを発行できる。

オブジェクトのアップロードと公開

|No.|操作|備考|
|---|---|---|---|
|1|バケットを作成|バケット名はグローバルでユニークにする|
|2|フォルダを作成||
|3|ファイルをアップロード||
|4|オブジェクトを公開する|オブジェクトアクション > 公開する|
|5|バケットのブロックパブリックアクセスをオフにする|バケット > アクセス許可 > ブロックパブリックアクセス (バケット設定)|

バケットのバージョニング

 - バケット > プロパティ から設定
 - 同じファイルを更新してアップロード → バージョン管理ができる
 - 更新してアップロードしたオブジェクトは、再度公開する必要がある
 - 削除バージョンを削除することで、削除を取り消せる
スクリーンショット_2021-02-28_23_31_09(3).png

Intelligent-Tiering Archive

プロパティ > Intelligent-Tiering Archive 設定

Intelligent-Tiering: STANDARD, STANDARD-IA
Intelligent-Tiering Archive: Archive Access(Glacier), Deep Archive Access(Glacier Deep Archive)
screencapture-s3-console-aws-amazon-s3-bucket-test-202102282323-property-int-tiering-config-create-2021-02-28-23_43_12-2.png

イベント通知

プロパティ > イベント通知

S3のアクションをトリガーに以下サービスに連携できる。
 - Lambda
 - SNS
 - SQS

ユースケースとしては、
オブジェクトがアップロードされたら、LambdaでファイルのメタデータをDBへ保存や、
オブジェクトが削除されたら、SNSでメール通知など。

静的ウェブサイトホスティング

S3を静的ウェブサイトとして使用したい時の設定。

|No.|操作|備考|
|---|---|---|---|
|1|プロパティ > 静的ウェブサイトホスティング||
|2|index.html と error.html を作成||
|3|No.2のファイルをアップロード||
|4|バケットポリシーを編集||

バケットポリシー例
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "任意の文字列",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "バケットARN/*"
        }
    ]
}
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?