S3のプロパティ活用
はじめに
AWSで大量データを保存する際はS3の使用は避けて通れません。S3は安価なストレージという機能だけでなく、プロパティでは様々な設定をすることができます。これから紹介する機能を理解していただけたらと幸いです。
プロパティ
まずS3のプロパティを開くところから説明していきます。AWS マネジメントコンソールにサインインし、Amazon S3 コンソールを開きます。そして[バケット名] リストで、プロパティを表示するバケットの名前を選択します。画面が変わったら[プロパティ] タグを選択します。S3のプロパティは2020年6月現在下記の10個の項目があります。以下に関して順番に説明していきます。
①バージョニング
②サーバーアクセスのログ記録
③Static website hosting
④オブジェクトレベルのログ記録
⑤デフォルト暗号化
⑥オブジェクトのロック
⑦Tags
⑧Transfer acceleration
⑨イベント
⑩リクエスタ支払い
①バージョニング
バージョン管理する為の項目です。一度有効化すると削除ができず停止しかできませんので注意が必要です。今回は実際にバージョニングを実演した結果をお見せします。画面のように[バージョニングの有効化]を選択して[保存]を押してください。
バージョニングを確認するためにメモで作成したテキストをアップロードします。URLをクリックするとテキスト中身を見ることができました。
次に先ほどのテキストの内容を変更したものを再アップします。
中身が更新されていることを確認できます。
バージョンの表示設定を切り替えると最新バージョンがありバージョンが2つあることが確認できます。
最新のバージョンを削除してファイルが元に戻るか確認します。
削除すると元のファイル内容に変更されたことが確認できました。
このようにバージョン管理をするとデータの復元が容易になるので非常に便利です。
②サーバーアクセスのログ記録
このサーバーにアクセスしたログを取ることを有効化することができます。有効化することによってバケットを選択すればログを貯めることが可能です。ログを貯めるバケットとしてこの画面から設定可能です。なお、記録する際は以下のことが推奨されているので注意が必要です。
・単一のAWSアカウント
・同じリージョン
※ログ記録が有効になっている場合、ログはソースバケットと同じ AWS リージョンのバケットに保存されます。
・ソースバケットとターゲットバケットは異なるものにする
③Static website hosting
S3を使ってwebサイト簡単に作成することができます。ランディングページなどを見せるだけ、あとはURLで別な所に飛ばすといったことがあるのならばこの機能を使うと便利です。
「このバケットを使用してウェブサイトをホストする」をチェックをして、静的に利用するドキュメント名を入力すれば設定完了です。
④オブジェクトレベルのログ記録
オブジェクト単位でログを有効化して設定するかどうかが可能です。読み込みか書き込みを選択可能です。ただこちらはログごとに追加料金が発生するので注意です。
⑤デフォルト暗号化
バケットのオブジェクトに対してデフォルトで暗号化をかけることができます。2つ選択肢がありましてS3で管理しているキーかKMSという別サービスのキーを使用するかです。キーを使用する場合は事前にキー作成が必要です。
⑥オブジェクトのロック
バケットを作成する際に設定する必要があります。絶対に削除してはいけないバケットを作成したい場合に使用することをお勧めします。
⑦Tags
こちらは名前の通り追加のタグをこちらの画面から設定・管理することが可能です。タグを追加するには、[タグ] を選択し、続いて [タグの追加] を選択します。
⑧Transfer acceleration
エッジロケーションを使用してクライアントとデータを安全に高速に転送することできます。ロケーションによって速度が違うので画面で確認することができます。下の画像のようにリージョンごとに速さに優劣が出てくるので上手く選択して活用しましょう。有効化すればすぐしようできるのですがこちらも有料ですので注意が必要です。
⑨イベント
イベント機能を使ってSNSなどと連動することが可能です。イベントとは何かというと例えば削除したよとかそういった情報を管理者に送る設定をすることができます。送信先はSNS、SQS、Lambdaを選択することができます。SNSはアプリケーション間のメッセージを送信することができます。SNSを先に作成しておく必要があるのですが、配布されたARN選択して保存すればSNSを介してメッセージを受け取ることができます。
⑩リクエスタ支払い
S3はデータの保存量によって課金される仕組みですが、読み込んだ処理に対してもお金が発生していしまいます。そこでこの機能によってデータの読み取り側に課金をする設定が可能です。
まとめ
以上がS3のプロパティについてのご紹介です。私としてはバージョニングとリクエスタ支払いが非常に便利だと感じました。皆さんも是非S3を構築の際はこのプロパティ機能もご活用ください。