S3 - toge510/aws GitHub Wiki
- Amazon Simple Storage Service (Amazon S3)
- スケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービス。
- S3はリージョン単位。VPC外。
アクセス許可
ユーザーポリシー
- IAMユーザーに対するS3へのアクセス権限を設定
バケットポリシー
- Amazon S3 バケットとその中のオブジェクトへのアクセス許可を付与できるリソースベースのポリシー。
- プリンシパル(アカウント、ユーザー、ロール、サービスなど)に、Resourceに対するActionのEffect(allow)を設定できる。
例)ユーザーの Dave に、s3:GetObject バケットに対する Amazon S3 の s3:GetBucketLocation、s3:ListBucket、awsexamplebucket1 のアクセス許可を付与する。
{
"Version": "2012-10-17",
"Id": "ExamplePolicy01",
"Statement": [
{
"Sid": "ExampleStatement01",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/Dave"
},
"Action": [
"s3:GetObject",
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::awsexamplebucket1/*",
"arn:aws:s3:::awsexamplebucket1"
]
}
]
}
ACL
- バケットとオブジェクトへのアクセスを管理するために使用。
- オブジェクトに個別に設定可能。
- アクセス許可を付与できるのは他の AWS アカウント だけで、自分のアカウントのユーザーには付与できない。
アクセスポイント
- バケットにアタッチされた名前付きのネットワークエンドポイントで、S3 オブジェクトのオペレーション (GetObject や PutObject など) を実行するために使用できる。
署名付きURL
- オブジェクトの所有者は、署名付き URL を作成することで、他のユーザーとオブジェクトを共有できる。
- パブリックアクセスブロック状態でも、共有可能。
バケットのバージョニング
- Multi-Factor Authentication (MFA) を設定して、オブジェクトバージョンを完全に削除するために多要素認証を追加することが可能。
ストレージクラス
- Amazon S3 Glacier ストレージクラスは、データアーカイブ専用に設計されており、クラウドで最高のパフォーマンス、最高の検索の柔軟性、最低のコストのアーカイブストレージを提供する。
- Intelligent-Tiering: データを最もコスト効率の高いアクセス層に自動的に移動させることで、ストレージコストを最適化するように設計。
モニタリング
サーバーアクセスログ
- バケットに対するリクエストの詳細が記録
CloudTrail
- ユーザーやロール、または Amazon S3 の AWS のサービスによって実行されたアクションを記録する
静的ウェブサイトをホスティング
- S3で静的ウェブサイトをホストできる。
- 安価
※ 独自のドメイン名でアクセスできる(Route53を使う).
※ HTTPSでのアクセスが可能(CloudFrontを使う)