S3の操作
バケットの作成や各種設定など、基本的なS3の操作はマネジメントコンソールのS3ダッシュボードから行う。
オブジェクト(ファイル)のアップロードもダッシュボードから行える。
しかし、S3の場合は、日常的なファイルのアップロードを毎度マネジメントコンソールにログインしてから行うのは不便なので、
APIやSDKを利用してアップロードできるようになっている。
また、AWS Transfer for SFTPによって、SFTP(SSHで暗号化されたファイル転送のプロトコル)でもアクセスできる。
APIとSDK
APIとはソフトウェアがやり取りするための仕様。
SDKとはある特定のソフトウェアを開発する際に必要なプログラムをまとめた開発ツール。
S3のマネジメントコンソールでできることは全て、APIやSDKで実行可能。
S3サービスの機能
S3サービスの用語
項目 | 内容 |
---|---|
オブジェクト | S3で扱うエンティティの単位。(イメージ)テキストや画像などのファイルのこと |
バケット | オブジェクトを格納されるコンテナ。全てのオブジェクトはバケットに格納される |
バケット名 | S3のバケットの名前は他のAWSユーザーも含めて、唯一無二の名前に設定する。Webサーバーとして使用する場合はドメイン名をバケット名にする |
オブジェクトキー | オブジェクトの識別子。全てのオブジェクトは必ず一つのキーを持つ。バケット・オブジェクトキー・バージョンの組み合わせによってオブジェクトを一意に識別する |
オブジェクトメタデータ | 名前と値のセットのこと。オブジェクトのアップロード時に設定できる。オブジェクトキーはS3がファイルを識別するためのデータだが、メタデータは人間がファイルを管理するためのデータ。 |
リージョン | バケットの物理的な保存場所にある地域 |
Amazon S3のデータ整合性モデル | S3では可用性を保つために、データを自動的に複製して保存するが、書き込みのタイムラグによるデータ不整合を防ぐため、データの整合性を保証している。 |
バージョニング | 複数のバージョンを保管すること。異なるバージョンは別のオブジェクトとして扱える |
ログ | バケット・オブジェクト単位でのログを記録。 |
暗号化 | S3に保存されたデータを自動的に暗号化 |
アクセス制御 | S3バケットに対する権限を設置 |
Webサイトホスティング | S3バケットをWebサイトとして扱う機能 |
S3を使用する流れ
- AWSにログイン
リージョンを選択し、マネジメントコンソールを開く
S3ダッシュボードを開く - バケットを作成
バケット名を設定 - バケットの設定
Webサーバーとして使用する場合はStatic website hostingの設定
アクセスできるユーザーを設定 - ファイルをアップロード
マネジメントコンソールや専用ツールから、ファイルをアップ
オブジェクトとタグ
オブジェクトにはタグを付けられ、このタグはオブジェクトを探すときに使用できる。また、プログラムに渡す設定値として使える。
S3バケット作成時の注意点
S3バケットは作成した後に名前やリージョンを変更することはできない。
Webサーバーとして使用する場合はバケットの公開やドメイン、匿名アクセスの許可を決める必要がある。