ネットワークエンジニアが学ぶAWS

ネットワーク構築のインフラSEがAWSについて学んでいく過程を記事にしていきます!

汎用性の高いストレージ Amazon S3 その②(バージョニング、データの暗号化、暗号化ライフサイクルポリシー)

約 5 分
汎用性の高いストレージ Amazon S3 その②(バージョニング、データの暗号化、暗号化ライフサイクルポリシー)

AWSの代表的なストレージであるAmazon Simple Storage Service(Amazon S3)には、データを保存する上で便利な機能がたくさんあります(「Amazon S3ってそもそも何?」という基本を知りたい方は前回記事を参照してください)。データを保存する上では、「安全に」「安く」「長期間」などの様々な観点を考える必要があります。

今回は、そういった各観点でS3がどういった便利機能を持っているかを説明して行きます。S3には便利な機能がいくつもありますが、中でもよく使う「バージョニング」「データの暗号化」「ライフライクルポリシー」の3つの機能に絞って説明します。

バージョニング

データを世代管理して保存する機能のことを「バージョニング」と呼びます。S3はデータを保存する際に「オブジェクト」という単位で扱います。バージョニングを有効にすると、このオブジェクトの古いデータを残しておきます。PCでwordやexcelを使ったことがある人であれば経験があると思いますが、間違えてファイルを上書きしてしまって前のデータが消えてしまった…なんて経験がありますよね。S3のバージョニングを有効にすると、S3バケットに保存しているファイルを上書きしても、前のデータを残しておくことができます。
S3のバージョニング機能

データの暗号化

S3ではデータ保存時に、暗号化して保存する機能を持っています。S3はインターネットにも公開できるサービスであることから、データをどのように保護していくかが重要になってきます。データを暗号化することで、データが流出してしまった場合にも、解読できなければ中身を見れない状態にしておくことができます。S3でのデータ暗号化には、

・クライアント(※1)側での暗号化
・サーバ(※2)側での暗号化

※1 S3にデータを保存するユーザのこと
※2 Amazon S3のこと

の2つの種類があり、データの暗号化をどこで行うかによって異なります。

  • S3のデータ保存時における暗号化種類

クライアント側での暗号化

「クライアント側での暗号化」では、S3バケットにデータを送信する前に暗号化を行います。具体的な方法としては、

・AWS KMSを使用
・クライアント独自の暗号キーを使用

の2種類があります。

AWSでは「AWS Key Management Service(AWS KMS)」という独自の暗号化サービスを提供しており、これを使ってデータを保存する前に暗号化することができます。暗号に使用するキーをAmazon側で管理してくれるため、暗号化キーの管理が楽です。
次にクライアント独自の暗号化キーを使用して暗号化することもできます。AWS KMSを使用すると、暗号化キーの管理も楽になりますがAWSに暗号化キーがある状態です。暗号化キーを社外に公開できないような環境であれば、クライアント独自の暗号化キーを使うことでより安全にデータを守ることができます。

サーバ側での暗号化

「サーバ側の暗号化」では、データをS3バケットに保存する時に暗号化を行います。この暗号化は「Server Side Encryption(SSE)」と呼ばれ、具体的な方法としては、

・S3の管理キーを使用(SSE-S3)
・AWS KMSを使用(SSE-KMS)
・クライアント独自の暗号キーを使用(SSE-C)

の3種類があります。

「S3の暗号化気を使用(SSE-S3)」の方法では、S3で管理されている暗号化キーを使用して暗号化します。S3で管理している暗号化キーは、各オブジェクトごとに異なるものが用意されるため安全に使用することができます。
「AWS KMSを使用(SSE-KMS)」「クライアント独自の暗号キーを使用(SSE-C)」の2つはクライアント側にもある暗号化の方法になります。

以上の暗号化の種類を表にまとめると下記のようになります。

S3のデータ保存時暗号化の一覧表

※3 S3バケット作成時に暗号化の指定をすることができます

鍵管理の手間を省いて一番簡単にデータを暗号化して保存したい場合には、サーバ側での暗号化にある「SSE-S3」を選択するのがオススメです。デフォルト暗号化にも対応しているため、S3バケットを作成した時点でデータを暗号化して保存する指定をすることができます。

ライフサイクルポリシー

保存期間に応じて、S3バケット内に保存しているデータの保管場所を変更していく機能が「ライフサイクルポリシー」です。これは、機器のログを保管する場合などに有効です。この「ログ」とは、機器が自分の状態について報告する際に発信する情報です。
例えば、機器に障害が起きてしまった場合にはその機器で何が起きていたかを調査する必要があります。この調査に使われるのが「ログ」です。しかしこのログですが、日々保存していくとかなりの量になってしまいます。かと言って参照する可能性もあるため、すぐには消すことができません。

そこでS3のライフサイクルポリシーが有効です。ライフサイクルポリシーは、データを保存してから一定時間が経過したら保存場所を変更したり、データを削除したりと指定しておくことができます。このライフサイクルポリシーを活用して、アクセスが少なくなったデータをより安価なタイプのストレージに移動していくことができます(S3のストレージタイプについて詳しく知りたい方はこちらの記事を参照してください)。

S3でのライフサイクルポリシーによるデータ保管ストレージの移動

このように時間の経過とともに、アクセス頻度が少なくなったデータに関してはコストの安いストレージに移動していくことで、コストを抑えながら確実にデータを残しておくことができます。

まとめ

AWSの代表的なストレージであるAmazon S3についてご紹介しました。S3は高い耐久性を持っているストレージであるため、確実に残しておきたいデータを保存するのに便利なサービスです。データを不正アクセスから守ったり、コストを抑えて保存しておく機能も揃っているため触って一度サービスを使ってみて便利さを確かめてみてください。

Amazon S3はこちらから使用開始

エンジニア向けの資産形成情報を発信中!

将来にお金を残していくための情報発信をしています。友だち登録をしてくださった方には、資産形成の記事を閲覧するためのパスワードもお教えてしてますので、気になる方は下記から登録お願いします(^^)
AWSの資格を取りたい方向けに僕が合格した過去問レポートもプレゼントしています!

友だち追加

About The Author

カワタン
3年半インフラエンジニアとしてネットワーク運用/構築に携わってきましたカワタンです^_^AWSのことを知ってから、このサービスが大好きになって現在猛勉強中です(*^^*)
AWS専門家になって月収150万目指してます!!!
Follow :

Leave A Reply

*
*
* (公開されません)